[automerger skipped] Specify the component for the ACTION_SHOW_ECM_EXIT_DIALOG Intent am: 11c41d321d am: 46eb4bfb39 am: 4c46c1a119 am: 5384400e3b am: f89a32db01 am: 2804fd0079 -s ours

am skip reason: Change-Id Id5df0b428bd7e24aa11fb9dd4c920d1019f1b389 with SHA-1 e5bd70c0c0 is in history

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

Change-Id: Ibe714d9de7b6946b6f8ba607171f8cb808f782f8
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..1887a8a
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,79 @@
+// Copyright 2019 Google Inc. All rights reserved.
+//
+// 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.
+
+// Build the Phone app which includes the emergency dialer. See Contacts
+// for the 'other' dialer.
+
+android_app {
+    name: "TeleService",
+
+    libs: [
+        "telephony-common",
+        "voip-common",
+        "ims-common",
+        "libprotobuf-java-lite",
+        "unsupportedappusage",
+    ],
+
+    static_libs: [
+        "androidx.appcompat_appcompat",
+        "androidx.preference_preference",
+        "androidx.recyclerview_recyclerview",
+        "androidx.legacy_legacy-preference-v14",
+        "android-support-annotations",
+        "com.android.phone.common-lib",
+        "guava",
+        "PlatformProperties",
+    ],
+
+    srcs: [
+        ":framework-telephony-common-shared-srcs",
+        "src/**/*.java",
+        "sip/src/**/*.java",
+        "ecc/proto/**/*.proto",
+        "src/com/android/phone/EventLogTags.logtags",
+    ],
+
+    jarjar_rules: ":jarjar-rules-shared",
+
+    resource_dirs: [
+        "res",
+        "sip/res",
+    ],
+
+    asset_dirs: [
+        "assets",
+        "ecc/output",
+    ],
+
+    aaptflags: [
+        "--extra-packages com.android.services.telephony.sip",
+    ],
+
+    platform_apis: true,
+
+    certificate: "platform",
+    privileged: true,
+
+    optimize: {
+        proguard_flags_files: [
+            "proguard.flags",
+            "sip/proguard.flags",
+        ],
+    },
+
+    proto: {
+        type: "lite",
+    },
+}
diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 8aff191..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,59 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-# Build the Phone app which includes the emergency dialer. See Contacts
-# for the 'other' dialer.
-include $(CLEAR_VARS)
-
-phone_common_dir := ../../apps/PhoneCommon
-
-src_dirs := src $(phone_common_dir)/src sip/src
-res_dirs := res $(phone_common_dir)/res sip/res
-asset_dirs := assets ecc/output
-
-LOCAL_JAVA_LIBRARIES := \
-        telephony-common \
-        voip-common \
-        ims-common \
-        org.apache.http.legacy \
-        libprotobuf-java-lite
-
-LOCAL_STATIC_ANDROID_LIBRARIES := \
-        androidx.appcompat_appcompat \
-        androidx.preference_preference \
-        androidx.recyclerview_recyclerview \
-        androidx.legacy_legacy-preference-v14
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-        guava \
-        volley \
-        android-support-annotations
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_SRC_FILES += $(call all-proto-files-under, ecc/proto)
-LOCAL_SRC_FILES += \
-        src/com/android/phone/EventLogTags.logtags \
-        src/com/android/phone/INetworkQueryService.aidl \
-        src/com/android/phone/INetworkQueryServiceCallback.aidl
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-LOCAL_ASSET_DIR := $(addprefix $(LOCAL_PATH)/, $(asset_dirs))
-LOCAL_USE_AAPT2 := true
-
-LOCAL_AAPT_FLAGS := \
-    --extra-packages com.android.phone.common \
-    --extra-packages com.android.services.telephony.sip
-
-LOCAL_PACKAGE_NAME := TeleService
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_PRIVILEGED_MODULE := true
-
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags sip/proguard.flags
-
-include frameworks/base/packages/SettingsLib/common.mk
-
-include $(BUILD_PACKAGE)
-
-# Build the test package
-include $(call all-makefiles-under,$(LOCAL_PATH))
-
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a47100b..425440a 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -32,14 +32,12 @@
     <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_CONNECTION_FAILED" />
     <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.NETWORK_SET_TIME" />
-    <protected-broadcast android:name="android.intent.action.NETWORK_SET_TIMEZONE" />
-    <protected-broadcast android:name="com.android.internal.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS" />
+    <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.provider.Telephony.SPN_STRINGS_UPDATED" />
+    <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.data-restart-trysetup" />
     <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
@@ -50,7 +48,8 @@
     <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.Telephony.SMS_EMERGENCY_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" />
@@ -62,7 +61,6 @@
     <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.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
-    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_REPORT_RADIO_BUG" />
     <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" />
@@ -78,7 +76,7 @@
     <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= "com.android.ims.REGISTRATION_ERROR" />
+    <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" />
@@ -92,10 +90,14 @@
     <protected-broadcast android:name= "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
     <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" />
 
     <!-- For Vendor Debugging in Telephony -->
     <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
 
+    <!-- Allows granting runtime permissions to telephony related components. -->
+    <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS" />
+
     <uses-permission android:name="android.permission.BROADCAST_STICKY" />
     <uses-permission android:name="android.permission.CALL_PHONE" />
     <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
@@ -128,8 +130,8 @@
     <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" />
     <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" />
     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
@@ -139,6 +141,7 @@
     <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" />
     <uses-permission android:name="android.permission.BROADCAST_SMS"/>
     <uses-permission android:name="android.permission.BROADCAST_WAP_PUSH"/>
@@ -157,8 +160,11 @@
     <uses-permission android:name="com.android.smspush.WAPPUSH_MANAGER_BIND" />
     <uses-permission android:name="android.permission.MANAGE_USERS" />
     <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
+    <uses-permission android:name="android.permission.READ_CARRIER_APP_INFO" />
     <uses-permission android:name="android.permission.MANAGE_APP_OPS_MODES" />
-    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
+    <uses-permission android:name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS" />
+    <uses-permission android:name="android.permission.NETWORK_FACTORY" />
+    <uses-permission android:name="android.permission.OBSERVE_NETWORK_POLICY" />
     <uses-permission android:name="android.permission.SET_PREFERRED_APPLICATIONS" />
     <uses-permission android:name="android.permission.READ_SEARCH_INDEXABLES" />
     <uses-permission android:name="android.permission.DUMP" />
@@ -169,7 +175,8 @@
     <!-- 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="com.android.permission.BIND_TELEPHONY_NETWORK_SERVICE" />
+    <uses-permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE" />
+    <uses-permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE" />
     <uses-permission android:name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS" />
     <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
     <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
@@ -189,6 +196,9 @@
     <uses-permission android:name="android.permission.WRITE_BLOCKED_NUMBERS" />
     <uses-permission android:name="android.permission.NETWORK_SETTINGS" />
 
+    <!-- Needed to register puller to statsd. -->
+    <uses-permission android:name="android.permission.REGISTER_STATS_PULL_ATOM" />
+
     <!-- This tells the activity manager to not delay any of our activity
          start requests, even if they happen immediately after the user
          presses home. -->
@@ -200,6 +210,11 @@
     <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
     <uses-permission android:name="android.permission.READ_PRECISE_PHONE_STATE" />
     <uses-permission android:name="android.permission.MANAGE_ROLE_HOLDERS" />
+    <!-- Allows us to whitelist receivers of the
+         ACTION_SIM_SLOT_STATUS_CHANGED broadcast to start activities
+         from the background.  -->
+    <uses-permission android:name="android.permission.START_ACTIVITIES_FROM_BACKGROUND" />
+    <uses-permission android:name="android.permission.NETWORK_STATS_PROVIDER" />
 
     <application android:name="PhoneApp"
             android:persistent="true"
@@ -233,6 +248,15 @@
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:scheme="tel" />
             </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.DIAL_EMERGENCY" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.DIAL_EMERGENCY" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="tel" />
+            </intent-filter>
         </activity>
 
         <activity android:name="ADNList" />
@@ -264,39 +288,6 @@
                   android:theme="@android:style/Theme.Translucent.NoTitleBar"
                   android:exported="false"/>
 
-        <!-- "Mobile network settings" screen, used on both
-             non-voice-capable tablets and regular phone devices. -->
-        <activity android:name="MobileNetworkSettings"
-            android:label="@string/network_settings_title"
-            android:theme="@style/NetworkOperatorsSettingsTheme">
-            <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
-                <action android:name="android.intent.action.MAIN" />
-                <action android:name="android.settings.NETWORK_OPERATOR_SETTINGS" />
-                <action android:name="android.settings.DATA_ROAMING_SETTINGS" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
-
-        <activity-alias android:name="Settings"
-            android:targetActivity="MobileNetworkSettings" />
-
-        <!-- networks setting -->
-        <!-- "Choose network" screen. Used only when the Automatically
-             select network turned off-->
-        <activity android:name="NetworkSelectSettingActivity"
-            android:label="@string/choose_network_title"
-            android:theme="@style/NetworkOperatorsSettingsTheme"
-            android:configChanges="orientation|screenSize">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
-
-        <!-- service to handle network query requests sent to RIL -->
-        <service android:name="NetworkQueryService" />
-
         <activity android:name="GsmUmtsCallOptions"
                 android:label="@string/gsm_umts_options"
                 android:theme="@style/DialerSettingsLight">
@@ -454,6 +445,9 @@
             Handler for EuiccManager's resolution intents. These are locked down so that only
             privileged processes can start them, which means we can trust the Intent used to start
             it (which contains a description of the next step to perform after resolution).
+
+            If modified, also change EuiccController#RESOLUTION_ACTIVITY_PACKAGE_NAME and
+            EuiccController#RESOLUTION_ACTIVITY_CLASS_NAME
         -->
         <activity android:name=".euicc.EuiccResolutionUiDispatcherActivity"
             android:permission="android.permission.CALL_PRIVILEGED">
@@ -484,6 +478,21 @@
             </intent-filter>
         </activity>
 
+        <!--
+            Handler for EuiccManager's public action intents. These are public and do not require
+            any special permissions to start, although the calling package name should be
+            whitelisted by the underlying eUICC service implementation (i.e. the LPA).
+        -->
+        <activity android:name=".euicc.EuiccPublicActionUiDispatcherActivity"
+            android:theme="@android:style/Theme.NoDisplay">
+            <!-- Max out priority to ensure nobody else will handle these intents. -->
+            <intent-filter android:priority="1000">
+                <action android:name=
+                    "android.telephony.euicc.action.START_EUICC_ACTIVATION" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name="EmergencyCallbackModeExitDialog"
             android:excludeFromRecents="true"
             android:label="@string/ecm_exit_dialog"
@@ -491,7 +500,7 @@
             android:theme="@android:style/Theme.Translucent.NoTitleBar">
             <intent-filter>
                 <action android:name="com.android.phone.action.ACTION_SHOW_ECM_EXIT_DIALOG" />
-                <action android:name="com.android.internal.intent.action.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS" />
+                <action android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
@@ -508,7 +517,7 @@
 
         <receiver android:name="com.android.services.telephony.sip.SipIncomingCallReceiver">
             <intent-filter>
-                <action android:name="com.android.phone.SIP_INCOMING_CALL" />
+                <action android:name="android.net.sip.action.SIP_INCOMING_CALL" />
             </intent-filter>
         </receiver>
 
@@ -539,6 +548,12 @@
                 android:uiOptions="splitActionBarWhenNarrow">
         </activity>
 
+        <service android:name="com.android.services.telephony.sip.components.TelephonySipService">
+            <intent-filter>
+                <action android:name="android.net.sip.action.START_SIP" />
+            </intent-filter>
+        </service>
+
         <!-- End SIP -->
 
         <activity android:name="MMIDialogActivity"
@@ -631,5 +646,33 @@
                 <action android:name="android.telephony.data.DataService" />
             </intent-filter>
         </service>
+
+        <activity
+            android:name=".settings.RadioInfo"
+            android:label="@string/phone_info_label"
+            android:theme="@style/Theme.AppCompat.DayNight">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".settings.BandMode"
+                  android:label="@string/band_mode_title"
+                  android:theme="@style/Theme.AppCompat.DayNight">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.VOICE_LAUNCH" />
+            </intent-filter>
+        </activity>
+
+        <provider
+            android:name="ServiceStateProvider"
+            android:authorities="service-state"
+            android:exported="true"
+            android:multiprocess="false"
+            android:singleUser="true"
+            android:writePermission="android.permission.MODIFY_PHONE_STATE"/>
     </application>
 </manifest>
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 1321ace..ed8a4da 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -48,3 +48,9 @@
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
 # ************************************************
 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.services.telephony.common_intermediates)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/telephony-common.jar)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/ims-common.jar)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/apex/com.android.telephony/javalib/telephony-common.jar)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/apex/com.android.telephony/javalib/ims-common.jar)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/apex/com.android.telephony.apex)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/TeleServiceLib)
\ No newline at end of file
diff --git a/OWNERS b/OWNERS
index 1ef8344..3059d4d 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,13 +1,15 @@
 amitmahajan@google.com
 breadley@google.com
 fionaxu@google.com
-hallliu@google.com
 jackyu@google.com
+hallliu@google.com
 rgreenwalt@google.com
 tgunn@google.com
-refuhoo@google.com
-mpq@google.com
 jminjie@google.com
 shuoq@google.com
-paulye@google.com
+refuhoo@google.com
 nazaninb@google.com
+sarahchin@google.com
+dbright@google.com
+xiaotonj@google.com
+
diff --git a/TEST_MAPPING b/TEST_MAPPING
new file mode 100644
index 0000000..e75dcb0
--- /dev/null
+++ b/TEST_MAPPING
@@ -0,0 +1,12 @@
+{
+  "presubmit": [
+    {
+      "name": "TeleServiceTests",
+      "options": [
+        {
+          "exclude-annotation": "androidx.test.filters.FlakyTest"
+        }
+      ]
+    }
+  ]
+}
diff --git a/apex/Android.bp b/apex/Android.bp
new file mode 100644
index 0000000..a7137d9
--- /dev/null
+++ b/apex/Android.bp
@@ -0,0 +1,33 @@
+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",
+}
+
+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
new file mode 100644
index 0000000..6f25d7c
--- /dev/null
+++ b/apex/AndroidManifest.xml
@@ -0,0 +1,22 @@
+<?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
new file mode 100644
index 0000000..493d6fd
--- /dev/null
+++ b/apex/apex_manifest.json
@@ -0,0 +1,4 @@
+{
+  "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
new file mode 100644
index 0000000..cba14427
--- /dev/null
+++ b/apex/com.android.telephony.avbpubkey
Binary files differ
diff --git a/apex/com.android.telephony.pem b/apex/com.android.telephony.pem
new file mode 100644
index 0000000..19d8c05
--- /dev/null
+++ b/apex/com.android.telephony.pem
@@ -0,0 +1,51 @@
+-----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
new file mode 100644
index 0000000..b15a884
--- /dev/null
+++ b/apex/com.android.telephony.pk8
Binary files differ
diff --git a/apex/com.android.telephony.x509.pem b/apex/com.android.telephony.x509.pem
new file mode 100644
index 0000000..8b45823
--- /dev/null
+++ b/apex/com.android.telephony.x509.pem
@@ -0,0 +1,35 @@
+-----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
new file mode 100644
index 0000000..10455a4
--- /dev/null
+++ b/apex/testing/Android.bp
@@ -0,0 +1,25 @@
+// 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.
+
+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,
+}
\ No newline at end of file
diff --git a/apex/testing/AndroidManifest.xml b/apex/testing/AndroidManifest.xml
new file mode 100644
index 0000000..e2af9f5
--- /dev/null
+++ b/apex/testing/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<?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
new file mode 100644
index 0000000..30bfda2
--- /dev/null
+++ b/apex/testing/test_manifest.json
@@ -0,0 +1,4 @@
+{
+  "name": "com.android.telephony",
+  "version": 2147483647
+}
\ No newline at end of file
diff --git a/client/res/values-af/strings.xml b/client/res/values-af/strings.xml
new file mode 100644
index 0000000..9e9877c
--- /dev/null
+++ b/client/res/values-af/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobiele data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Foondienste"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Noodbeller"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN-lys"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Kies kontakte om in te voer"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM-/UMTS-opsies"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-opsies"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Oproepinstellings"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Oproepaanstuur"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Oproepblokkering"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-oproepinstellings"</string>
+    <string name="fdn" msgid="1080701466751913822">"Belbeperkingnommers"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Voer PIN2 in"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Vee belbeperkingnommer uit"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Aktiveer/deaktiveer SIM-PIN"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Verander SIM-PIN"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Toeganklikheid"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialoog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ingeboude SIP-oproepe"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Oproeprekeninge"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Stemboodskap"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ingeboude SIM-kaarte"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tabletinligting"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Fooninligting"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Stel radiobandmodus"</string>
+</resources>
diff --git a/client/res/values-am/strings.xml b/client/res/values-am/strings.xml
new file mode 100644
index 0000000..fb1bc40
--- /dev/null
+++ b/client/res/values-am/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"የተንቀሳቃሽ ስልክ ውሂብ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"የስልክ አገልግሎቶች"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"የአደጋ ጊዜ ደዋይ"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"የኤፍዲኤን ዝርዝር"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ለማምጣት ዕውቂያዎችን ይምረጡ"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS አማራጮች"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"የCDMA አማራጮች"</string>
+    <string name="call_settings" msgid="8152058602760531097">"የጥሪ ቅንብሮች"</string>
+    <string name="labelCF" msgid="2140733390678280443">"ጥሪ ማስተላለፍ"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ጥሪ ከልክል"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"የGSM ጥሪ ቅንብሮች"</string>
+    <string name="fdn" msgid="1080701466751913822">"ቋሚ መደወያ ቁጥሮች"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"ፒን2ን ተይብ"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ቋሚ መደወያ ቁጥርን ሰርዝ"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"የሲም ፒን አንቃ/አሰናክል"</string>
+    <string name="change_pin" msgid="7219696137781706635">"የሲም ፒን ለውጥ"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ተደራሽነት"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"ውስጠ ግንቡ SIP መደወያ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"የመደወያ መለያዎች"</string>
+    <string name="voicemail" msgid="9083239047687566742">"የድምፅ መልዕክት"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"አብሮገነብ ሲም ካርዶች"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"የጡባዊ መረጃ"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"የስልክ መረጃ"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"የሬዲዮ ባንድ ሁነታን ያዘጋጁ"</string>
+</resources>
diff --git a/client/res/values-ar/strings.xml b/client/res/values-ar/strings.xml
new file mode 100644
index 0000000..58ff201
--- /dev/null
+++ b/client/res/values-ar/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"بيانات الجوّال"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"خدمات الهاتف"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"برنامج الاتصال في حالات الطوارئ"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"قائمة أرقام الطلب الثابتة"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"اختيار جهات اتصال لاستيرادها"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"‏خيارات نظام GSM/النظام العالمي لاتصالات الجوال عن بعد (UMTS)"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"‏خيارات CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"إعدادات المكالمات"</string>
+    <string name="labelCF" msgid="2140733390678280443">"إعادة توجيه المكالمات"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"منع الاتصال"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"‏إعدادات اتصال نظام GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"أرقام الطلب الثابتة"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"‏كتابة رقم PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"حذف رقم الطلب الثابت"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"‏تفعيل/إيقاف رقم التعريف الشخصي لشريحة SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"‏تغيير رقم التعريف الشخصي لشريحة SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"سهولة الاستخدام"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"‏اتصالات SIP مدمجة"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"حسابات الاتصال"</string>
+    <string name="voicemail" msgid="9083239047687566742">"بريد صوتي"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"‏شرائح SIM المدمجة"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"معلومات الجهاز اللوحي"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"معلومات الهاتف"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ضبط وضع النطاق اللاسلكي"</string>
+</resources>
diff --git a/client/res/values-as/strings.xml b/client/res/values-as/strings.xml
new file mode 100644
index 0000000..51fdb46
--- /dev/null
+++ b/client/res/values-as/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"ম’বাইল ডেটা"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ফ’নৰ সেৱাসমূহ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"জৰুৰীকালীন ডায়েলাৰ"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN তালিকা"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"আমদানি কৰিবলৈ সম্পৰ্কসমূহ বাছনি কৰক"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTSৰ বিকল্পসমূহ"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA বিকল্পসমূহ"</string>
+    <string name="call_settings" msgid="8152058602760531097">"কল ছেটিংসমূহ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"কল ফৰৱাৰ্ডিং"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"কল প্ৰতিবন্ধকতা"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM কল ছেটিংসমূহ"</string>
+    <string name="fdn" msgid="1080701466751913822">"ফিক্সড্‌ ডায়েলিং নম্বৰসমূহ"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2টো টাইপ কৰক"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ফিক্সড্‌ ডায়েলিং নম্বৰটো মচক"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"ছিমৰ পিন সক্ষম/অক্ষম কৰক"</string>
+    <string name="change_pin" msgid="7219696137781706635">"ছিমৰ পিনটো সলনি কৰক"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"সাধ্য সুবিধাসমূহ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"বিল্ট-ইন SIP কলিং"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"কলিং একাউণ্টসমূহ"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ভইচমেইল"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"বিল্ট-ইন ছিম কাৰ্ডসমূহ"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"টেবলেটৰ তথ্য"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ফ’নৰ তথ্য"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ৰেডিঅ’ৰ বেণ্ড ম’ড ছেট কৰক"</string>
+</resources>
diff --git a/client/res/values-az/strings.xml b/client/res/values-az/strings.xml
new file mode 100644
index 0000000..0fbccb5
--- /dev/null
+++ b/client/res/values-az/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobil data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefon xidmətləri"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Təcili nömrə yığan"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN siyahısı"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"İmport etmək üçün kontaktlar seçin"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS seçimləri"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA Seçimləri"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Zəng ayarları"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Zəng yönləndirmə"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Zəng bloklama"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM zəng ayarları"</string>
+    <string name="fdn" msgid="1080701466751913822">"Sabit yığım nömrələri"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PİN2 daxil edin"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Sabit yığım nömrəsini silin"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SİM-in PİN kodunu aktiv/deaktiv edin"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SİM-in PİN kodunu dəyişin"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Əlçatımlılıq"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Daxili SIP zəngi"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Zəng hesabları"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Səsli poçt"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Daxili SİM kartlar"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Planşet məlumatı"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefon məlumatı"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Radio diapazon rejimini quraşdırın"</string>
+</resources>
diff --git a/client/res/values-b+sr+Latn/strings.xml b/client/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..48bd373
--- /dev/null
+++ b/client/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobilni podaci"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefonske usluge"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Brojčanik za hitne pozive"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Lista brojeva za fiksno biranje"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Izaberite kontakte za uvoz"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opcije za GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA opcije"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Podešavanja poziva"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Preusmeravanje poziva"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Ograničavanje poziva"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Podešavanja GSM poziva"</string>
+    <string name="fdn" msgid="1080701466751913822">"Brojevi za fiksno biranje"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Unesite PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Izbrišite broj za fiksno biranje"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Omogućite/onemogućite PIN za SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Promenite PIN za SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Pristupačnost"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ugrađena funkcija SIP pozivanja"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Nalozi za pozivanje"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Govorna pošta"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ugrađene SIM kartice"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informacije o tabletu"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informacije o telefonu"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Podesite režim radijskog opsega"</string>
+</resources>
diff --git a/client/res/values-be/strings.xml b/client/res/values-be/strings.xml
new file mode 100644
index 0000000..6a9caa1
--- /dev/null
+++ b/client/res/values-be/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мабільная перадача даных"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Тэлефонныя службы"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Набіральнік нумара для экстранных сітуацый"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Спіс фіксаваных нумароў"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Выберыце кантакты для імпарту"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Параметры GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Параметры CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Налады выклікаў"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Пераадрасацыя выкліку"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Забарона выкліку"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Налады выклікаў GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Фіксаваныя нумары"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Увядзіце код PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Выдаліць фіксаваны нумар"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Уключэнне/адключэнне PIN-коду SIM-карты"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Змена PIN-кода SIM-карты"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Спецыяльныя магчымасці"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Убудаваная SIP-тэлефанія"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Уліковыя запісы для выклікаў"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Галасавая пошта"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Убудаваныя SIM-карты"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Інфармацыя аб планшэце"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Звесткі аб тэлефоне"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Задаць рэжым радыёдыяпазону"</string>
+</resources>
diff --git a/client/res/values-bg/strings.xml b/client/res/values-bg/strings.xml
new file mode 100644
index 0000000..67d46d4
--- /dev/null
+++ b/client/res/values-bg/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобилни данни"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Телефонни услуги"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Набиране на спешни номера"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Списък с FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Избиране на контакти за импортиране"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Опции за GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Опции за CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Настройки за обаждане"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Прехвърляне на обаждания"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Забрана за обаждания"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Настройки за обаждане с GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Номера за фиксирано набиране"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Въведете PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Изтриване на номера за фиксирано набиране"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Активиране/деактивиране на ПИН за SIM карта"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Промяна на ПИН за SIM картата"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Достъпност"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Вградена услуга за обаждане през SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Профили за обаждане"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Гласова поща"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Вградени SIM карти"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Информация за таблета"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Информация за телефона"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Задаване на режима за радиодиапазона"</string>
+</resources>
diff --git a/client/res/values-bn/strings.xml b/client/res/values-bn/strings.xml
new file mode 100644
index 0000000..6044cbb
--- /dev/null
+++ b/client/res/values-bn/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"মোবাইল ডেটা"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ফোনের পরিষেবা"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"জরুরি ডায়ালার"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN সূচি"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ইম্পোর্ট করার জন্য পরিচিতি বেছে নিন"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS বিকল্প"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA বিকল্প"</string>
+    <string name="call_settings" msgid="8152058602760531097">"কল সেটিংস"</string>
+    <string name="labelCF" msgid="2140733390678280443">"কল ফরওয়ার্ডিং"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"কল নিষিদ্ধ করা"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM কল সেটিংস"</string>
+    <string name="fdn" msgid="1080701466751913822">"ফিক্সড ডায়ালিং নম্বর"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 টাইপ করুন"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ফিক্সড ডায়ালিং নম্বর মুছুন"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"সিমের পিন চালু/বন্ধ করুন"</string>
+    <string name="change_pin" msgid="7219696137781706635">"সিমের পিন পরিবর্তন করুন"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"অ্যাক্সেসিবিলিটি"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"অন্তর্নির্মিত SIP কলিং"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"কলিং অ্যাকাউন্ট"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ভয়েসমেল"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"বিল্ট-ইন সিম কার্ড"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ট্যাবলেটের তথ্য"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ফোনের তথ্য"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"রেডিও ব্যান্ড মোড সেট করুন"</string>
+</resources>
diff --git a/client/res/values-bs/strings.xml b/client/res/values-bs/strings.xml
new file mode 100644
index 0000000..4b48eb9
--- /dev/null
+++ b/client/res/values-bs/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Prijenos podataka na mobilnoj mreži"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefonske usluge"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Brojčana tastatura za hitne pozive"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN lista"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Odaberite kontakte za uvoz"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS opcije"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA opcije"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Postavke poziva"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Prosljeđivanje poziva"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Zabrana poziva"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Postavke za GSM poziv"</string>
+    <string name="fdn" msgid="1080701466751913822">"Brojevi fiksnog biranja"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Upišite PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Izbrišite broj fiksnog biranja"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Omogućite/onemogućite PIN za SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Promijenite PIN za SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Pristupačnost"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ugrađeno SIP pozivanje"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Računi za pozivanje"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Govorna pošta"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ugrađene SIM kartice"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informacije o tabletu"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informacije o telefonu"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Postavite način radijskog opsega"</string>
+</resources>
diff --git a/client/res/values-ca/strings.xml b/client/res/values-ca/strings.xml
new file mode 100644
index 0000000..b48a19d
--- /dev/null
+++ b/client/res/values-ca/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Dades mòbils"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Serveis del telèfon"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Marcador d\'emergència"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Llista d\'FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Selecciona contactes per importar-los"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opcions de GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opcions de CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Configuració de trucades"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Desviació de trucades"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Restricció de trucades"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Configuració de trucades GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Números de marcatge fix"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Escriu el PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Suprimeix el número de marcatge fix"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Activa o desactiva el PIN de la SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Canvia el PIN de la SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibilitat"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Trucades SIP integrades"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Comptes de trucades"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Bústia de veu"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Targetes SIM integrades"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informació de la tauleta"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informació del telèfon"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Configura el mode de banda de senyal mòbil"</string>
+</resources>
diff --git a/client/res/values-cs/strings.xml b/client/res/values-cs/strings.xml
new file mode 100644
index 0000000..44e2301
--- /dev/null
+++ b/client/res/values-cs/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobilní data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefonní služby"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Tísňové volání"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Seznam povolených čísel"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Vyberte kontakty na import"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Možnosti GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Možnosti CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Nastavení hovoru"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Přesměrování hovorů"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Blokování hovorů"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Nastavení hovorů GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Povolená telefonní čísla"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Zadejte kód PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Smazat povolené telefonní číslo"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Povolit nebo zakázat PIN SIM karty"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Změnit PIN SIM karty"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Usnadnění"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"Dialog ukončení režimu tísňového zpětného volání"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Vestavěné volání SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Účty pro volání"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Hlasová schránka"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Vestavěné SIM karty"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informace o tabletu"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informace o telefonu"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Nastavit režim pásma bezdrátového modulu"</string>
+</resources>
diff --git a/client/res/values-da/strings.xml b/client/res/values-da/strings.xml
new file mode 100644
index 0000000..215da60
--- /dev/null
+++ b/client/res/values-da/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobildata"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Opkaldstjenester"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Nødopkald"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Numre til begrænset opkald"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Vælg kontakter, der skal importeres"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Indstillinger for GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Indstillinger for CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Indstillinger for opkald"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Viderestilling af opkald"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Opkaldsspærring"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Indstillinger for GSM-opkald"</string>
+    <string name="fdn" msgid="1080701466751913822">"Numre til begrænset opkald"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Angiv PIN2-kode"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Slet nummer til begrænset opkald"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Aktiver/deaktiver pinkode til SIM-kort"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Skift pinkode til SIM-kort"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Tilgængelighed"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"NttAfslutDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Indbygget SIP-opkald"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Opkaldskonti"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Talebesked"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Indbyggede SIM-kort"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Oplysninger om tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefonoplysninger"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Konfigurer radiobåndstilstand"</string>
+</resources>
diff --git a/client/res/values-de/strings.xml b/client/res/values-de/strings.xml
new file mode 100644
index 0000000..ad6a476
--- /dev/null
+++ b/client/res/values-de/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobile Daten"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefondienste"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Notruf"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Zugelassene Rufnummern"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Kontakte für Import auswählen"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM-/UMTS-Optionen"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-Optionen"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Anrufeinstellungen"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Anrufweiterleitung"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Anrufsperre"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-Anrufeinstellungen"</string>
+    <string name="fdn" msgid="1080701466751913822">"Rufnummernbeschränkung"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 eingeben"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Zugelassene Rufnummer löschen"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"PIN für SIM-Karte aktivieren/deaktivieren"</string>
+    <string name="change_pin" msgid="7219696137781706635">"PIN für SIM-Karte ändern"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Bedienungshilfen"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Integrierte SIP-Telefonie"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Anrufkonten"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Mailbox"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Integrierte SIM-Karten"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tablet-Informationen"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Über das Telefon"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Frequenzbereichmodus festlegen"</string>
+</resources>
diff --git a/client/res/values-el/strings.xml b/client/res/values-el/strings.xml
new file mode 100644
index 0000000..4ca4469
--- /dev/null
+++ b/client/res/values-el/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Δεδομένα κινητής τηλεφωνίας"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Υπηρεσίες τηλεφώνου"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Πρόγραμμα κλήσης έκτακτης ανάγκης"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Λίστα FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Επιλέξτε επαφές προς εισαγωγή"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Επιλογές GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Επιλογές CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Ρυθμίσεις κλήσης"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Προώθηση κλήσης"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Φραγή κλήσεων"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Ρυθμίσεις κλήσης GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Καθορισμένοι αριθμοί κλήσης"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Τύπος PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Διαγραφή καθορισμένου αριθμού κλήσης"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Ενεργοποίηση/απενεργοποίηση αριθμού PIN της κάρτας SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Αλλαγή αριθμού PIN κάρτας SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Προσβασιμότητα"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"Παράθυρο διαλόγου εξόδου από λειτουργία κλήσης έκτακτης ανάγκης"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ενσωματωμένη υπηρεσία κλήσεων SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Λογαριασμοί κλήσης"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Αυτόματος τηλεφωνητής"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ενσωματωμένες κάρτες SIM"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Πληροφορίες tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Πληροφορίες τηλεφώνου"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Ρύθμιση λειτουργίας ζώνης συχνοτήτων πομπού"</string>
+</resources>
diff --git a/client/res/values-en-rAU/strings.xml b/client/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..357fd69
--- /dev/null
+++ b/client/res/values-en-rAU/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobile data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Phone services"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Emergency dialler"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN list"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Select contacts to be imported"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS options"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA options"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Call settings"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Call forwarding"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Call barring"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM call settings"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fixed dialling numbers"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Type PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Delete fixed dialling number"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Enable/disable SIM PIN"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Change SIM PIN"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibility"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialogue"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Built-in SIP calling"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Calling accounts"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Voicemail"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Built-in SIM cards"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Phone info"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Set radio band mode"</string>
+</resources>
diff --git a/client/res/values-en-rCA/strings.xml b/client/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..357fd69
--- /dev/null
+++ b/client/res/values-en-rCA/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobile data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Phone services"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Emergency dialler"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN list"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Select contacts to be imported"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS options"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA options"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Call settings"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Call forwarding"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Call barring"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM call settings"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fixed dialling numbers"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Type PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Delete fixed dialling number"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Enable/disable SIM PIN"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Change SIM PIN"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibility"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialogue"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Built-in SIP calling"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Calling accounts"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Voicemail"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Built-in SIM cards"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Phone info"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Set radio band mode"</string>
+</resources>
diff --git a/client/res/values-en-rGB/strings.xml b/client/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..357fd69
--- /dev/null
+++ b/client/res/values-en-rGB/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobile data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Phone services"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Emergency dialler"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN list"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Select contacts to be imported"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS options"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA options"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Call settings"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Call forwarding"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Call barring"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM call settings"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fixed dialling numbers"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Type PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Delete fixed dialling number"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Enable/disable SIM PIN"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Change SIM PIN"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibility"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialogue"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Built-in SIP calling"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Calling accounts"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Voicemail"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Built-in SIM cards"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Phone info"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Set radio band mode"</string>
+</resources>
diff --git a/client/res/values-en-rIN/strings.xml b/client/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..357fd69
--- /dev/null
+++ b/client/res/values-en-rIN/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobile data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Phone services"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Emergency dialler"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN list"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Select contacts to be imported"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS options"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA options"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Call settings"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Call forwarding"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Call barring"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM call settings"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fixed dialling numbers"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Type PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Delete fixed dialling number"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Enable/disable SIM PIN"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Change SIM PIN"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibility"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialogue"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Built-in SIP calling"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Calling accounts"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Voicemail"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Built-in SIM cards"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Phone info"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Set radio band mode"</string>
+</resources>
diff --git a/client/res/values-en-rXC/strings.xml b/client/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..bd9de85
--- /dev/null
+++ b/client/res/values-en-rXC/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎Mobile Data‎‏‎‎‏‎"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‎Phone Services‎‏‎‎‏‎"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎Emergency Dialer‎‏‎‎‏‎"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎FDN list‎‏‎‎‏‎"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‎Select contacts to import‎‏‎‎‏‎"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎GSM/UMTS Options‎‏‎‎‏‎"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎CDMA Options‎‏‎‎‏‎"</string>
+    <string name="call_settings" msgid="8152058602760531097">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‎Call settings‎‏‎‎‏‎"</string>
+    <string name="labelCF" msgid="2140733390678280443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‎‏‏‎Call forwarding‎‏‎‎‏‎"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‎‎Call barring‎‏‎‎‏‎"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‏‏‎‏‎GSM call settings‎‏‎‎‏‎"</string>
+    <string name="fdn" msgid="1080701466751913822">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎Fixed Dialing Numbers‎‏‎‎‏‎"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎Type PIN2‎‏‎‎‏‎"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎Delete fixed dialing number‎‏‎‎‏‎"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎Enable/disable SIM PIN‎‏‎‎‏‎"</string>
+    <string name="change_pin" msgid="7219696137781706635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎Change SIM PIN‎‏‎‎‏‎"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‎Accessibility‎‏‎‎‏‎"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎EcmExitDialog‎‏‎‎‏‎"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎Built-in SIP calling‎‏‎‎‏‎"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‎‎‎‎‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎Calling accounts‎‏‎‎‏‎"</string>
+    <string name="voicemail" msgid="9083239047687566742">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎Voicemail‎‏‎‎‏‎"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎Built-in SIM cards‎‏‎‎‏‎"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‏‎‎Tablet info‎‏‎‎‏‎"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎Phone info‎‏‎‎‏‎"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‎‎Set Radio Band Mode‎‏‎‎‏‎"</string>
+</resources>
diff --git a/client/res/values-es-rUS/strings.xml b/client/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..338b6b8
--- /dev/null
+++ b/client/res/values-es-rUS/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Datos móviles"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Servicios telefónicos"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Marcador de emergencia"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Lista de NMF"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Seleccionar contactos para importar"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opciones de GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opciones de CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Configuración de llamadas"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Desvío de llamadas"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Restricción de llamadas"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Configuración de llamadas de GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Marcación fija"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Ingresar el PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Borrar número de marcación fija"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Habilitar/inhabilitar PIN de tarjeta SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Cambiar PIN de SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accesibilidad"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Llamadas SIP integradas"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Cuentas telefónicas"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Buzón de voz"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Tarjetas SIM integradas"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Información de la tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Información del dispositivo"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Establecer modo de banda de radio"</string>
+</resources>
diff --git a/client/res/values-es/strings.xml b/client/res/values-es/strings.xml
new file mode 100644
index 0000000..7836aca
--- /dev/null
+++ b/client/res/values-es/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Datos móviles"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Servicios del teléfono"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Llamada de emergencia"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Lista de FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Seleccionar contactos para importarlos"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opciones GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opciones de CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Ajustes de llamadas"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Desvío de llamadas"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Bloqueo de llamadas"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Ajustes de llamadas GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Números de marcación fija"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Introducir código PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Eliminar número de marcación fija"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Habilitar o inhabilitar PIN de tarjeta SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Cambiar PIN de la tarjeta SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accesibilidad"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Llamadas SIP integradas"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Cuentas de llamadas"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Buzón de voz"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Tarjetas SIM integradas"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Información del tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Información sobre el teléfono"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Establecer modo de banda de señal móvil"</string>
+</resources>
diff --git a/client/res/values-et/strings.xml b/client/res/values-et/strings.xml
new file mode 100644
index 0000000..583e3c6
--- /dev/null
+++ b/client/res/values-et/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobiilne andmeside"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefoniteenused"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Hädaabikõne valija"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN-i loend"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Valige imporditavad kontaktid"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM-i/UMTS-i valikud"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA valikud"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Kõne seaded"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Kõne suunamine"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Kõnede blokeerimine"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-kõneseaded"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fikseeritud valimisnumbrid"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Sisestage PIN2-kood"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Kustuta fikseeritud valimisnumber"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM-i PIN-koodi lubamine/keelamine"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Muuda SIM-kaardi PIN-koodi"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Hõlbustus"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Sisseehitatud SIP-kõnede tegemine"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Kõnekontod"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Kõnepost"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Sisseehitatud SIM-kaardid"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Teave tahvelarvuti kohta"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefoniteave"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Raadio ribarežiimi määramine"</string>
+</resources>
diff --git a/client/res/values-eu/strings.xml b/client/res/values-eu/strings.xml
new file mode 100644
index 0000000..3bd2b1c
--- /dev/null
+++ b/client/res/values-eu/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Datu-konexioa"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefonoaren zerbitzuak"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Larrialdietarako markagailua"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN zenbakien zerrenda"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Hautatu inportatu beharreko kontaktuak"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS aukerak"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA aukerak"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Dei-ezarpenak"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Dei-desbideratzea"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Deiak debekatzeko aukera"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM deien ezarpenak"</string>
+    <string name="fdn" msgid="1080701466751913822">"Markatze finkoko zenbakiak"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Idatzi PIN2 kodea"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Ezabatu markatze finkoko zenbakia"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Gaitu/Desgaitu SIM txartelaren PIN kodea"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Aldatu SIMaren PIN kodea"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Erabilerraztasuna"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"SIP dei integratuak"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Deiak egiteko kontuak"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Ahots-mezua"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"SIM txartel integratuak"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tabletaren informazioa"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefonoaren informazioa"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Ezarri irrati-bandaren modua"</string>
+</resources>
diff --git a/client/res/values-fa/strings.xml b/client/res/values-fa/strings.xml
new file mode 100644
index 0000000..d2e67b3
--- /dev/null
+++ b/client/res/values-fa/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"داده‌ تلفن همراه"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"سرویس‌های تلفن"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"شماره‌گیر اضطراری"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"‏فهرست FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"انتخاب مخاطبین برای وارد کردن"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"‏گزینه‌های GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"‏گزینه‌های CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"تنظیمات تماس"</string>
+    <string name="labelCF" msgid="2140733390678280443">"هدایت تماس"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"محدودیت تماس"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"‏تنظیمات تماس GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"شماره‌های شماره‌گیری ثابت"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"تایپ پین۲"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"حذف شماره شماره‌گیری ثابت"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"فعال کردن/غیرفعال کردن پین سیم"</string>
+    <string name="change_pin" msgid="7219696137781706635">"تغییر پین سیم"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"دسترس‌پذیری"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"‏تماس SIP داخلی"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"حساب‌های تماس"</string>
+    <string name="voicemail" msgid="9083239047687566742">"پست صوتی"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"سیم‌کارت‌های داخلی"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"اطلاعات رایانه لوحی"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"اطلاعات تلفن"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"تنظیم حالت باند رادیو"</string>
+</resources>
diff --git a/client/res/values-fi/strings.xml b/client/res/values-fi/strings.xml
new file mode 100644
index 0000000..75f0ab9
--- /dev/null
+++ b/client/res/values-fi/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobiilidata"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Puhelinpalvelut"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Hätäpuhelut"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Sallittujen numeroiden luettelo"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Valitse tuotavat yhteystiedot"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS-asetukset"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-asetukset"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Puheluasetukset"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Soitonsiirto"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Puhelujen esto"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-puheluasetukset"</string>
+    <string name="fdn" msgid="1080701466751913822">"Sallitut numerot"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Anna PIN2-koodi"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Poista sallittu numero"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Ota SIM-kortin PIN-koodi käyttöön / poista koodi käytöstä"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Muuta SIM-kortin PIN"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Esteettömyys"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Sisäänrakennetut SIP-puhelut"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Puhelutilit"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Puhelinvastaaja"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Sisäiset SIM-kortit"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tabletin tiedot"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Puhelimen tiedot"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Radion taajuustilan valinta"</string>
+</resources>
diff --git a/client/res/values-fr-rCA/strings.xml b/client/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..c4070f6
--- /dev/null
+++ b/client/res/values-fr-rCA/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Données cellulaires"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Services téléphoniques"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Composeur d\'urgence"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Liste de NAF"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Sélectionner les contacts à importer"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Options GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Options CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Paramètres d\'appel"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Transfert d\'appel"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Interdiction d\'appel"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Paramètres d\'appel GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Numéros d\'appel fixe"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Entrer le NIP2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Supprimer un numéro autorisé"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Activer/désactiver le NIP de la carte SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Modifier le NIP de la carte SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibilité"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Appels SIP intégrés"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Comptes d\'appel"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Messagerie vocale"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Cartes SIM intégrées"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informations sur la tablette"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informations sur le téléphone"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Définir le mode de bande radio"</string>
+</resources>
diff --git a/client/res/values-fr/strings.xml b/client/res/values-fr/strings.xml
new file mode 100644
index 0000000..0966a9a
--- /dev/null
+++ b/client/res/values-fr/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Données mobiles"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Services téléphoniques"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Appels d\'urgence"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Liste de numéros autorisés"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Sélectionner les contacts à importer"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Options GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Options CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Paramètres d\'appel"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Transfert d\'appel"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Interdiction d\'appel"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Paramètres d\'appel GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Numéros autorisés"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Saisir le code PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Supprimer un numéro autorisé"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Activer/désactiver le code PIN de la carte SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Modifier le code PIN de la carte SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibilité"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Appels SIP intégrés"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Comptes téléphoniques"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Messagerie vocale"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Cartes SIM intégrées"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informations sur la tablette"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informations sur le téléphone"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Définir le mode de bande radio"</string>
+</resources>
diff --git a/client/res/values-gl/strings.xml b/client/res/values-gl/strings.xml
new file mode 100644
index 0000000..cdce574
--- /dev/null
+++ b/client/res/values-gl/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Datos móbiles"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Servizos de telefonía"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Marcador de emerxencia"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Lista de NMF"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Seleccionar contactos para importar"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opcións de GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opcións de CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Configuración de chamada"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Desvío de chamadas"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Restrición de chamadas"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Configuración de chamadas GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Números de marcación fixa"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Escribir PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Eliminar número de marcación fixa"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Activar ou desactivar o PIN da SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Cambiar PIN da SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accesibilidade"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Chamadas SIP integradas"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Contas de chamadas"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Correo de voz"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Tarxetas SIM integradas"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Información da tableta"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Información do teléfono"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Definir modo de banda do sinal móbil"</string>
+</resources>
diff --git a/client/res/values-gu/strings.xml b/client/res/values-gu/strings.xml
new file mode 100644
index 0000000..6c2d5a8
--- /dev/null
+++ b/client/res/values-gu/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"મોબાઇલ ડેટા"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ફોન સેવાઓ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ઇમર્જન્સી ડાયલર"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDNની સૂચિ"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"આયાત કરવા માટે સંપર્કો પસંદ કરો"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTSના વિકલ્પો"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA વિકલ્પો"</string>
+    <string name="call_settings" msgid="8152058602760531097">"કૉલ સેટિંગ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"કૉલ ફૉરવર્ડિંગ"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"કૉલ અવરોધન"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM કૉલ સેટિંગ"</string>
+    <string name="fdn" msgid="1080701466751913822">"ફિક્સ્ડ ડાયલિંગ નંબર"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"પિન2 ટાઇપ કરો"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ફિક્સ્ડ ડાયલિંગ નંબર ડિલીટ કરો"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"સિમનો પિન ચાલુ/બંધ કરો"</string>
+    <string name="change_pin" msgid="7219696137781706635">"સિમનો પિન બદલો"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ઍક્સેસિબિલિટી"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"બિલ્ટ-ઇન SIP કૉલિંગ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"કૉલિંગ એકાઉન્ટ"</string>
+    <string name="voicemail" msgid="9083239047687566742">"વૉઇસમેઇલ"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"બિલ્ટ-ઇન સિમ કાર્ડ"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ટૅબ્લેટ વિશે માહિતી"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ફોનની માહિતી"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"રેડિયો બૅન્ડ મોડ સેટ કરો"</string>
+</resources>
diff --git a/client/res/values-hi/strings.xml b/client/res/values-hi/strings.xml
new file mode 100644
index 0000000..cc84a0d
--- /dev/null
+++ b/client/res/values-hi/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"मोबाइल डेटा"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"फ़ोन सेवाएं"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"आपातकालीन डायलर"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"एफ़डीएन सूची"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"इंपोर्ट करने के लिए संपर्कों को चुनें"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS के विकल्प"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA विकल्प"</string>
+    <string name="call_settings" msgid="8152058602760531097">"कॉल की सेटिंग"</string>
+    <string name="labelCF" msgid="2140733390678280443">"कॉल को दूसरे नंबर पर भेजना"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"कॉल रोकना"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM कॉल सेटिंग"</string>
+    <string name="fdn" msgid="1080701466751913822">"फ़िक्स्ड डायलिंग नंबर"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"पिन2 लिखें"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"फ़िक्स्ड डायलिंग नंबर मिटाएं"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"सिम कार्ड का पिन चालू/बंद करें"</string>
+    <string name="change_pin" msgid="7219696137781706635">"सिम कार्ड का पिन बदलें"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"सुलभता"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"अंतर्निहित SIP कॉलिंग"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"कॉलिंग खाते"</string>
+    <string name="voicemail" msgid="9083239047687566742">"वॉइसमेल"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"पहले से मौजूद सिम कार्ड"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"टैबलेट की जानकारी"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"फ़ोन की जानकारी"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"रेडियो बैंड मोड सेट करें"</string>
+</resources>
diff --git a/client/res/values-hr/strings.xml b/client/res/values-hr/strings.xml
new file mode 100644
index 0000000..63aa21d
--- /dev/null
+++ b/client/res/values-hr/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobilni podaci"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefonske usluge"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Brojčanik za hitne pozive"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Popis FDN brojeva"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Odabir kontakata za uvoz"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opcije za GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA opcije"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Postavke poziva"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Preusmjeravanje poziva"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Zabrana poziva"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Postavke GSM poziva"</string>
+    <string name="fdn" msgid="1080701466751913822">"Brojevi za fiksno biranje"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Upišite PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Izbrišite broj za fiksno biranje"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Omogući/onemogući PIN za SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Promjena PIN-a za SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Pristupačnost"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ugrađeni SIP pozivi"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Pozivanje računa"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Govorna pošta"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ugrađene SIM kartice"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informacije o tabletnom uređaju"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informacije o telefonu"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Postavi način radijske frekvencije"</string>
+</resources>
diff --git a/client/res/values-hu/strings.xml b/client/res/values-hu/strings.xml
new file mode 100644
index 0000000..84442e6
--- /dev/null
+++ b/client/res/values-hu/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobiladatok"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefonszolgáltatás"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Segélyhívó tárcsázó"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Fix hívószámok listája"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Válassza ki az importálni kívánt névjegyeket"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS beállításai"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-beállítások"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Hívásbeállítások"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Hívásátirányítás"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Híváskorlátozás"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-hívásbeállítások"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fix hívószámok"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Írja be a PIN2-kódot"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Fix hívószám törlése"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM-kártya PIN-kódjának be-/kikapcsolása"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN-kódjának módosítása"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Kisegítő lehetőségek"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Beépített SIP-hívás"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Telefonos fiókok"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Hangposta"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Beépített SIM-kártyák"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Táblagép adatai"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefon adatai"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Rádióhullámsáv mód beállítása"</string>
+</resources>
diff --git a/client/res/values-hy/strings.xml b/client/res/values-hy/strings.xml
new file mode 100644
index 0000000..1bd85cd
--- /dev/null
+++ b/client/res/values-hy/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Բջջային ինտերնետ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Հեռախոսի ծառայություններ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Արտակարգ իրավիճակների համարհավաքիչ"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN ցուցակ"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Ընտրեք կոնտակտներ ներմուծման համար"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ընտրանքներ"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA ընտրանքներ"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Զանգերի կարգավորումներ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Զանգի վերահասցեավորում"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Զանգերի արգելափակում"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM զանգերի կարգավորումներ"</string>
+    <string name="fdn" msgid="1080701466751913822">"Թույլատրված հեռախոսահամարներ"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Մուտքագրեք PIN2-ը"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Ջնջել թույլատրված հեռախոսահամարը"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Միացնել/անջատել SIM քարտի PIN կոդը"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM քարտի PIN կոոդի փոփոխում"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Հատուկ գործառույթներ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"SIP-ի միջոցով զանգերի ներկառուցված ծառայություն"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Հաշիվներ զանգերի համար"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Ձայնային փոստ"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ներկառուցված SIM քարտեր"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Պլանշետի մասին տեղեկություններ"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Հեռախոսի մասին տեղեկություններ"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Կարգավորել հաճախությունների շերտի ռեժիմը"</string>
+</resources>
diff --git a/client/res/values-in/strings.xml b/client/res/values-in/strings.xml
new file mode 100644
index 0000000..7be70c4
--- /dev/null
+++ b/client/res/values-in/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Data Seluler"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Layanan Telepon"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Telepon Darurat"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Daftar NPT"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Pilih kontak untuk diimpor"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opsi GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opsi CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Setelan panggilan"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Penerusan panggilan"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Pemblokiran panggilan"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Setelan panggilan GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Panggilan Terbatas (FDN)"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Ketik PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Hapus nomor panggilan terbatas"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Aktifkan/nonaktifkan PIN SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Ubah PIN SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Aksesibilitas"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Panggilan SIP built-in"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Akun panggilan"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Pesan Suara"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Kartu SIM internal"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Info tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Info telepon"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Setel Mode Band Radio"</string>
+</resources>
diff --git a/client/res/values-is/strings.xml b/client/res/values-is/strings.xml
new file mode 100644
index 0000000..83974b3
--- /dev/null
+++ b/client/res/values-is/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Farsímagögn"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Símaþjónusta"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Neyðarnúmeraval"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Listi yfir fast númeraval"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Veldu tengiliði til að flytja inn"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Valkostir GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-valkostir"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Símtalsstillingar"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Símtalsflutningur"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Útilokun símtala"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-símtalsstillingar"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fast númeraval"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Sláðu inn PIN2-númerið"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Eyða föstu númeravali"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Gera PIN-númer SIM-korts virkt eða óvirkt"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Breyta PIN-númeri SIM-korts"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Aðgengi"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Innbyggð SIP-símtöl"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Símtalareikningar"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Talhólf"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Innbyggð SIM-kort"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Upplýsingar um spjaldtölvu"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Upplýsingar um síma"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Velja útvarpstíðni"</string>
+</resources>
diff --git a/client/res/values-it/strings.xml b/client/res/values-it/strings.xml
new file mode 100644
index 0000000..48a79c5
--- /dev/null
+++ b/client/res/values-it/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Dati mobili"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Phone Services"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Telefono di emergenza"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Elenco numeri consentiti"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Seleziona contatti da importare"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opzioni GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opzioni CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Impostazioni chiamate"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Deviazione chiamate"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Blocco chiamate"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Impostazioni di chiamata GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Numeri consentiti"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Digita PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Elimina numeri consentiti"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Attiva/disattiva PIN di SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Cambia PIN della SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accessibilità"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Chiamate SIP incorporate"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Account di chiamata"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Segreteria"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Schede SIM integrate"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Info tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Info telefono"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Imposta modalità banda radio"</string>
+</resources>
diff --git a/client/res/values-iw/strings.xml b/client/res/values-iw/strings.xml
new file mode 100644
index 0000000..24f0d80
--- /dev/null
+++ b/client/res/values-iw/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"חבילת גלישה"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"שירותי טלפון"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"חייגן חירום"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"רשימת מספרים קבועים לחיוג"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"בחירת אנשי קשר לייבוא"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"‏אפשרויות GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"‏אפשרויות CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"הגדרות השיחה"</string>
+    <string name="labelCF" msgid="2140733390678280443">"העברת שיחות"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"חסימת שיחות"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"‏הגדרות שיחה של GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"מספרים קבועים לחיוג"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"‏צריך להזין את קוד הגישה (PIN2)"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"מחיקת מספר קבוע לחיוג"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"‏הפעלה/השבתה של קוד גישה לכרטיס ה-SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"‏שינוי קוד הגישה של ה-SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"נגישות"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"‏שיחות SIP מובנות"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"חשבונות לשיחות"</string>
+    <string name="voicemail" msgid="9083239047687566742">"דואר קולי"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"‏כרטיסי SIM מובנים"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"פרטי הטאבלט"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"פרטי הטלפון"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"הגדרת מצב תדרים של רדיו"</string>
+</resources>
diff --git a/client/res/values-ja/strings.xml b/client/res/values-ja/strings.xml
new file mode 100644
index 0000000..c1994aa
--- /dev/null
+++ b/client/res/values-ja/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"モバイルデータ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"電話サービス"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"緊急通報"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"発信番号制限リスト"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"インポートする連絡先の選択"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM / UMTS オプション"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA オプション"</string>
+    <string name="call_settings" msgid="8152058602760531097">"通話設定"</string>
+    <string name="labelCF" msgid="2140733390678280443">"電話の転送"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"通話制限"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM 通話設定"</string>
+    <string name="fdn" msgid="1080701466751913822">"発信番号制限"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 を入力"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"発信番号制限の削除"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PIN の有効化 / 無効化"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN の変更"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ユーザー補助機能"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"内蔵SIP通話機能"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"通話アカウント"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ボイスメール"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"内蔵の SIM カード"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"タブレット情報"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"スマートフォン情報"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"無線バンドモードの設定"</string>
+</resources>
diff --git a/client/res/values-ka/strings.xml b/client/res/values-ka/strings.xml
new file mode 100644
index 0000000..16a6718
--- /dev/null
+++ b/client/res/values-ka/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"მობილური ინტერნეტი"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ტელეფონის სერვისები"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"გადაუდებელი ზარის აკრეფა"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN სია"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"აირჩიეთ კონტაქტი იმპორტისთვის"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ვარიანტები"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA პარამეტრები"</string>
+    <string name="call_settings" msgid="8152058602760531097">"ზარის პარამეტრები"</string>
+    <string name="labelCF" msgid="2140733390678280443">"ზარის გადამისამართება"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ზარების აკრძალვა"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM ზარის პარამეტრები"</string>
+    <string name="fdn" msgid="1080701466751913822">"დაშვებული ნომრები"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"აკრიფეთ PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"დაშვებული ნომრის წაშლა"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PIN-ის გააქტიურება/გამორთვა"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN-ის შეცვლა"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"მარტივი წვდომა"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"ჩაშენებული SIP ზარში"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"დარეკვის ანგარიშები"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ხმოვანი ფოსტა"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ჩაშენებული SIM ბარათები"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ინფორმაცია ტაბლეტის შესახებ"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ინფორმაცია ტელეფონის შესახებ"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"რადიოდიაპაზონის რეჟიმის დაყენება"</string>
+</resources>
diff --git a/client/res/values-kk/strings.xml b/client/res/values-kk/strings.xml
new file mode 100644
index 0000000..bddfa14
--- /dev/null
+++ b/client/res/values-kk/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобильдік интернет"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Телефон қызметтері"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Құтқару қызметінің нөмірін тергіш"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"ТТН тізімі"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Импортталатын контактілерді таңдау"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS опциялары"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA (кең жолақты әртүрлі кодты бірнеше қол жетімділік) опциялары"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Қоңырау параметрлері"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Қоңырауды басқа нөмірге бағыттау"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Қоңырауды бөгеу"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM қоңырауының параметрлері"</string>
+    <string name="fdn" msgid="1080701466751913822">"Рұқсат нөмірлері"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 кодын теріңіз"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Рұқсат нөмірлерін жою"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PIN кодын іске қосу/істен шығару"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN кодын өзгерту"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Арнайы мүмкіндіктер"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"КММтерезесіненШығу"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Кірістірілген SIP қоңыраулары"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Қоңырау шалатын есептік жазбалар"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Дауыстық пошта"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Кірістірілген SIM карталары"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Планшет туралы ақпарат"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Телефон ақпараты"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Радиожолақ режимін орнату"</string>
+</resources>
diff --git a/client/res/values-km/strings.xml b/client/res/values-km/strings.xml
new file mode 100644
index 0000000..553b30b
--- /dev/null
+++ b/client/res/values-km/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"ទិន្នន័យ​ទូរសព្ទ​ចល័ត"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"សេវា​ទូរសព្ទ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ផ្ទាំង​ចុច​ហៅ​ទូរសព្ទ​ទៅ​លេខ​សង្គ្រោះ​បន្ទាន់"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"បញ្ជី FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ជ្រើសរើស​ទំនាក់ទំនង​ដែល​ត្រូវ​នាំចូល"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"ជម្រើស GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"ជម្រើស CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"ការកំណត់​ការហៅ​ទូរសព្ទ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"ការហៅ​បន្ត"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ការរារាំង​ការហៅ​ទូរសព្ទ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"ការកំណត់​ការហៅ​ទូរសព្ទ GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"លេខ​ហៅ​ថេរ"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"វាយ​បញ្ចូល​កូដ PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"លុប​លេខ​ហៅ​ថេរ"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"បិទ/បើក​កូដ PIN ស៊ីម"</string>
+    <string name="change_pin" msgid="7219696137781706635">"ប្ដូរ​កូដ PIN ស៊ីម"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ភាពងាយស្រួល"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"ភ្ជាប់មកជាមួយការហៅ SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"គណនី​ហៅ​ទូរសព្ទ"</string>
+    <string name="voicemail" msgid="9083239047687566742">"សារ​ជា​សំឡេង"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ស៊ីមកាត​ជាប់​ជាមួយ​ស្រាប់"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ព័ត៌មាន​ថេប្លេត"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ព័ត៌មាន​ទូរសព្ទ"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"កំណត់​មុខងារ​កម្រិត​បញ្ជូន​វិទ្យុ"</string>
+</resources>
diff --git a/client/res/values-kn/strings.xml b/client/res/values-kn/strings.xml
new file mode 100644
index 0000000..a18862d
--- /dev/null
+++ b/client/res/values-kn/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"ಮೊಬೈಲ್ ಡೇಟಾ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ಫೋನ್ ಸೇವೆಗಳು"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ತುರ್ತು ಡಯಲರ್"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN ಪಟ್ಟಿ"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ಆಮದು ಮಾಡಲು ಸಂಪರ್ಕಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ಆಯ್ಕೆಗಳು"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA ಆಯ್ಕೆಗಳು"</string>
+    <string name="call_settings" msgid="8152058602760531097">"ಕರೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="labelCF" msgid="2140733390678280443">"ಕರೆ ಫಾರ್ವರ್ಡ್‌ ಮಾಡುವಿಕೆ"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ಕರೆ ನಿಷೇಧಿಸುವಿಕೆ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM ಕರೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="fdn" msgid="1080701466751913822">"ಸ್ಥಿರ ಡಯಲಿಂಗ್‌‌ ಸಂಖ್ಯೆಗಳು"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"ಪಿನ್2 ಅನ್ನು ಟೈಪ್‌ ಮಾಡಿ"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ಸ್ಥಿರ ಡಯಲಿಂಗ್‌‌ ಸಂಖ್ಯೆಯನ್ನು ಅಳಿಸಿ"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"ಸಿಮ್‌ ಪಿನ್‌ ಸಕ್ರಿಯಗೊಳಿಸಿ/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="change_pin" msgid="7219696137781706635">"ಸಿಮ್‌ ಪಿನ್‌ ಬದಲಾಯಿಸಿ"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ಪ್ರವೇಶಿಸುವಿಕೆ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"ಅಂತರ್ನಿರ್ಮಿತ ಎಸ್‌ಐಪಿ ಕರೆ ಮಾಡುವಿಕೆ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"ಕರೆ ಮಾಡುವ ಖಾತೆಗಳು"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ಧ್ವನಿಮೇಲ್"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ಅಂತರ್ನಿರ್ಮಿತ ಸಿಮ್‌ ಕಾರ್ಡ್‌ಗಳು"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ಟ್ಯಾಬ್ಲೆಟ್ ಮಾಹಿತಿ"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ಫೋನ್ ಮಾಹಿತಿ"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಮೋಡ್ ಹೊಂದಿಸಿ"</string>
+</resources>
diff --git a/client/res/values-ko/strings.xml b/client/res/values-ko/strings.xml
new file mode 100644
index 0000000..f25c61f
--- /dev/null
+++ b/client/res/values-ko/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"모바일 데이터"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"전화 서비스"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"긴급 통화"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"발신 허용 번호 목록"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"가져올 주소록 선택"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS 옵션"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA 옵션"</string>
+    <string name="call_settings" msgid="8152058602760531097">"통화 설정"</string>
+    <string name="labelCF" msgid="2140733390678280443">"착신전환"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"착발신 제한"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM 통화 설정"</string>
+    <string name="fdn" msgid="1080701466751913822">"발신 허용 번호"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 입력"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"발신 허용 번호 삭제"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PIN 사용 설정/중지"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN 변경"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"접근성"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"SIP 통화 기본 지원"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"통화 계정"</string>
+    <string name="voicemail" msgid="9083239047687566742">"음성메시지"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"내장된 SIM 카드"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"태블릿 정보"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"휴대전화 정보"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"무선 주파수 대역 모드 설정"</string>
+</resources>
diff --git a/client/res/values-ky/strings.xml b/client/res/values-ky/strings.xml
new file mode 100644
index 0000000..f5895a2
--- /dev/null
+++ b/client/res/values-ky/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобилдик Интернет"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Телефон кызматтары"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Өзгөчө кырдаалдагы тергич"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Туруктуу терүү номерлеринин тизмеси"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Импорттоло турган байланыштарды тандаңыз"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS параметрлери"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA мүмкүнчүлүктөрү"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Чалуу жөндөөлөрү"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Чалууну башка номерге багыттоо"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Чалууларга тыюу салуу функциясы"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM чалуунун жөндөөлөрү"</string>
+    <string name="fdn" msgid="1080701466751913822">"Туруктуу терүү номерлери"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 териңиз"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Туруктуу терүү номерин өчүрүү"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM картанын PIN кодун иштетүү/өчүрүү"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM карта PIN кодун өзгөртүү"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Атайын мүмкүнчүлүктөр"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"Шашылыш кайра чалуу режими"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Камтылган SIP чалуу"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Чалуу аккаунттары"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Үн почтасы"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Орнотулган SIM карталар"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Планшеттин маалыматы"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Телефондун маалыматы"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Радио жыштыгынын режимин коюу"</string>
+</resources>
diff --git a/client/res/values-lo/strings.xml b/client/res/values-lo/strings.xml
new file mode 100644
index 0000000..8676edd
--- /dev/null
+++ b/client/res/values-lo/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"ອິນເຕີເນັດມືຖື"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ການບໍລິການໂທລະສັບ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ແປ້ນໂທລະສັບໂທອອກສຸກເສີນ"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"ລາຍການ FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ເລືອກລາຍຊື່ຜູ້ຕິດຕໍ່ເພື່ອນຳເຂົ້າ"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"ຕົວເລືອກ GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"ຕົວເລືອກ CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"ຕັ້ງຄ່າການໂທ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"ການໂອນສາຍ"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ການລະງັບການໂທ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"ການຕັ້ງຄ່າການໂທ GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"ໝາຍເລກໂທອອກທີ່ກຳນົດ"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"ພິມ PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ລຶບໝາຍເລກໂທອອກທີ່ກຳນົດ"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"ປິດ/ເປີດນຳໃຊ້ PIN ຂອງ SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"ປ່ຽນ PIN ຂອງ SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ການຊ່ວຍເຂົ້າເຖິງ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"ການ​ໂທ SIP ໃນ​ເຄື່ອງ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"ບັນການຊີໂທ"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ຊິມກາດໃນຕົວ"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ຂໍ້​ມູນ​ແທັບເລັດ"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ຂໍ້​ມູນ​ໂທລະ​ສັບ"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ຕັ້ງຄ່າໂໝດແຖບຄວາມຖີ່ວິທະຍຸ"</string>
+</resources>
diff --git a/client/res/values-lt/strings.xml b/client/res/values-lt/strings.xml
new file mode 100644
index 0000000..48ee029
--- /dev/null
+++ b/client/res/values-lt/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobiliojo ryšio duomenys"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefono paslaugos"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Pagalbos numerio rinkiklis"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FRN sąrašas"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Pasirinkti importuojamus kontaktus"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM / UMTS parinktys"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA parinktys"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Skambinimo nustatymai"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Skambučių peradresavimas"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Skambučių blokavimas"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM skambinimo nustatymai"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fiksuotojo rinkimo numeriai"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Įveskite PIN2 kodą"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Ištrinti fiksuoto rinkimo numerį"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Įgalinti / išjungti SIM kortelės PIN kodą"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Pakeisti SIM kortelės PIN kodą"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Pritaikymas neįgaliesiems"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Integruotas SIP skambinimas"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Skambinimo paskyros"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Balso paštas"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Įtaisytosios SIM kortelės"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Planšetinio kompiuterio informacija"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefono informacija"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Nustatyti radijo dažnių režimą"</string>
+</resources>
diff --git a/client/res/values-lv/strings.xml b/client/res/values-lv/strings.xml
new file mode 100644
index 0000000..be99080
--- /dev/null
+++ b/client/res/values-lv/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobilie dati"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Tālruņa pakalpojumi"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Ārkārtas numura sastādītājs"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"IZSN saraksts"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Importējamo kontaktpersonu atlase"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS opcijas"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA opcijas"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Zvana iestatījumi"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Zvanu pāradresācija"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Zvanu aizliegšana"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM zvanu iestatījumi"</string>
+    <string name="fdn" msgid="1080701466751913822">"Atļautie numuri"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Ievadiet PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Fiksētā numura sastādīšanas numura dzēšana"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM kartes PIN iespējošana/atspējošana"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM kartes PIN mainīšana"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Pieejamība"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Iebūvēta SIP zvanu funkcija"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Zvanu konti"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Balss pasta ziņojums"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Iebūvētās SIM kartes"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informācija par planšetdatoru"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Tālruņa informācija"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Radio frekvenču joslu režīma iestatīšana"</string>
+</resources>
diff --git a/client/res/values-mk/strings.xml b/client/res/values-mk/strings.xml
new file mode 100644
index 0000000..febf964
--- /dev/null
+++ b/client/res/values-mk/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобилен интернет"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Телефонски услуги"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Бирач за итни случаи"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN-список"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Изберете контакти за увезување"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Опции за GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Опции за CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Поставки за повик"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Проследување повик"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Забрана на повик"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-поставки за повик"</string>
+    <string name="fdn" msgid="1080701466751913822">"Броеви со ограничено бирање"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Внесете PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Бришење број со ограничено бирање"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Овозможи/оневозможи PIN на SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Променување PIN на SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Пристапност"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Вградено повикување со SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Сметки за повикување"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Говорна пошта"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Вградени SIM-картички"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Информации за таблет"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Информации за телефонот"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Поставете режим на појас на радио"</string>
+</resources>
diff --git a/client/res/values-ml/strings.xml b/client/res/values-ml/strings.xml
new file mode 100644
index 0000000..8a17383
--- /dev/null
+++ b/client/res/values-ml/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"മൊബൈൽ ഡാറ്റ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ഫോൺ സേവനങ്ങൾ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"അടിയന്തര ഡയലർ"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN ലിസ്റ്റ്"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ഇമ്പോർട്ട് ചെയ്യാനുള്ള കോൺടാക്‌റ്റുകൾ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ഓപ്‌ഷനുകൾ"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA ഓപ്‌ഷനുകൾ"</string>
+    <string name="call_settings" msgid="8152058602760531097">"കോൾ ക്രമീകരണം"</string>
+    <string name="labelCF" msgid="2140733390678280443">"കോൾ കൈമാറ്റം"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"കോൾ തടയൽ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM കോൾ ക്രമീകരണം"</string>
+    <string name="fdn" msgid="1080701466751913822">"സ്ഥിര ഡയലിംഗ് നമ്പറുകൾ"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 ടൈപ്പ് ചെയ്യുക"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"സ്ഥിര ഡയലിംഗ് നമ്പർ ഇല്ലാതാക്കുക"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"സിം പിൻ പ്രവർത്തനക്ഷമമാക്കുക/പ്രവർത്തനരഹിതമാക്കുക"</string>
+    <string name="change_pin" msgid="7219696137781706635">"സിം പിൻ മാറ്റുക"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ഉപയോഗസഹായി"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"അന്തർ നിർമ്മിത SIP കോൾചെയ്യൽ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"കോളിംഗ് അക്കൗണ്ട്"</string>
+    <string name="voicemail" msgid="9083239047687566742">"വോയ്‌സ്‌മെയിൽ"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ബിൽറ്റ് ഇൻ സിം കാർഡുകൾ"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ടാബ്‌ലെറ്റ് വിവരം"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ഫോൺ വിവരം"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"റേഡിയോ ബാൻഡ് മോഡ് സജ്ജീകരിക്കുക"</string>
+</resources>
diff --git a/client/res/values-mn/strings.xml b/client/res/values-mn/strings.xml
new file mode 100644
index 0000000..553905f
--- /dev/null
+++ b/client/res/values-mn/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобайл дата"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Утасны үйлчилгээ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Яаралтай тусламжийн залгагч"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Залгахаар тохируулсан дугаарын жагсаалт"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Импорт хийх харилцагчдыг сонгоно уу"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS-н тохиргоо"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA сонголтууд"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Дуудлагын тохиргоо"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Дуудлага шилжүүлэх"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Дуудлага хаах"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM дуудлагын тохиргоо"</string>
+    <string name="fdn" msgid="1080701466751913822">"Залгахаар тохируулсан дугаарууд"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"ПИН2-г оруулна уу"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Залгахаар тохируулсан дугаарыг устгах"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"СИМ-н ПИН-г идэвхжүүлэх/идэвхгүй болгох"</string>
+    <string name="change_pin" msgid="7219696137781706635">"СИМ-н ПИН-г өөрчлөх"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Хандалт"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"SIP дуудлага өгөгдсөн"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Дуудлага хийх эрхтэй бүртгэлүүд"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Дуут шуудан"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Бүрэлдэхүүн СИМ карт"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Таблетын мэдээлэл"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Утасны мэдээлэл"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Радио хязгаарын горимыг тохируулах"</string>
+</resources>
diff --git a/client/res/values-mr/strings.xml b/client/res/values-mr/strings.xml
new file mode 100644
index 0000000..d142525
--- /dev/null
+++ b/client/res/values-mr/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"मोबाइल डेटा"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"फोन सेवा"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"आणीबाणी डायलर"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN सूची"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"इंपोर्ट करण्यासाठी संपर्क निवडा"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS पर्याय"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA पर्याय"</string>
+    <string name="call_settings" msgid="8152058602760531097">"कॉल सेटिंग्ज"</string>
+    <string name="labelCF" msgid="2140733390678280443">"कॉल फॉरवर्डिंग"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"कॉल बारिंग"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM कॉल सेटिंग्ज"</string>
+    <string name="fdn" msgid="1080701466751913822">"निश्चित डायलिंग नंबर"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 टाइप करा"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"निश्चित डायलिंग नंबर हटवा"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"सिम पिन सुरू/बंद करा"</string>
+    <string name="change_pin" msgid="7219696137781706635">"सिम पिन बदला"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ॲक्सेसिबिलिटी"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"अंगभूत SIP कॉल करणे"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"कॉल करण्याची खाती"</string>
+    <string name="voicemail" msgid="9083239047687566742">"व्हॉइसमेल"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"अंगभूत सिम कार्डे"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"टॅबलेट माहिती"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"फोन माहिती"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"रेडिओ बँड मोड सेट करा"</string>
+</resources>
diff --git a/client/res/values-ms/strings.xml b/client/res/values-ms/strings.xml
new file mode 100644
index 0000000..1146adb
--- /dev/null
+++ b/client/res/values-ms/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Data Mudah Alih"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Perkhidmatan Telefon"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Pendail Kecemasan"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Senarai FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Pilih kenalan untuk diimport"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Pilihan GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Pilihan CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Tetapan panggilan"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Pemajuan panggilan"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Sekatan panggilan"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Tetapan panggilan GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Nombor Dailan Tetap"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Jenis PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Padam nombor dailan tetap"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Dayakan/lumpuhkan PIN SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Tukar PIN SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Kebolehcapaian"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Panggilan SIP terbina dalam"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Akaun panggilan"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Mel suara"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Kad SIM terbina dalam"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Maklumat tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Maklumat telefon"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Tetapkan Mod Jalur Radio"</string>
+</resources>
diff --git a/client/res/values-my/strings.xml b/client/res/values-my/strings.xml
new file mode 100644
index 0000000..9a4637a
--- /dev/null
+++ b/client/res/values-my/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"မိုဘိုင်းဒေတာ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ဖုန်းဝန်ဆောင်မှုများ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"အရေးပေါ်ခေါ်ဆိုရန် နံပါတ်အကွက်"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN စာရင်း"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ထည့်သွင်းမည့်လိပ်စာများကို ရွေးရန်"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ရွေးချယ်မှုများ"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA ရွေးချယ်စရာများ"</string>
+    <string name="call_settings" msgid="8152058602760531097">"ခေါ်ဆိုမှု ဆက်တင်များ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"အဝင်ဖုန်းကို ဆက်ပို့ပေးခြင်း"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ခေါ်ဆိုမှုကို ပိတ်ပင်ရန်"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM ခေါ်ဆိုမှု ဆက်တင်များ"</string>
+    <string name="fdn" msgid="1080701466751913822">"ခေါ်ဆိုရန် ကန့်သတ်နံပါတ်"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"ပင်နံပါတ် ၂ ကို ထည့်ပါ"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ခေါ်ဆိုရန် ကန့်သတ်နံပါတ်ကို ဖျက်မည်"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"ဆင်းမ် ပင်နံပါတ်ကို ဖွင့်/ပိတ်ထားရန်"</string>
+    <string name="change_pin" msgid="7219696137781706635">"ဆင်းမ်ကဒ် ပင်နံပါတ်ပြောင်းရန်"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"အသုံးလွယ်မှု"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"SIP မူလခေါ်ဆိုမှု"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"ခေါ်ဆိုသော အကောင့်များ"</string>
+    <string name="voicemail" msgid="9083239047687566742">"အသံမေးလ်"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"အသင့်ပါ ဆင်းမ်ကဒ်များ"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"တက်ဘလက် အချက်အလက်"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ဖုန်းအချက်အလက်"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ရေဒီယိုလိုင်းမုဒ်အဖြစ် သတ်မှတ်ပါ"</string>
+</resources>
diff --git a/client/res/values-nb/strings.xml b/client/res/values-nb/strings.xml
new file mode 100644
index 0000000..80b7a0c
--- /dev/null
+++ b/client/res/values-nb/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobildata"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefontjenester"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Nødnummer"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Liste over faste numre"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Velg kontaktene du vil importere"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS-innstillinger"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-innstillinger"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Samtaleinnstillinger"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Viderekobling"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Anropsblokkering"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Innstillinger for GSM-samtaler"</string>
+    <string name="fdn" msgid="1080701466751913822">"Forhåndsbestemte numre"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Skriv inn PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Slett programmert telefonnummer"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Slå av/på PIN-kode for SIM-kort"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Endre SIM-PIN-koden"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Tilgjengelighet"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Innebygd SIP-anrop"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Ringekontoer"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Talepost"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Innebygde SIM-kort"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informasjon om nettbrettet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefoninformasjon"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Angi båndmodus for radio"</string>
+</resources>
diff --git a/client/res/values-ne/strings.xml b/client/res/values-ne/strings.xml
new file mode 100644
index 0000000..a5efc11
--- /dev/null
+++ b/client/res/values-ne/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"मोबाइल डेटा"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"फोन सेवाहरू"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"आपतकालीन डायलर"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN सूची"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"आयात गर्न सम्पर्कहरू चयन गर्नुहोस्"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS सम्बन्धी विकल्पहरू"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA का विकल्पहरू"</string>
+    <string name="call_settings" msgid="8152058602760531097">"कलसम्बन्धी सेटिङ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"कल फर्वार्ड गर्ने सेवा"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"कल ब्यारिङ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM कलसम्बन्धी सेटिङ"</string>
+    <string name="fdn" msgid="1080701466751913822">"स्थिर डायलिङ नम्बरहरू"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 टाइप गर्नुहोस्"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"स्थिर डायलिङ नम्बर मेट्नुहोस्"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PIN सक्षम/असक्षम पार्नुहोस्"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM को PIN परिवर्तन गर्नुहोस्"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"पहुँच"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"अन्तरनिर्मित SIP कल"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"कल गर्ने खाताहरू"</string>
+    <string name="voicemail" msgid="9083239047687566742">"भ्वाइस मेल"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"अन्तर्निर्मित SIM कार्डहरू"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ट्याब्लेटसम्बन्धी जानकारी"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"फोनसम्बन्धी जानकारी"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"रेडियोको ब्यान्डसम्बन्धी मोड सेट गर्नुहोस्"</string>
+</resources>
diff --git a/client/res/values-nl/strings.xml b/client/res/values-nl/strings.xml
new file mode 100644
index 0000000..83d11b2
--- /dev/null
+++ b/client/res/values-nl/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobiele data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefoonservices"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Kiezer noodoproep"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN-lijst"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Contacten selecteren om te importeren"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM-/UMTS-opties"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-opties"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Gespreksinstellingen"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Gesprek doorschakelen"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Gesprek blokkeren"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM-gespreksinstellingen"</string>
+    <string name="fdn" msgid="1080701466751913822">"Vaste nummers"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 opgeven"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Vast nummer verwijderen"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM pincode in-/uitschakelen"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Pincode sim wijzigen"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Toegankelijkheid"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ingebouwde SIP-gesprekken"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Gespreksaccounts"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Voicemail"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ingebouwde simkaarten"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tabletinformatie"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefooninfo"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Modus voor radioband instellen"</string>
+</resources>
diff --git a/client/res/values-or/strings.xml b/client/res/values-or/strings.xml
new file mode 100644
index 0000000..3bfa3f5
--- /dev/null
+++ b/client/res/values-or/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"ମୋବାଇଲ୍ ଡାଟା"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ଫୋନ୍ ସେବା"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ଜରୁରୀକାଳୀନ ଡାଏଲର୍"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN ତାଲିକା"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ଇମ୍ପୋର୍ଟ କରିବା ପାଇଁ ଯୋଗାଯୋଗଗୁଡ଼ିକୁ ଚୟନ କରନ୍ତୁ"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ବିକଳ୍ପ"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA ବିକଳ୍ପ"</string>
+    <string name="call_settings" msgid="8152058602760531097">"କଲ୍ ସେଟିଂସ୍"</string>
+    <string name="labelCF" msgid="2140733390678280443">"କଲ୍‌ ଫର୍‌ୱାର୍ଡିଂ"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"କଲ୍ ବାରିଂ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM କଲ୍ ସେଟିଂସ୍‌"</string>
+    <string name="fdn" msgid="1080701466751913822">"ସ୍ଥାୟୀ ଡାଏଲିଙ୍ଗ ନମ୍ବରଗୁଡ଼ିକ"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 ଟାଇପ୍ କରନ୍ତୁ"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ସ୍ଥାୟୀ ଡାଏଲିଙ୍ଗ ନମ୍ବରକୁ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PINକୁ ସକ୍ଷମ/ଅକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN ବଦାଳନ୍ତୁ"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ଆକ୍ସେସିବିଲିଟୀ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"ବିଲ୍ଟ-ଇନ୍ SIP କଲିଙ୍ଗ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"କଲିଂ ଆକାଉଣ୍ଟଗୁଡ଼ିକ"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ଭଏସ୍‌ମେଲ୍"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ବିଲ୍ଟ-ଇନ୍ SIM କାର୍ଡ"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ଟାବ୍‌ଲେଟ୍‍ର ସୂଚନା"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ଫୋନ୍‍ର ସୂଚନା"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ମୋଡ୍ ସେଟ୍ କରନ୍ତୁ"</string>
+</resources>
diff --git a/client/res/values-pa/strings.xml b/client/res/values-pa/strings.xml
new file mode 100644
index 0000000..2eac401
--- /dev/null
+++ b/client/res/values-pa/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"ਮੋਬਾਈਲ ਡਾਟਾ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ਫ਼ੋਨ ਸੇਵਾਵਾਂ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ਸੰਕਟਕਾਲੀਨ ਡਾਇਲਰ"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN ਸੂਚੀ"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ਆਯਾਤ ਕਰਨ ਲਈ ਸੰਪਰਕ ਚੁਣੋ"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ਵਿਕਲਪ"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA ਚੋਣਾਂ"</string>
+    <string name="call_settings" msgid="8152058602760531097">"ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="labelCF" msgid="2140733390678280443">"ਕਾਲ ਫਾਰਵਰਡਿੰਗ"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ਕਾਲ ਬੈਰਿੰਗ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="fdn" msgid="1080701466751913822">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"ਪਿੰਨ2 ਟਾਈਪ ਕਰੋ"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਮਿਟਾਓ"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"ਸਿਮ ਪਿੰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ/ਬੰਦ ਕਰੋ"</string>
+    <string name="change_pin" msgid="7219696137781706635">"ਸਿਮ ਪਿੰਨ ਬਦਲੋ"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ਪਹੁੰਚਯੋਗਤਾ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"ਬਿਲਟ-ਇਨ SIP ਕਾਲਿੰਗ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"ਕਾਲਿੰਗ ਖਾਤੇ"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ਵੌਇਸਮੇਲ"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ਬਿਲਟ-ਇਨ ਸਿਮ ਕਾਰਡ"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ਟੈਬਲੈੱਟ ਜਾਣਕਾਰੀ"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ਫ਼ੋਨ ਜਾਣਕਾਰੀ"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ਰੇਡੀਓ ਬੈਂਡ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
+</resources>
diff --git a/client/res/values-pl/strings.xml b/client/res/values-pl/strings.xml
new file mode 100644
index 0000000..642e241
--- /dev/null
+++ b/client/res/values-pl/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobilna transmisja danych"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefon – usługi"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Numery alarmowe"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Wybieranie ustalone"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Wybierz kontakty do zaimportowania"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opcje GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opcje CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Ustawienia połączeń"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Przekierowanie połączeń"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Blokada połączeń"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Ustawienia połączenia GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Wybieranie ustalone"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Wpisz kod PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Usuń wybieranie ustalone"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Włącz/wyłącz kod PIN do karty SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Zmień PIN do karty SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Ułatwienia dostępu"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Wbudowanie połączenia SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Konta telefoniczne"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Poczta głosowa"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Wbudowane karty SIM"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informacje o tablecie"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informacje o telefonie"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Ustawianie trybu pasma radiowego"</string>
+</resources>
diff --git a/client/res/values-pt-rPT/strings.xml b/client/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..ad6b116
--- /dev/null
+++ b/client/res/values-pt-rPT/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Dados móveis"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Serviços de telemóvel"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Telefone de emergência"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Lista de FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Selecione os contactos a importar"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opções GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opções CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Definições de chamadas"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Reencaminhamento de chamadas"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Barramento de chamadas"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Definições de chamadas GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Números de marcação fixa (FDN)"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Introduzir PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Eliminar números autorizados"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Ativar/desativar o PIN do cartão SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Alterar PIN do SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Acessibilidade"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Chamadas SIP incorporadas"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Contas de chamadas"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Correio de voz"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Cartões SIM incorporados"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informações do tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informações do telefone"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Definir modo de banda de rádio"</string>
+</resources>
diff --git a/client/res/values-pt/strings.xml b/client/res/values-pt/strings.xml
new file mode 100644
index 0000000..28a7709
--- /dev/null
+++ b/client/res/values-pt/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Dados móveis"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Serviços do smartphone"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Discador de emergência"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Lista de FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Selecione os contatos a serem importados"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opções de GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opções CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Configurações de chamada"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Encaminhamento de chamada"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Bloqueio de chamadas"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Configurações de chamada GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Números de discagem fixa"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Digitar PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Excluir número de discagem fixa"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Ativar/desativar PIN do chip"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Alterar PIN do chip"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Acessibilidade"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Chamadas SIP incorporadas"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Contas de chamadas"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Correio de voz"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Chips integrados"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informações do tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informações do smartphone"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Definir modo de banda de rádio"</string>
+</resources>
diff --git a/client/res/values-ro/strings.xml b/client/res/values-ro/strings.xml
new file mode 100644
index 0000000..fad774e
--- /dev/null
+++ b/client/res/values-ro/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Date mobile"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefon – Servicii"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Tastatură de telefon de urgență"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Listă NAR"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Selectați persoane de contact pentru import"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opțiuni GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opțiuni CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Setări pentru apeluri"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Redirecționare apeluri"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Restricționarea apelurilor"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Setările apelului GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Numere apeluri restricționate"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Introduceți codul PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Ștergeți numărul pentru apeluri restricționate"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Activați/dezactivați codul PIN al cardului SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Schimbați codul PIN pentru SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Accesibilitate"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Apelare SIP integrată"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Conturi pentru apelare"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Mesagerie vocală"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Carduri SIM încorporate"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informații tabletă"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informații telefon"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Setați Modul bandă radio"</string>
+</resources>
diff --git a/client/res/values-ru/strings.xml b/client/res/values-ru/strings.xml
new file mode 100644
index 0000000..4335f88
--- /dev/null
+++ b/client/res/values-ru/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобильный Интернет"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Телефон – сервисы"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Экстренный вызов"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Разрешенные номера"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Выберите контакты для импорта"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Параметры GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Параметры CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Настройки вызовов"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Переадресация вызовов"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Запрет вызовов"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Настройки вызовов GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Разрешенные номера"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Введите PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Удалить разрешенный номер"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Включить/отключить запрос PIN-кода SIM-карты"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Изменить PIN-код SIM-карты"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Специальные возможности"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Встроенный сервис звонков через SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Аккаунты для вызовов"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Голосовая почта"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Встроенные SIM-карты"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Информация о планшетном ПК"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Информация о телефоне"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Настроить режим радиостанции"</string>
+</resources>
diff --git a/client/res/values-si/strings.xml b/client/res/values-si/strings.xml
new file mode 100644
index 0000000..856b2a5
--- /dev/null
+++ b/client/res/values-si/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"ජංගම දත්ත"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"දුරකථන සේවා"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"හදිසි අවස්ථා ඩයල්කරු"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN ලැයිස්තුව"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"ආයාත කිරීමට සම්බන්ධතා තෝරන්න"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS විකල්ප"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA විකල්ප"</string>
+    <string name="call_settings" msgid="8152058602760531097">"ඇමතුම් සැකසීම්"</string>
+    <string name="labelCF" msgid="2140733390678280443">"ඇමතුම යොමු කිරීම"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ඇමතුම අවහිර කිරීම"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM ඇමතුම් සැකසීම්"</string>
+    <string name="fdn" msgid="1080701466751913822">"ස්ථාවර ඇමතුම් අංක"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 ටයිප් කරන්න"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ස්ථාවර ඇමතුම් අංකය මකන්න"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PIN අංකය සබල/අබල කරන්න"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN අංකය වෙනස් කරන්න"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ප්‍රවේශ්‍යතාව"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"තැනූ SIP ඇමතුම්"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"ගිණුම් ඇමතීම"</string>
+    <string name="voicemail" msgid="9083239047687566742">"හඬ තැපෑල"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"තිළැලි SIM කාඩ් පත්"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ටැබ්ලට් තොරතුරු"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"දුරකථන තොරතුරු"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"රේඩියෝ කලාප ප්‍රකාරය සකසන්න"</string>
+</resources>
diff --git a/client/res/values-sk/strings.xml b/client/res/values-sk/strings.xml
new file mode 100644
index 0000000..5b8f291
--- /dev/null
+++ b/client/res/values-sk/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobilné dáta"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefónne služby"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Tiesňové vytáčanie"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Zoznam režimu povolených čísel"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Výber kontaktov na import"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Možnosti GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Možnosti CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Nastavenia hovoru"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Presmerovanie hovorov"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Blokovanie hovorov"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Nastavenia hovorov GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Režim povolených čísel"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Zadajte kód PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Odstrániť povolené číslo"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Povoliť alebo zakázať kód PIN SIM karty"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Zmeniť kód PIN karty SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Dostupnosť"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"Dialóg ukončenia režimu tiesňového spätného volania"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Vstavané hovory SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Telefónne účty"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Hlasová schránka"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Vstavané SIM karty"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informácie o tablete"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informácie o telefóne"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Nastaviť režim rádiového pásma"</string>
+</resources>
diff --git a/client/res/values-sl/strings.xml b/client/res/values-sl/strings.xml
new file mode 100644
index 0000000..fca5ac2
--- /dev/null
+++ b/client/res/values-sl/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Prenos podatkov v mobilnem omrežju"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefonske storitve"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Klicalnik za nujne primere"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Seznam FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Izberite stike za uvoz"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Možnosti GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Možnosti CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Nastavitve klicanja"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Posredovanje klicev"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Zapora klicev"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Nastavitve klicev GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Številke za omejeno klicanje"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Vnesite kodo PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Urejanje številke za omejeno klicanje"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Omogočenje/onemogočenje kode PIN za kartico SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Sprememba kode PIN kartice SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Dostopnost"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Vgrajeno klicanje SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Računi za klicanje"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Odzivnik"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Vgrajene kartice SIM"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Podatki o tabličnem računalniku"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informacije o telefonu"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Nastavljanje načina radijskega območja"</string>
+</resources>
diff --git a/client/res/values-sq/strings.xml b/client/res/values-sq/strings.xml
new file mode 100644
index 0000000..f759c78
--- /dev/null
+++ b/client/res/values-sq/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Të dhënat celulare"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Shërbimet e telefonit"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Formuesi i numrit të urgjencës"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Lista e FDN-ve"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Zgjidh kontaktet për importim"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Opsionet GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Opsionet CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Cilësimet e telefonatave"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Transferimi i telefonatave"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Bllokimi i telefonatave"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Cilësimet e telefonatës GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Numrat me telefonim të përzgjedhur"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Shkruaj kodin PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Fshi numrin me telefonim të përzgjedhur"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Aktivizo/çaktivizo PIN-in e kartës SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Ndrysho PIN-in e kartës SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Qasshmëria"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Telefonata SIP e integruar"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Llogaritë e telefonatave"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Posta zanore"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Kartat e integruara SIM"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informacion mbi tabletin"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informacioni i telefonit"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Cakto modalitetin e brezit të radios"</string>
+</resources>
diff --git a/client/res/values-sr/strings.xml b/client/res/values-sr/strings.xml
new file mode 100644
index 0000000..c34f23f
--- /dev/null
+++ b/client/res/values-sr/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобилни подаци"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Телефонске услуге"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Бројчаник за хитне позиве"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Листа бројева за фиксно бирање"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Изаберите контакте за увоз"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Опције за GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA опције"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Подешавања позива"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Преусмеравање позива"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Ограничавање позива"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Подешавања GSM позива"</string>
+    <string name="fdn" msgid="1080701466751913822">"Бројеви за фиксно бирање"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Унесите PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Избришите број за фиксно бирање"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Омогућите/онемогућите PIN за SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Промените PIN за SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Приступачност"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Уграђена функција SIP позивања"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Налози за позивање"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Говорна пошта"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Уграђене SIM картице"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Информације о таблету"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Информације о телефону"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Подесите режим радијског опсега"</string>
+</resources>
diff --git a/client/res/values-sv/strings.xml b/client/res/values-sv/strings.xml
new file mode 100644
index 0000000..09c177e
--- /dev/null
+++ b/client/res/values-sv/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobildata"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefontjänster"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Nödsamtal"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN-lista"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Välj kontakter att importera"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Alternativ för GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA-alternativ"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Samtalsinställningar"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Vidarebef. samtal"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Samtalsspärr"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Samtalsinst. för GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Fasta nummer"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Ange PIN2-kod"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Ta bort fast nummer"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Aktivera/inaktivera SIM-kortets pinkod"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Ändra pinkod för SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Tillgänglighet"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Inbyggd tjänst för SIP-samtal"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Konton för samtal"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Röstbrevlåda"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Inbyggda SIM-kort"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Information om surfplattan"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefoninformation"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Konfigurera radiobandsläget"</string>
+</resources>
diff --git a/client/res/values-sw/strings.xml b/client/res/values-sw/strings.xml
new file mode 100644
index 0000000..c0a2929
--- /dev/null
+++ b/client/res/values-sw/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Data ya mtandao wa simu"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Huduma za Simu"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Kipiga Simu za Dhararu"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Orodha ya FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Chagua anwani za kuleta"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Chaguo za GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Chaguo za CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Mipangilio ya simu"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Kusambaza simu"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Kuzuia upigaji simu"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Mipangilio ya simu ya GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Nambari za Simu Zilizobainishwa"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Andika PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Futa nambari ya simu iliyobainishwa"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Wezesha/zima PIN ya SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Badilisha PIN ya SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Ufikivu"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Upigaji simu wa SIP uliojengewa ndani ya kifaa"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Akaunti za simu"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Ujumbe wa sauti"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"SIM kadi zilizojengewa ndani"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Maelezo kuhusu kompyuta kibao"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Maelezo ya simu"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Weka Hali ya Bendi ya Redio"</string>
+</resources>
diff --git a/client/res/values-ta/strings.xml b/client/res/values-ta/strings.xml
new file mode 100644
index 0000000..c738660
--- /dev/null
+++ b/client/res/values-ta/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"மொபைல் டேட்டா"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"மொபைல் சேவைகள்"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"அவசரகால டயலர்"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN பட்டியல்"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"இறக்க வேண்டிய தொடர்புகளைத் தேர்ந்தெடுக்கவும்"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS விருப்பங்கள்"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA விருப்பங்கள்"</string>
+    <string name="call_settings" msgid="8152058602760531097">"அழைப்பு அமைப்புகள்"</string>
+    <string name="labelCF" msgid="2140733390678280443">"அழைப்புப் பகிர்வு"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"அழைப்புத் தடுப்பு"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM அழைப்பு அமைப்புகள்"</string>
+    <string name="fdn" msgid="1080701466751913822">"நிலையான அழைப்பு எண்கள்"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"பின்2 ஐ உள்ளிடுக"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"நிலையான அழைப்பு எண்ணை நீக்கு"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"சிம்மின் பின்னை இயக்கு/முடக்கு"</string>
+    <string name="change_pin" msgid="7219696137781706635">"சிம்மின் பின்னை மாற்று"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"அணுகல் தன்மை"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"உள்கட்டமைக்கப்பட்ட SIP அழைப்பு"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"அழைப்புக் கணக்குகள்"</string>
+    <string name="voicemail" msgid="9083239047687566742">"குரலஞ்சல்"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"உள்ளமைந்த சிம் கார்டுகள்"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"டேப்லெட்டின் தகவல்"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"மொபைலின் தகவல்"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ரேடியோ பேண்டு பயன்முறையை அமை"</string>
+</resources>
diff --git a/client/res/values-te/strings.xml b/client/res/values-te/strings.xml
new file mode 100644
index 0000000..891da37
--- /dev/null
+++ b/client/res/values-te/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"మొబైల్ డేటా"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"ఫోన్ సేవలు"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"అత్యవసర డయలర్"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN జాబితా"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"దిగుమతి చేయాల్సిన కాంటాక్ట్‌లను ఎంచుకోండి"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS ఎంపికలు"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA ఎంపికలు"</string>
+    <string name="call_settings" msgid="8152058602760531097">"కాల్ సెట్టింగ్‌లు"</string>
+    <string name="labelCF" msgid="2140733390678280443">"కాల్ ఫార్వర్డింగ్"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"కాల్ నిషేధం"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM కాల్ సెట్టింగ్‌లు"</string>
+    <string name="fdn" msgid="1080701466751913822">"ఫిక్సెడ్ డయలింగ్ నంబర్‌లు"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"పిన్2ను టైప్ చేయండి"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను తొలగించండి"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM పిన్‌ను ఎనేబుల్/డిజేబుల్ చేయండి"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM పిన్‌ను మార్చండి"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"యాక్సెసిబిలిటీ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"అంతర్నిర్మిత SIP కాలింగ్"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"కాల్ చేసే ఖాతాలు"</string>
+    <string name="voicemail" msgid="9083239047687566742">"వాయిస్ మెయిల్"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"అంతర్నిర్మిత SIM కార్డ్‌లు"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"టాబ్లెట్ సమాచారం"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ఫోన్ సమాచారం"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"రేడియో బ్యాండ్ మోడ్‌ను సెట్ చేయండి"</string>
+</resources>
diff --git a/client/res/values-th/strings.xml b/client/res/values-th/strings.xml
new file mode 100644
index 0000000..2814f9a
--- /dev/null
+++ b/client/res/values-th/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"อินเทอร์เน็ตมือถือ"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"บริการโทรศัพท์"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"โปรแกรมโทรออกฉุกเฉิน"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"รายการ FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"เลือกผู้ติดต่อที่จะนำเข้า"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"ตัวเลือก GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"ตัวเลือก CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"การตั้งค่าการโทร"</string>
+    <string name="labelCF" msgid="2140733390678280443">"การโอนสาย"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"ระงับการโทร"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"การตั้งค่าการโทร GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"หมายเลขโทรออกที่กำหนดตายตัว"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"พิมพ์ PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"ลบหมายเลขโทรออกที่กำหนดตายตัว"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"เปิด/ปิดใช้ PIN ของซิม"</string>
+    <string name="change_pin" msgid="7219696137781706635">"เปลี่ยน PIN ของซิม"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"การช่วยเหลือพิเศษ"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"การโทรผ่าน SIP ในตัว"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"บัญชีการโทร"</string>
+    <string name="voicemail" msgid="9083239047687566742">"ข้อความเสียง"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"ซิมการ์ดในตัว"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ข้อมูลแท็บเล็ต"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"ข้อมูลโทรศัพท์"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ตั้งค่าโหมดย่านความถี่วิทยุ"</string>
+</resources>
diff --git a/client/res/values-tl/strings.xml b/client/res/values-tl/strings.xml
new file mode 100644
index 0000000..12cd30c
--- /dev/null
+++ b/client/res/values-tl/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobile Data"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Mga Serbisyo sa Telepono"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Pang-emergency na Dialer"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Listahan ng FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Piliin ang mga contact na ii-import"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Mga pagpipilian sa GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Mga pagpipiliian sa CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Mga setting ng tawag"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Pagpasa ng tawag"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Pag-bar ng tawag"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Mga setting ng tawag ng GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Mga Fixed Dialing Number"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"I-type ang PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"I-delete ang fixed dialing number"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"I-enable/i-disable ang PIN ng SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Baguhin ang PIN ng SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Pagiging Accessible"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Built-in na pagtawag sa pamamagitan ng SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Mga account sa pagtawag"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Voicemail"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Mga built-in na SIM card"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Impormasyon ng tablet"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Impormasyon ng telepono"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Itakda ang Band Mode ng Radyo"</string>
+</resources>
diff --git a/client/res/values-tr/strings.xml b/client/res/values-tr/strings.xml
new file mode 100644
index 0000000..30293cd
--- /dev/null
+++ b/client/res/values-tr/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobil Veri"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefon Hizmetleri"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Acil Durum Çeviricisi"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"SAN listesi"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"İçe aktarılacak kişileri seçin"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS Seçenekleri"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA Seçenekleri"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Arama ayarları"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Arama yönlendirme"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Arama engelleme"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM arama ayarları"</string>
+    <string name="fdn" msgid="1080701466751913822">"Sabit Arama Numaraları"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2\'yi yazın"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Sabit arama numarasını silin"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM PIN\'ini etkinleştirin/devre dışı bırakın"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM PIN\'ini Değiştir"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Erişilebilirlik"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Yerleşik SIP arama"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Arama hesapları"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Sesli Mesaj"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Yerleşik SIM kartlar"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Tablet bilgileri"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefon bilgileri"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Radyo Bant Modunu Ayarla"</string>
+</resources>
diff --git a/client/res/values-uk/strings.xml b/client/res/values-uk/strings.xml
new file mode 100644
index 0000000..d25162b
--- /dev/null
+++ b/client/res/values-uk/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Мобільний Інтернет"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Телефонні сервіси"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Аварійний телефон"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Список фіксованих номерів"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Виберіть контакти для імпорту"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Параметри GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Параметри CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Налаштування виклику"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Переадресація виклику"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Заборона викликів"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Налаштування викликів GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Фіксовані номери"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Введіть PIN2-код"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Видалити фіксований номер"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Увімкнути/вимкнути PIN-код SIM-карти"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Змінити PIN-код SIM-карти"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Спеціальні можливості"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Вбудована функція викликів SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Облікові записи для викликів"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Голосова пошта"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Вбудовані SIM-карти"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Інформація про пристрій"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Інформація про телефон"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Установити режим радіодіапазону"</string>
+</resources>
diff --git a/client/res/values-ur/strings.xml b/client/res/values-ur/strings.xml
new file mode 100644
index 0000000..1ed7325
--- /dev/null
+++ b/client/res/values-ur/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"موبائل ڈیٹا"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"فون سروسز"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"ہنگامی ڈائلر"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"‏FDN کی فہرست"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"درآمد کے لیے رابطوں کا انتخاب کریں"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"‏GSM/UMTS کے اختیارات"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"‏CDMA کے اختیارات"</string>
+    <string name="call_settings" msgid="8152058602760531097">"کال کی ترتیبات"</string>
+    <string name="labelCF" msgid="2140733390678280443">"کال فارورڈنگ"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"کال میں رکاوٹ"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"‏GSM کال کی ترتیبات"</string>
+    <string name="fdn" msgid="1080701466751913822">"فکسڈ ڈائلنگ نمبرز"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"‏PIN2 ٹائپ کریں"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"فکسڈ ڈائلنگ نمبر حذف کریں"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"‏SIM کا PIN فعال/غیر فعال کریں"</string>
+    <string name="change_pin" msgid="7219696137781706635">"‏SIM کا PIN تبدیل کریں"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"ایکسیسبیلٹی"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"‏پہلے سے شامل SIP کالنگ"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"کالنگ اکاؤنٹس"</string>
+    <string name="voicemail" msgid="9083239047687566742">"صوتی میل"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"‏پہلے سے شامل SIM کارڈز"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"ٹیبلیٹ کی معلومات"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"فون کی معلومات"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"ریڈیو بینڈ موڈ سیٹ کریں"</string>
+</resources>
diff --git a/client/res/values-uz/strings.xml b/client/res/values-uz/strings.xml
new file mode 100644
index 0000000..beef319
--- /dev/null
+++ b/client/res/values-uz/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Mobil internet"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Telefon xizmatlari"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Favqulodda chaqiruv"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Ruxsat etilgan raqamlar"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Import qilish uchun kontaktlarni tanlang"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS sozlamalari"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA sozlamalari"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Chaqiruv sozlamalari"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Chaqiruvlarni uzatish"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Chaqiruvlarni taqiqlash"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM tarmog‘i qo‘ng‘iroq sozlamalari"</string>
+    <string name="fdn" msgid="1080701466751913822">"Ruxsat etilgan raqamlar"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"PIN2 kodni kiriting"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Ruxsat etilgan raqamni o‘chirish"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"SIM karta uchun PIN-kod so‘rovini yoqish/o‘chirish"</string>
+    <string name="change_pin" msgid="7219696137781706635">"SIM karta PIN-kodini almashtirish"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Maxsus imkoniyatlar"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ichki o‘rnatilgan SIP qo‘ng‘iroqlari"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Chaqiruv uchun hisoblar"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Ovozli pochta"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Ichki o‘rnatilgan SIM kartalar"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Planshet haqida"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Telefon haqida"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Tarmoq rejimini sozlash"</string>
+</resources>
diff --git a/client/res/values-vi/strings.xml b/client/res/values-vi/strings.xml
new file mode 100644
index 0000000..cfbf3df
--- /dev/null
+++ b/client/res/values-vi/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Dữ liệu di động"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Dịch vụ điện thoại"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Trình quay số khẩn cấp"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Danh sách FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Chọn danh bạ để nhập"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Tùy chọn GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Tùy chọn CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Tùy chọn cài đặt cuộc gọi"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Chuyển tiếp cuộc gọi"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Chặn cuộc gọi"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Tùy chọn cài đặt cuộc gọi GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Số gọi định sẵn"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Nhập PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Xóa số gọi định sẵn"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Bật/tắt mã PIN của SIM"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Đổi mã PIN của SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Truy cập"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Tính năng gọi điện SIP tích hợp sẵn"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Tài khoản gọi"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Thư thoại"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Thẻ SIM tích hợp sẵn"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Thông tin về máy tính bảng"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Thông tin điện thoại"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Đặt chế độ dải tần số"</string>
+</resources>
diff --git a/client/res/values-zh-rCN/strings.xml b/client/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..07ba878
--- /dev/null
+++ b/client/res/values-zh-rCN/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"移动数据"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"电话服务"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"紧急拨号器"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"固定拨号列表"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"选择要导入的联系人"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS 选项"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA 选项"</string>
+    <string name="call_settings" msgid="8152058602760531097">"通话设置"</string>
+    <string name="labelCF" msgid="2140733390678280443">"来电转接"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"通话限制"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM 通话设置"</string>
+    <string name="fdn" msgid="1080701466751913822">"固定拨号"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"输入 PIN2 码"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"删除固定拨号联系人"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"启用/停用 SIM 卡 PIN 码"</string>
+    <string name="change_pin" msgid="7219696137781706635">"更改 SIM 卡 PIN 码"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"无障碍"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"内置 SIP 通话功能"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"通话帐号"</string>
+    <string name="voicemail" msgid="9083239047687566742">"语音信箱"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"内置 SIM 卡"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"平板电脑信息"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"手机信息"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"设置无线装置频道模式"</string>
+</resources>
diff --git a/client/res/values-zh-rHK/strings.xml b/client/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..1cb5330
--- /dev/null
+++ b/client/res/values-zh-rHK/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"流動數據"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"手機服務"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"緊急撥號器"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"FDN 清單"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"選取要匯入的聯絡人"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS 選項"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA 選項"</string>
+    <string name="call_settings" msgid="8152058602760531097">"通話設定"</string>
+    <string name="labelCF" msgid="2140733390678280443">"來電轉駁"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"通話限制"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM 通話設定"</string>
+    <string name="fdn" msgid="1080701466751913822">"固定撥號"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"輸入 PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"刪除固定撥號"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"啟用/停用 SIM PIN"</string>
+    <string name="change_pin" msgid="7219696137781706635">"變更 SIM 卡的 PIN"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"無障礙功能"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"內置 SIP 通話"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"通話帳戶"</string>
+    <string name="voicemail" msgid="9083239047687566742">"留言信箱"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"內置 SIM 卡"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"平板電腦資訊"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"手機資訊"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"設定無線電波段模式"</string>
+</resources>
diff --git a/client/res/values-zh-rTW/strings.xml b/client/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..a9a6b77
--- /dev/null
+++ b/client/res/values-zh-rTW/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"行動數據"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"電話服務"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"緊急撥號"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"固定撥號清單"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"選取要匯入的聯絡人"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"GSM/UMTS 選項"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"CDMA 選項"</string>
+    <string name="call_settings" msgid="8152058602760531097">"通話設定"</string>
+    <string name="labelCF" msgid="2140733390678280443">"來電轉接"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"通話限制"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"GSM 通話設定"</string>
+    <string name="fdn" msgid="1080701466751913822">"固定撥號"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"輸入 PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"刪除固定撥號"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"啟用/停用 SIM 卡 PIN 碼"</string>
+    <string name="change_pin" msgid="7219696137781706635">"變更 SIM 卡 PIN 碼"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"無障礙設定"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"內建 SIP 通話功能"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"通話帳戶"</string>
+    <string name="voicemail" msgid="9083239047687566742">"語音信箱"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"內建 SIM 卡"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"平板電腦資訊"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"手機資訊"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"設定無線電頻帶模式"</string>
+</resources>
diff --git a/client/res/values-zu/strings.xml b/client/res/values-zu/strings.xml
new file mode 100644
index 0000000..679263e
--- /dev/null
+++ b/client/res/values-zu/strings.xml
@@ -0,0 +1,44 @@
+<?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.
+ -->
+
+<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="4304896407232136185">"Idatha Yeselula"</string>
+    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Amasevisi wefoni"</string>
+    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Ukudayela Okuphuthumayo"</string>
+    <string name="fdnListLabel" msgid="5034563979654950274">"Uhlu lwe-FDN"</string>
+    <string name="simContacts_title" msgid="4391084959219666947">"Khetha othintana nabo ozobangenisa"</string>
+    <string name="gsm_umts_options" msgid="1113500053403490666">"Okukhethwa kukho kwe-GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4492063023149886710">"Okukhethwa kukho kwe-CDMA"</string>
+    <string name="call_settings" msgid="8152058602760531097">"Izilungiselelo zekholi"</string>
+    <string name="labelCF" msgid="2140733390678280443">"Ukudlulisa ikholi"</string>
+    <string name="labelCallBarring" msgid="8300927675522420184">"Ukuvimba ikholi"</string>
+    <string name="labelGSMMore" msgid="4048734049263392253">"Izilungiselelo zekholi ze-GSM"</string>
+    <string name="fdn" msgid="1080701466751913822">"Izinombolo Zokudayela Okungaguquki"</string>
+    <string name="get_pin2" msgid="5519152040805796508">"Thayipha i-PIN2"</string>
+    <string name="delete_fdn_contact" msgid="4232462795352020296">"Susa othintana naye wokudayela okungaguquki"</string>
+    <string name="enable_pin" msgid="5266421421847399987">"Vumela/Vima i-PIN ye-SI&lt;M"</string>
+    <string name="change_pin" msgid="7219696137781706635">"Shintsha i-PIN ye-SIM"</string>
+    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Ukufinyeleleka"</string>
+    <string name="ecm_exit_dialog" msgid="5718252559378968754">"I-EcmExitDialog"</string>
+    <string name="sip_connection_service_label" msgid="6852349516774218961">"Ukushaya okwakhelwe ngaphakathi kwe-SIP"</string>
+    <string name="phone_accounts" msgid="6930293131442022860">"Ama-akhawunti wokushaya"</string>
+    <string name="voicemail" msgid="9083239047687566742">"Ivoyisimeyili"</string>
+    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Amakhadi we-SIM akhelwe ngaphakathi"</string>
+    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Ulwazi lethebhulethi"</string>
+    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Ulwazi lwefoni"</string>
+    <string name="band_mode_title" msgid="681256838654706936">"Isetha imodi yebhendi yerediyo"</string>
+</resources>
diff --git a/ecc/conversion_toolset_v1/gen_eccdata.sh b/ecc/conversion_toolset_v1/gen_eccdata.sh
index 1efac37..9fc0efc 100644
--- a/ecc/conversion_toolset_v1/gen_eccdata.sh
+++ b/ecc/conversion_toolset_v1/gen_eccdata.sh
@@ -19,8 +19,7 @@
 source "${LOCAL_TOOLSET_DIR}/env.sh"
 
 echo "Converting eccdata..."
-${ANDROID_BUILD_TOP}/prebuilts/tools/linux-x86_64/protoc/bin/protoc \
-  --encode=ecc.AllInfo proto/protobuf_ecc_data.proto \
+aprotoc --encode=ecc.AllInfo proto/protobuf_ecc_data.proto \
   < "${INPUT_DATA}" > "${RAW_DATA}"
 
 echo "Compressing eccdata..."
diff --git a/ecc/conversion_toolset_v1/proto/Android.bp b/ecc/conversion_toolset_v1/proto/Android.bp
index 7d6cce4..e1e0643 100644
--- a/ecc/conversion_toolset_v1/proto/Android.bp
+++ b/ecc/conversion_toolset_v1/proto/Android.bp
@@ -22,7 +22,7 @@
         ],
     },
     srcs: ["protobuf_ecc_data.proto"],
-    no_framework_libs: true,
+    sdk_version: "system_current",
     jarjar_rules: "jarjar-rules.txt",
     java_version: "1.8",
-}
\ No newline at end of file
+}
diff --git a/ecc/gen_eccdata.sh b/ecc/gen_eccdata.sh
index e4dd745..2888585 100755
--- a/ecc/gen_eccdata.sh
+++ b/ecc/gen_eccdata.sh
@@ -20,24 +20,8 @@
   exit 1
 fi
 
-case $(uname -s) in
-  Darwin)
-    KERNEL=darwin
-    ;;
-  Linux)
-    KERNEL=linux
-    ;;
-  *)
-    echo "Unknown kernel \"`uname -s`\"" 1>&2
-    exit 1
-    ;;
-esac
-
-read -d "" PROTOC_COMMAND << END || :
-${ANDROID_BUILD_TOP}/prebuilts/tools/${KERNEL}-x86_64/protoc/bin/protoc
-END
-if ! [ -x "${PROTOC_COMMAND}" ] ; then
-  echo "Missing ${PROTOC_COMMAND}." 1>&2
+if ! [ -x "$(which aprotoc)" ] ; then
+  echo "Missing aprotoc, build it with 'm aprotoc'." 1>&2
   exit 1
 fi
 
diff --git a/res/drawable/preference_background.xml b/res/drawable/preference_background.xml
index 19ca432..1ec90fb 100644
--- a/res/drawable/preference_background.xml
+++ b/res/drawable/preference_background.xml
@@ -21,7 +21,7 @@
         android:insetBottom="0dip">
 
     <shape android:shape="rectangle">
-        <solid android:color="@*android:color/background_material_light" />
+        <solid android:color="@color/background_material_light" />
     </shape>
 
 </inset>
diff --git a/res/drawable/progress_indeterminate_horizontal_material_trimmed.xml b/res/drawable/progress_indeterminate_horizontal_material_trimmed.xml
deleted file mode 100644
index 905dc55..0000000
--- a/res/drawable/progress_indeterminate_horizontal_material_trimmed.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2018 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.
--->
-
-<!-- Variant of progress_indeterminate_horizontal_material in frameworks/base/core/res, which
-     draws the whole height of the progress bar instead having blank space above and below the
-     bar. -->
-<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
-    android:drawable="@drawable/vector_drawable_progress_indeterminate_horizontal_trimmed" >
-    <target
-        android:name="rect2_grp"
-        android:animation="@*android:anim/progress_indeterminate_horizontal_rect2" />
-    <target
-        android:name="rect1_grp"
-        android:animation="@*android:anim/progress_indeterminate_horizontal_rect1" />
-</animated-vector>
\ No newline at end of file
diff --git a/res/layout/band_mode.xml b/res/layout/band_mode.xml
new file mode 100644
index 0000000..b43dd1d
--- /dev/null
+++ b/res/layout/band_mode.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2007 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:orientation="vertical"
+              android:padding="4dip"
+              android:gravity="center_horizontal"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content">
+
+    <ListView android:id="@+id/band"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:textSize="7sp">
+    </ListView>
+
+</LinearLayout>
diff --git a/res/layout/choose_network_progress_header.xml b/res/layout/choose_network_progress_header.xml
deleted file mode 100644
index 671c297..0000000
--- a/res/layout/choose_network_progress_header.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright (C) 2018 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.
--->
-
-<FrameLayout
-    android:layout_width="match_parent"
-    android:layout_height="3dp"
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <View
-        android:id="@+id/progress_bar_background"
-        style="@style/TrimmedHorizontalProgressBar"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="?android:attr/colorSecondary" />
-    <ProgressBar
-        android:id="@+id/progress_bar_animation"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        style="@style/TrimmedHorizontalProgressBar"
-        android:indeterminate="true" />
-</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index bea01fe..ab32c62 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -58,8 +58,6 @@
         android:accessibilityPaneTitle="@string/pane_title_emergency_dialpad"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:paddingLeft="36dp"
-        android:paddingRight="36dp"
         android:paddingBottom="@dimen/dialpad_bottom_padding"
         android:visibility="visible">
         <LinearLayout
@@ -73,6 +71,7 @@
                 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">
 
@@ -110,7 +109,7 @@
                     <View
                         android:layout_width="match_parent"
                         android:layout_height="match_parent"
-                        android:backgroundTint="#ffe53935"
+                        android:backgroundTint="#ffe32926"
                         android:focusable="false"
                         android:clickable="false"
                         style="?android:attr/buttonStyle"/>
@@ -155,8 +154,14 @@
                 </FrameLayout>
 
             </com.android.phone.EmergencyActionGroup>
-
+            <Space
+                android:id="@+id/emergency_info_dialpad_spacer"
+                android:layout_width="match_parent"
+                android:layout_height="0dp"
+                android:layout_weight="1"/>
             <include layout="@layout/dialpad_view_unthemed"
+                     android:layout_height="wrap_content"
+                     android:layout_width="match_parent"
                      android:theme="?attr/dialpadTheme" />
 
         </LinearLayout>
diff --git a/res/layout/pref_dialog_editpin.xml b/res/layout/pref_dialog_editpin.xml
deleted file mode 100644
index 94cdadf..0000000
--- a/res/layout/pref_dialog_editpin.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 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.
-     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.
--->
-
-<!-- Layout used as the dialog's content View for EditTextPreference. -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@*android:id/edittext_container"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:padding="?android:attr/dialogPreferredPadding">
-
-    <TextView android:id="@android:id/message"
-        style="?android:attr/textAppearanceSmall"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:textColor="?android:attr/textColorSecondary" />
-
-</LinearLayout>
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
new file mode 100644
index 0000000..40c2e53
--- /dev/null
+++ b/res/layout/radio_info.xml
@@ -0,0 +1,414 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/* //device/apps/Settings/assets/res/any/layout/radio_info.xml
+**
+** Copyright 2006, 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.
+*/
+-->
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout style="@style/info_layout"
+        android:descendantFocusability="beforeDescendants"
+        android:focusableInTouchMode="true">
+
+        <!-- Phone index -->
+        <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/phone_index_label"
+                style="@style/info_label"
+                />
+
+        <Spinner android:id="@+id/phoneIndex"
+                 android:layout_width="match_parent"
+                 android:layout_height="wrap_content"
+                />
+
+        <!-- IMEI -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_imei_label" style="@style/info_label" />
+            <TextView android:id="@+id/imei" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Phone Number -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_phone_number_label" style="@style/info_label" />
+            <TextView android:id="@+id/number" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Subscription ID -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_subid" style="@style/info_label" />
+            <TextView android:id="@+id/subid" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Default data subscription -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_dds" style="@style/info_label" />
+            <TextView android:id="@+id/dds" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- IMSI -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_imsi_label" style="@style/info_label" />
+            <TextView android:id="@+id/imsi" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Network Identifier -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_current_network_label" style="@style/info_label" />
+            <TextView android:id="@+id/operator" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Roaming -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_roaming_label" style="@style/info_label" />
+            <TextView android:id="@+id/roaming" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Data Service Status -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_gprs_service_label" style="@style/info_label" />
+            <TextView android:id="@+id/gprs" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Data Network Type -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_data_network_type_label" style="@style/info_label" />
+            <TextView android:id="@+id/data_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" />
+            <TextView android:id="@+id/gsm" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Voice Network Type -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_voice_network_type_label" style="@style/info_label" />
+            <TextView android:id="@+id/voice_network" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Signal Strength -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_signal_strength_label" style="@style/info_label" />
+            <TextView android:id="@+id/dbm" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Link Bandwidth -->
+        <LinearLayout style="@style/RadioInfo_entry_layout" android:orientation="horizontal">
+            <TextView android:text="@string/radio_info_dl_kbps" style="@style/info_label" />
+            <TextView android:id="@+id/dl_kbps" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Link Bandwidth -->
+        <LinearLayout style="@style/RadioInfo_entry_layout" android:orientation="horizontal">
+            <TextView android:text="@string/radio_info_ul_kbps" style="@style/info_label" />
+            <TextView android:id="@+id/ul_kbps" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Physical Channel Config -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_phy_chan_config" style="@style/info_label" />
+            <TextView android:id="@+id/phy_chan_config" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- Preferred Network Type -->
+        <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/radio_info_set_perferred_label"
+                style="@style/info_label"
+                />
+
+        <Spinner android:id="@+id/preferredNetworkType"
+                 android:layout_width="match_parent"
+                 android:layout_height="wrap_content"
+                />
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- Radio Power -->
+        <Switch android:id="@+id/radio_power"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/radio_info_radio_power"/>
+
+        <!-- VoLTE provisioned -->
+        <Switch android:id="@+id/volte_provisioned_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/volte_provisioned_switch_string"/>
+
+        <!-- VT provisioned -->
+        <Switch android:id="@+id/vt_provisioned_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/vt_provisioned_switch_string"/>
+
+        <!-- Wifi Calling provisioned -->
+        <Switch android:id="@+id/wfc_provisioned_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/wfc_provisioned_switch_string"/>
+
+        <!-- EAB/Presence provisioned -->
+        <Switch android:id="@+id/eab_provisioned_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/eab_provisioned_switch_string"/>
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- Enable/Disable CBRS data -->
+        <Switch android:id="@+id/cbrs_data_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/cbrs_data_switch_string" />
+
+        <!-- Switch between SSSS(single sim single standby) and DSDS(dual sim dual standby). -->
+        <Switch android:id="@+id/dsds_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/dsds_switch_string" />
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- Ping stats -->
+        <Button android:id="@+id/ping_test"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/ping_test_label"
+                />
+ 
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_ping_hostname_v4" style="@style/info_label" />
+            <TextView android:id="@+id/pingHostnameV4" style="@style/info_value" />
+        </LinearLayout>
+
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_ping_hostname_v6" style="@style/info_label" />
+            <TextView android:id="@+id/pingHostnameV6" style="@style/info_value" />
+        </LinearLayout>
+
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_http_client_test" style="@style/info_label" />
+            <TextView android:id="@+id/httpClientTest" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- PPP Sent -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_ppp_sent_label"
+                style="@style/info_label" />
+            <TextView android:id="@+id/sent" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- PPP Received -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_ppp_received_label"
+                style="@style/info_label" />
+            <TextView android:id="@+id/received" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- PPP Sent since last received -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_ppp_resets_label"
+                style="@style/info_label" />
+            <TextView android:id="@+id/sentSinceReceived" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- Call Status -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_call_status_label" style="@style/info_label" />
+            <TextView android:id="@+id/call" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Message Waiting Indicator -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_message_waiting_label" style="@style/info_label" />
+            <TextView android:id="@+id/mwi" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Call Forwarding Indicator -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_call_redirect_label" style="@style/info_label" />
+            <TextView android:id="@+id/cfi" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- CellInfoListRate Selection -->
+        <!-- Location -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_signal_location_label" style="@style/info_label" />
+            <TextView android:id="@+id/location" style="@style/info_value" />
+        </LinearLayout>
+
+        <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/radio_info_cell_info_refresh_rate"
+                style="@style/info_label"
+                />
+
+        <Spinner android:id="@+id/cell_info_rate_select"
+                 android:layout_width="match_parent"
+                 android:layout_height="wrap_content"
+                />
+
+        <!-- CellInfo -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:text="@string/radio_info_cellinfo_label"
+                      style="@style/info_label" />
+        </LinearLayout>
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <TextView android:id="@+id/cellinfo"
+                      style="@style/info_value"
+                      android:minHeight="300dip"
+                      android:textSize="12sp" />
+        </LinearLayout>
+
+        <!-- Horizontal Rule -->
+        <View
+            android:layout_width="fill_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider" />
+
+        <!-- Launch OEM-specific Info/Settings Activity (if any) -->
+        <!-- Carrier Provisioning -->
+        <LinearLayout style="@style/RadioInfo_entry_layout"
+                      android:orientation="horizontal" >
+            <Button android:id="@+id/carrier_provisioning"
+                    android:layout_marginTop="8dip"
+                    android:layout_weight="1"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:text="@string/carrier_provisioning"
+                    android:textSize="14sp"/>
+            <Button android:id="@+id/trigger_carrier_provisioning"
+                    android:layout_marginTop="8dip"
+                    android:layout_weight="1"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:text="@string/trigger_carrier_provisioning"
+                    android:textSize="14sp"/>
+            <Button android:id="@+id/oem_info"
+                    android:layout_marginTop="8dip"
+                    android:layout_weight="1"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:text="@string/oem_radio_info_label"
+                    android:textSize="14sp"/>
+        </LinearLayout>
+
+        <!-- SMSC -->
+        <RelativeLayout android:layout_width="match_parent"
+                        android:layout_height="wrap_content">
+            <TextView android:id="@+id/smsc_label"
+                      android:text="@string/radio_info_smsc_label"
+                      android:layout_alignBaseline="@+id/update_smsc"
+                      style="@style/info_label" />
+            <Button android:id="@+id/refresh_smsc"
+                    android:textSize="14sp"
+                    android:layout_marginTop="8dip"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/radio_info_smsc_refresh_label"
+                    android:layout_alignParentEnd="true"
+                    />
+            <Button android:id="@+id/update_smsc"
+                    android:textSize="14sp"
+                    android:layout_marginTop="8dip"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/radio_info_smsc_update_label"
+                    android:layout_toStartOf="@+id/refresh_smsc"
+                    android:layout_alignBaseline="@+id/refresh_smsc"
+                    />
+            <EditText android:id="@+id/smsc"
+                      style="@style/form_value"
+                      android:layout_alignBaseline="@+id/refresh_smsc"
+                      android:layout_toStartOf="@id/update_smsc"
+                      android:layout_toEndOf="@id/smsc_label" />
+        </RelativeLayout>
+
+        <!-- Test setting to ignore bad DNS, useful in lab environments -->
+        <LinearLayout style="@style/RadioInfo_entry_layout">
+            <Button android:id="@+id/dns_check_toggle"
+                    android:textSize="14sp"
+                    android:layout_marginTop="8dip"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/radio_info_toggle_dns_check_label"
+                    />
+            <TextView android:id="@+id/dnsCheckState" style="@style/info_value" />
+        </LinearLayout>
+
+
+    </LinearLayout>
+</ScrollView>
diff --git a/res/layout/sim_ndp.xml b/res/layout/sim_ndp.xml
index 5e3c472..5f03d7b 100644
--- a/res/layout/sim_ndp.xml
+++ b/res/layout/sim_ndp.xml
@@ -29,6 +29,7 @@
             android:layout_centerInParent="true">
 
         <TextView
+                android:id="@+id/perso_subtype_text"
                 android:textAppearance="?android:attr/textAppearanceMedium"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
diff --git a/res/values-af/config.xml b/res/values-af/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-af/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 18a7800..66a8ee8 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privaat nommer"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefoonhokkie"</string>
     <string name="onHold" msgid="6132725550015899006">"Hou aan"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>-boodskap"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Diensverskafferboodskap"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-kode begin"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-kode loop tans…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-kode gekanselleer"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Net NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Voorkeurnetwerk-modus: WCDMA verkies"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Voorkeurnetwerk-modus: net GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Voorkeurnetwerk-modus: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Voorkeurnetwerk-modus: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Voorkeurnetwerk-modus: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Voorkeurnetwerkmodus: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Voorkeurnetwerk-modus: Globaal"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Voorkeurnetwerk-modus: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Voorkeurnetwerkmodus: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Voorkeurnetwerkmodus: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Voorkeurnetwerkmodus: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Voorkeurnetwerkmodus: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Voorkeurnetwerkmodus: net NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Voorkeurnetwerkmodus: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Voorkeurnetwerkmodus: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Voorkeurnetwerkmodus: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Voorkeurnetwerkmodus: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Voorkeurnetwerkmodus: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Voorkeurnetwerkmodus: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Voorkeurnetwerkmodus: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Voorkeurnetwerkmodus: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Voorkeurnetwerkmodus: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Voorkeurnetwerkmodus: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Oproepe"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Netwerk"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Verbeterde 4G LTE-modus"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multikategorie"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multikategorie geaktiveer"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multikategorie gedeaktiveer"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (aanbeveel)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (aanbeveel)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (aanbeveel)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globaal"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Verwyder belbeperking-nommer…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Belbeperking-nommer uitgevee."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN is nie opgedateer nie omdat jy \'n verkeerde PIN ingevoer het."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN is nie opgedateer nie, omdat die getal 20 syfers oorskry."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN is nie opgedateer nie, omdat die getal <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>syfers oorskry."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN is nie bygewerk nie. Die PIN2 was verkeerd of die foonnommer is verwerp."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN-bewerking het misluk."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lees tans van SIM-kaart af…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Kan nie bel nie. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is nie \'n noodnommer nie."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Kan nie bel nie. Skakel \'n noodnommer."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Noodoproepe is nie bekikbaar nie"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Net die eienaar van die toestel kan PIN-/PUK-kodes invoer."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polisie"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulans"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Brand"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Intydse teksoproep (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Laat boodskappe binne \'n stemoproep toe"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT help bellers wat doof is, hardhorend is, \'n spraakgebrek het of meer as net stem benodig.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Kom meer te wete&lt;/a&gt;\n       &lt;br&amp;gtlt;br&gt; - RTT-oproepe word as \'n boodskaptranskripsie gestoor\n       &lt;br&amp;gt - RTT is nie vir video-oproepe beskikbaar nie"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Let wel: RTT is nie beskikbaar terwyl jy swerf nie"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY af"</item>
     <item msgid="1449091874731375214">"TTY vol"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nee"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Oproepstuiting is gedeaktiveer"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Verander wagwoord"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Verander oproepstuitingwagwoord"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Kan nie oproepstuitingwagwoord verander nie"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Kan nie oproepstuitingwagwoord verander nie"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Wagwoorde nie dieselfde nie"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Voer \'n wagwoord met 4 syfers in"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Wagwoord verander"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Bevestig wagwoord"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Voer wagwoord in"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Oproepstuitinginstellings"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deaktiveer alle oproepstuitinginstellings?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Netwerk is besig. Probeer asseblief later weer bel."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Netwerk is vol. Kontak jou selfoonoperateur vir bystand."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Oproep is afgelei."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Om <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> te gebruik, maak seker dat mobiele data en dataswerwing vir SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> aangeskakel is. Jy kan dit in selnetwerk-instellings verander."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Weier"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Aktiveer dataverbinding"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Deaktiveer dataverbinding"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-voorbereid"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video-oproepe is opgestel"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi-oproepe is opgestel"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/teenwoordigheid is opgestel"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs-data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Aktiveer DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Herbegin toestel?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Bekyk skakeldiensnommers"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS-diensstatus"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Geregistreer"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Nie geregistreer nie"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Beskikbaar"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nie beskikbaar nie"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrasie: <xliff:g id="STATUS">%1$s</xliff:g>\nStem oor LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nStem oor Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo-oproepe: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-koppelvlak: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In diens"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Diens is nie beskikbaar nie"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Net noodoproepe"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio is af"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Swerwing"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Swerf nie"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Luier"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Lui tans"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Besig met oproep"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Ontkoppel"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Koppel tans"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Gekoppel"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Opgeskort"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Onbekend"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"grepe"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Huidige sub-ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Sub-ID van verstekdata-SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Aflaaibandwydte (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Oplaaibandwydte (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Selligginginligting (opgeskort):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Fisieke LTE-kanaalopstelling:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Herlaaikoers van selinligting:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Alle selmetingsinligting:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datadiens:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Swerwing:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Oproepherleiding:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Aantal PPP-terugstellings sedert herlaai:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Huidige netwerk:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data ontvang:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Stemdiens:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Seinsterkte:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Stemoproepstatus:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data gestuur:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Boodskap wag:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Foonnommer:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Pieng gasheernaam(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-kliënttoets:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Doen piengtoets"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Dateer op"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Stel radiobandmodus"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Laai tans bandlys …"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Stel"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Onsuksesvol"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Suksesvol"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tabletinligting"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Fooninligting"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Diensverskaffervoorsiening-inligting"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger-diensverskaffervoorsiening"</string>
 </resources>
diff --git a/res/values-am/config.xml b/res/values-am/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-am/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 5b7c8e3..b345a2e 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"የግል ቁጥር"</string>
     <string name="payphone" msgid="7936735771836716941">"የሕዝብ ስልክ"</string>
     <string name="onHold" msgid="6132725550015899006">"ያዝናቆይ"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> መልዕክት"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"የአገልግሎት አቅራቢ መልዕክት"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"የMMI ኮድ ጀምሯል"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"የUSSD ኮድ አሂድ ላይ ነው..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"የMMI ኮድ ቀርቷል"</string>
@@ -72,7 +74,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"የመለያ ቅንብሮችን ይውቀሩ"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"የሁሉም ደዋይ መለያዎች"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"የትኛዎቹ መለያዎች ጥሪዎችን ማድረግ እንደሚችሉ ይምረጡ"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"የWi-Fi ጥሪ ማድረጊያ"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"የWi-Fi ጥሪ"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"አብሮ የተገነባ የግንኙነት አገልግሎት"</string>
     <string name="voicemail" msgid="7697769412804195032">"የድምፅ መልዕክት"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"የድምጽ መልዕክት (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR ብቻ"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ተመራጭ የአውታረመረብ ፡WCDMA ሁነታ ተመራጭ"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ተመራጭ የአውታረመረብ ፡GSM ሁነታ ብቻ"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ተመራጭ የአውታረመረብ ሁኔታ፡ LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ተመራጭ የአውታረመረብ ሁኔታ: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ተመራጭ የአውታረመረብ ሁኔታ ፡ CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"የተመረጠው የአውታረ መረብ ሁነታ፦ LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ተመራጭ የአውታረመረብ ፡ አለምአቀፍ"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ተመራጭ የአውታረመረብ ሁኔታ፡ LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ተመራጭ የአውታረ መረብ ሁነታ፦ LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"የተመረጠው የአውታረ መረብ ሁነታ፦ LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"የተመረጠው የአውታረ መረብ ሁነታ፦ CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"የተመረጠው የአውታረ መረብ ሁነታ፦ LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR ብቻ"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"የተመረጠው የአውታረ መረብ ሁነታ፦ NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"በመደወል ላይ"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"አውታረ መረብ"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"የተሻሻለ የ4ጂ LTE ሁነታ"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ብዙ ምድብ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"ብዙ ምድብ ነቅቷል"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ብዙ-ምድብ አልነቃም"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (የሚመከር)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (የሚመከር)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (የሚመከር)"</string>
     <string name="network_global" msgid="3289646154407617631">"አለምአቀፍ"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"በቋሚ መደወያ ቁጥር በመሰረዝ ላይ..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"ቋሚ መደወያ ቁጥር ተሰርዟል።"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"የተሳሳተ ፒን ስላስገባህ FDN አልዘመነም፡፡"</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN አልተደገፈም ነበር ምክንያቱም ቁጥሩ ከ20 አኃዞች ያንሳል።"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN ቁጥሩ ከ<xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> አሃዞች ስለሚበልጥ አልዘመነም።"</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN አልዘመነም። ፒን2 ትክክል አልነበረም፣ ወይም የስልክ ቁጥሩ ተቀባይነት አላገኘም።"</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN ክወና አልተሳካም!"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"ከSIM ካርድ ላይ በማንበብ ላይ..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"መደወል አልተቻለም። <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> የአስቸኳይ አደጋ ቁጥር አይደለም።"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"መደወል አልተቻለም። ወደ የአስቸኳይ አደጋ ቁጥር ይደውሉ።"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"የአደጋ ጊዜ ጥሪ ማድረግ አይገኝም"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"የመሣሪያው ባለቤት ብቻ ፒን/PUK ኮዶችን ማስገባት ይችላል።"</string>
     <string name="police_type_description" msgid="2819533883972081757">"ፖሊስ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"አምቡላንስ"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"እሳት"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"ቅጽበታዊ ጽሁፍ (አርቲቲ) ጥሪ"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"በድምጽ ጥሪ ውስጥ መልዕክት መላክን ፍቀድ"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"አርቲቲ መስማት የተሳናቸው፣ የመስማት ችግር ያለባቸው፣ መስማት ያሚያዳግታቸው እና የንግግር አካል ጉዳት ያለባቸውን ወይም ከድምጽ በላይ የሚያስፈልጋቸውን ደዋዮች ይረዳል።&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;የበለጠ ለመረዳት&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - አርቲቲ ጥሪዎች እንደ የመልዕክት ጽሁፍ ግልባጭ ይቀመጣሉ\n       &lt;br&gt; - አርቲቲ ለቪዲዮ ጥሪዎች አይገኝም"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"ማስታወሻ፦ አርቲቲ በዝውውር ላይ እያሉ አይገኝም።"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ጠፍቷል"</item>
     <item msgid="1449091874731375214">"TTY ሙሉ"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ጥሪ ክልከላ ተሰናክሏል"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"የይለፍ ቃል ለውጥ"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"የጥሪ ክልከላ የይለፍ ቃልን ለውጥ"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"የጥሪ ክልከላ የይለፍ ቃልን መለወጥ አይቻልም።"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"የጥሪ ክልከላ የይለፍ ቃልን መለወጥ አይቻልም"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"የይለፍ ቃሎችዎ አልተዛመዱም"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 ቁጥሮች ያሉት የይለፍ ቃል ያስገቡ"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"የይለፍ ቃል ተለውጧል"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"የይለፍ ቃልን ያረጋግጡ"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"የይለፍ ቃል አስገባ"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"የጥሪ ክልከላ ቅንብሮች"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"ሁሉንም የጥሪ ክልከላ ቅንብሮች አሰናክል?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"አውታረመረብ ተጨናንቋል። እባክዎ ጥሪዎን በኋላ እንደገና ይሞክሩ።"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"አውታረመረብ ተጨናንቋል ለእገዛ የሞባይል አከናዋኝዎን ያነጋግሩ"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"ጥሪ አቅጣጫውን ቀይሯል።"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ን ለመጠቀም ሞባይል ውሂብ ለ ሲም <xliff:g id="SIM_NUMBER">%2$d</xliff:g> መብራቱን ያረጋግጡ። ይህን በሞባይል አውታረመረብ ቅንብሮች ውስጥ መለወጥ ይችላሉ።"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>ን ለመጠቀም፣ ሞባይል ውሂብ እና ይውሂብ ዝውውር ለሲም <xliff:g id="SIM_NUMBER">%2$d</xliff:g> መብራታቸውን ያረጋግጡ። እነዚህን በ ሞባይል አውታረመረብ ቅንብሮች ውስጥ መለወጥ ይችላሉ።"</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"የቪዲዮ ጥሪ ቀርቧል"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"የWifi ጥሪ ቀርቧል"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"የEAB/ተገኝነት ቀርቧል"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"የCbrs ውሂብ"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDSን አንቃ"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"የሞባይል ሬዲዮ ኃይል"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"የሲም አድራሻ ደብተር አሳይ"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"በቋሚነት የሚደወልባቸው ቁጥሮች"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"የአገልግሎት መደወያ ቁጥሮችን ተመልከት"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS አገልግሎት ሁነታ"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS ሁነታ"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ተመዝግቧል"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"አልተመዘገበም"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"የሚገኙ"</string>
+    <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_emergency" msgid="4763879891415016848">"የአደጋ ጊዜ ጥሪዎች ብቻ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ሬዲዮ ጠፍቷል"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"በማዘዋወር ላይ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"እየተዘዋወረ አይደለም"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"ሥራ ፈት"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"በመጥራት ላይ"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"ጥሪ በሂደት ላይ"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ተቋርጧል"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"በመገናኘት ላይ"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"ተገናኝቷል"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"ታግዷል"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"ያልታወቀ"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ባይቶች"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"የአሁኑ subId፡"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"የነባሪ ውሂብ ሲም SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL መተላለፊያ ይዘት (ኪቢ/ሴ)፡"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"የUL መተላለፊያ ይዘት (ኪቢ/ሴ)፡"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"የሕዋስ የአካባቢ መረጃ (የተቋረጠ)፦"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"የLTE አካላዊ ሰርጥ ውቅረት:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"የሕዋስ መረጃ እድሳት ፍጥነት፡"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ሁሉም የሕዋስ መለኪያ መረጃ፡"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"የውሂብ አገልግሎት:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"በማዛወር ላይ:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"ጥሪ ተዛውሯል:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"ከተነሳ ጀምሮ የ PPP ድጋሚ ጅምር ብዛት"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"የአሁኑ አውታረ መረብ፡"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ውሂብ ተቀብሏል:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"የድምፅ አገልግሎት:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"የሲግናል ጥንካሬ:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"የድምጽ ጥሪ ሁኔታ፡"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"የተላከ ውሂብ፦"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"መልዕክት በመጠበቅ ላይ፡"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ስልክ ቁጥር:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ፒንግ ስመ ካዳም(www.google.com) IPv6፡"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"የኤችቲቲፒ ደንበኛ ሙከራ:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"የDNS ፍተሻን ቀያይር"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-የተወሰነ መረጃ/ቅንብሮች"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"የሬዲዮ ባንድ ሁነታን ያቀናጁ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"የባንድ ዝርዝርን በመጫን ላይ…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"አዋቅር"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"አልተሳካም"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"ስኬታማ"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"የጡባዊ መረጃ"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"የስልክ መረጃ"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"የአገልግሎት አቅራቢ አቅርቦት መረጃ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"የቀስቅሴ አገልግሎት አቅራቢ አቅርቦት"</string>
 </resources>
diff --git a/res/values-ar/config.xml b/res/values-ar/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ar/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 2efc028..f542184 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"رقم خاص"</string>
     <string name="payphone" msgid="7936735771836716941">"هاتف يعمل بالعملة"</string>
     <string name="onHold" msgid="6132725550015899006">"معلقة"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"رسالة <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"رسالة مشغِّل شبكة الجوَّال"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"‏بدأ رمز MMI"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"‏جارٍ تشغيل رمز USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"‏تم إلغاء رمز MMI"</string>
@@ -172,7 +174,7 @@
     <string name="connect_later" msgid="1950138106010005425">"يتعذر الاتصال بهذه الشبكة في الوقت الحالي. حاول مرة أخرى لاحقًا."</string>
     <string name="registration_done" msgid="5337407023566953292">"مسجل على الشبكة."</string>
     <string name="already_auto" msgid="8607068290733079336">"في التحديد التلقائي فعلاً."</string>
-    <string name="select_automatically" msgid="779750291257872651">"تحديد الشبكة تلقائيًا"</string>
+    <string name="select_automatically" msgid="779750291257872651">"اختيار الشبكة تلقائيًا"</string>
     <string name="manual_mode_disallowed_summary" msgid="3970048592179890197">"‏الشبكات غير متاحة عند الاتصال بمشغِّل شبكة الجوّال %1$s."</string>
     <string name="network_select_title" msgid="4117305053881611988">"الشبكة"</string>
     <string name="register_automatically" msgid="3907580547590554834">"التسجيل التلقائي..."</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"‏NR فقط"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"‏وضع الشبكة المفضل: تم تفضيل WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"‏وضع الشبكة المفضل: GSM فقط"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"‏وضع الشبكة المفضل: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"‏وضع الشبكة المفضل: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"‏وضع الشبكة المفضل: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"‏وضع الشبكة المُفضَّل: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"وضع الشبكة المفضل: عام"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"‏وضع الشبكة المفضل: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"‏وضع الشبكة المفضل: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"‏وضع الشبكة المفضل: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"‏وضع الشبكة المفضل: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"‏وضع الشبكة المفضل: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"‏وضع الشبكة المُفضَّل: NR فقط"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"‏وضع الشبكة المُفضَّل: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"‏وضع الشبكة المُفضَّل: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"‏وضع الشبكة المُفضَّل: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"‏وضع الشبكة المُفضَّل: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"‏وضع الشبكة المُفضَّل: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"‏وضع الشبكة المُفضَّل: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"‏وضع الشبكة المُفضَّل: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"‏وضع الشبكة المُفضَّل: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"‏وضع الشبكة المُفضَّل: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"‏وضع الشبكة المُفضَّل: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"الاتصال"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"الشبكة"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"‏وضع 4G LTE المحسّن"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"متعددة الفئات"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"تم تفعيل المتعددة الفئات"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"تم إيقاف متعددة الفئات"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (موصى به)"</string>
     <string name="network_lte" msgid="7206879277095094280">"‏LTE (مستحسن)"</string>
     <string name="network_4G" msgid="6800527815504223913">"الجيل الرابع (مستحسن)"</string>
     <string name="network_global" msgid="3289646154407617631">"عام"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"جارٍ حذف رقم الاتصال الثابت..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"تم حذف رقم الاتصال الثابت."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"‏لم يتم تحديث FDN لأنك كتبت رقم تعريف شخصي غير صحيح."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"‏لم يتم تحديث FDN نظرًا لأن الرقم يتجاوز طوله 20 رقمًا."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"‏لم يتم تحديث FDN نظرًا لأن الرقم يتجاوز طوله <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> رقمًا."</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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"يتعذر الاتصال. لا يعد <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> رقم طوارئ."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"يتعذر الاتصال. يمكنك طلب رقم طوارئ."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"مكالمة الطوارئ غير متوفرة"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"‏يمكن لمالك الجهاز فقط إدخال رمزَي PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"شرطة"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"سيارة إسعاف"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"حريق"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"مكالمة باستخدام الميزة \"مراسلة نصية في الوقت الفعلي\""</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"السماح بالمراسلة داخل مكالمة صوتية"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"‏تعمل الميزة \"مراسلة نصية في الوقت الفعلي\" على مساعدة المتصلين الذين يعانون من فقدان حاسة السمع أو من ضعف في السمع أو ليست لديهم القدرة على التحدث أو يحتاجون إلى ما هو أكثر من الصوت فقط.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;معرفة المزيد&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - يتم حفظ المكالمات التي تتم عن طريق الميزة \"مراسلة نصية في الوقت الفعلي\" كنص رسالة \n       &lt;br&gt; - لا تتوفر الميزة \"مراسلة نصية في الوقت الفعلي\" لمكالمات الفيديو"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"ملاحظة: لا تتوفّر ميزة \"المراسلة النصية في الوقت الفعلي\" أثناء التجوال"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"‏TTY غير مفعّل"</item>
     <item msgid="1449091874731375214">"‏TTY مكتمل"</item>
@@ -617,6 +645,16 @@
     <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="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>
     <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>
@@ -624,7 +662,7 @@
     <string name="calling_via_template" msgid="1791323450703751750">"الاتصال عبر <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</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>
@@ -756,7 +794,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"تم إيقاف منع الاتصال"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"تغيير كلمة المرور"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"تغيير كلمة مرور منع الاتصال"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"يتعذر تغيير كلمة مرور منع الاتصال."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"يتعذّر تغيير كلمة مرور منع الاتصال."</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"كلمتا المرور غير متطابقتين"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"إدخال كلمة مرور مكونة من 4 أرقام"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"تم تغيير كلمة المرور"</string>
@@ -765,7 +803,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"تأكيد كلمة المرور"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"إدخال كلمة المرور"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"إعدادات منع الاتصال"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"هل تريد إيقاف كل إعدادات منع الاتصال؟"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"الشبكة مشغولة. يُرجى إعادة الاتّصال في وقتٍ لاحق."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"الشبكة مزدحمة. اتصل بمشغّل شبكة الجوّال للحصول على مساعدة."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"تم انحراف المكالمة."</string>
@@ -795,4 +832,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"تم توفير مكالمات الفيديو"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"‏تم توفير اتصال Wifi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"‏تم توفير EAB/الحضور"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"‏بيانات CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"‏تفعيل DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"طاقة اللاسلكي للجوّال"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏عرض دفتر عناوين SIM"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"عرض أرقام الطلب الثابت"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"عرض أرقام طلب الخدمة"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"حالة خدمة الرسائل الفورية"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"حالة الرسائل الفورية"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"مسجّل"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"غير مسجّل"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"متاح"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"الميزة غير متاحة"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"‏تسجيل الرسائل الفورية: <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>\nواجهة UT: <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_emergency" msgid="4763879891415016848">"مكالمات الطوارئ فقط"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"تم إيقاف اللاسلكي"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"التجوال"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ليس هناك تجوال"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"خامل"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"جارٍ استصدار الرنين…"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"الاتصال قيد التقدّم"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"غير متصل"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"جارٍ الاتصال…"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"متّصل بالإنترنت"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"معلّق"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"غير معروف"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"الحزم"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"بايت"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"بالديسيبل"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"المعرّف الفرعي الحالي:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"‏المعرّف الفرعي لشريحة SIM التلقائية للبيانات:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"‏معدّل نقل بيانات DL (كيلوبت في الثانية):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"‏معدّل نقل بيانات UL (كيلوبت في الثانية):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"معلومات الموقع الخلوية (تم الإيقاف):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"‏ضبط قناة LTE Physical:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"معدّل إعادة تحميل المعلومات الخلوية:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"جميع معلومات القياس الخلوية:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"خدمة البيانات:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"التجوال:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"إعادة توجيه الاتصال:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"‏عدد مرات إعادة ضبط PPP منذ التشغيل:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"الشبكة الحالية:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"البيانات المُستلَمة:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"الخدمة الصوتية:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"قوة الإشارة:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"حالة المكالمة الصوتية:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"البيانات المُرسَلة:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"انتظار الرسائل:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"رقم الهاتف:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"‏فحص اتصال اسم المضيف (www.google.com) عبر IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"‏اختبار عميل HTTP:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"تبديل فحص نظام أسماء النطاقات"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"المعلومات/الإعدادات المتعلّقة بالمصنّع الأصلي للجهاز"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"تحديد وضع النطاق اللاسلكي"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"جارٍ تحميل قائمة النطاقات…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"ضبط"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"لم يتم بنجاح"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"تم بنجاح"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"معلومات الجهاز اللوحي"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"معلومات الهاتف"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"معلومات توفير خدمة مشغّل شبكة الجوّال"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"توفير خدمة مشغّل شبكة الجوّال"</string>
 </resources>
diff --git a/res/values-as/config.xml b/res/values-as/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-as/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 519be46..873030b 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ব্যক্তিগত নম্বৰ"</string>
     <string name="payphone" msgid="7936735771836716941">"পে\'ফ\'ন"</string>
     <string name="onHold" msgid="6132725550015899006">"হ\'ল্ডত আছে"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> বাৰ্তা"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"বাহকৰ বাৰ্তা"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI ক\'ড আৰম্ভ কৰা হ’ল"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD ক\'ড চলি আছে…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI ক\'ড বাতিল কৰা হ’ল"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"কেৱল NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: WCDMA অগ্ৰাধিকাৰ দিয়া হৈছে"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: GSM মাত্ৰ"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: গোলকীয়"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্ক ম\'ড: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: কেৱল NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"অগ্ৰাধিকাৰপ্ৰাপ্ত নেটৱৰ্ক ম’ড: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ ম’ড: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"কলিং"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"নেটৱৰ্ক"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"পৰিৱৰ্ধিত 4G এলটিই ম’ড"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"বহু-বৰ্গীয়"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"বহু-বৰ্গীয় সক্ষম কৰা হ’ল"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"বহু-বৰ্গীয় অক্ষম কৰা হ’ল"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (চুপাৰিছ কৰা)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (অনুমোদিত)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (অনুমোদিত)"</string>
     <string name="network_global" msgid="3289646154407617631">"গোলকীয়"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"ফিক্সড্ ডায়েলিং নম্বৰ মচি থকা হৈছে…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"ফিক্সড্ ডায়েলিং নম্বৰ মচা হ’ল।"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"আপুনি ভুল পিন টাইপ কৰা কাৰণে FDN আপডে’ট কৰা নহ\'ল।"</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"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="fdn_failed" msgid="216592346853420250">"FDN অপাৰেশ্বন বিফল হ’ল।"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"ছিম কাৰ্ডৰ পৰা পঢ়ি থকা হৈছে…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"কল কৰিব নোৱাৰি। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> এইটো জৰুৰীকালীন নম্বৰ নহয়।"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"কল কৰিব নোৱাৰি। জৰুৰী নম্বৰ এটা ডায়েল কৰক।"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"জৰুৰীকালীন কলিঙৰ সুবিধা উপলব্ধ নহয়"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"কেৱল ডিভাইচটোৰ গৰাকীয়েহে PIN/PUK ক’ডসমূহ দিব পাৰে।"</string>
     <string name="police_type_description" msgid="2819533883972081757">"পুলিচ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"এম্বুলেঞ্চ"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"জুই"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"টোকা: ৰ’মিঙত থাকোঁতে RTT উপলব্ধ নহয়"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY বন্ধ হৈ আছে"</item>
     <item msgid="1449091874731375214">"TTY সম্পূৰ্ণ"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"কল প্ৰতিবন্ধক নিষ্ক্ৰিয় কৰা হ’ল"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"পাছৱৰ্ড সলনি কৰক"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"কল প্ৰতিবন্ধক পাছৱৰ্ড সলনি কৰক"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"কল প্ৰতিবন্ধক পাছৱৰ্ড সলনি কৰিব নোৱাৰি।"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"কল প্ৰতিবন্ধক পাছৱৰ্ড সলনি কৰিব নোৱাৰি"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"পাছৱৰ্ডসমূহ মিলা নাই"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"৪টা সংখ্যাৰ এটা পাছৱৰ্ড লিখক"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"পাছৱৰ্ড সলনি কৰা হ’ল"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"পাছৱৰ্ড নিশ্চিত কৰক"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"পাছৱৰ্ড দিয়ক"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"কল প্ৰতিবন্ধক ছেটিংসমূহ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"সকলো কল প্ৰতিবন্ধক ছেটিং নিষ্ক্ৰিয় কৰেনে?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"নেটৱৰ্ক ব্যস্ত। অনুগ্ৰহ কৰি কিছুসময় পিছত আকৌ কল কৰাৰ চেষ্টা কৰক।"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"নেটৱর্ক ব্যস্ত আছে। সহায়তাৰ বাবে আপোনাৰ ম\'বাইল অ\'পাৰেটৰৰ সৈতে যোগাযোগ কৰক।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"কলটো বিচ্যুত কৰা হৈছে।"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ব্যৱহাৰ কৰিবলৈ <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ছিমত ম’বাইল ডেটা অন হৈ থকাটো নিশ্চিত কৰক। আপুনি ম’বাইল নেটৱৰ্ক ছেটিংসমূহ-লৈ গৈ ইয়াক সলনি কৰিব পাৰে।"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ব্যৱহাৰ কৰিবলৈ <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ছিমত ম’বাইল ডেটা আৰু ডেটা ৰ’মিং অন হৈ থকাটো নিশ্চিত কৰক। আপুনি ম’বাইল নেটৱৰ্ক ছেটিংসমূহ-লৈ গৈ ইয়াক সলনি কৰিব পাৰে।"</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ভিডিঅ’ কলিং প্ৰ’ভিজন কৰা হৈছে"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"ৱাইফাই কলিং প্ৰ\'ভিজন কৰা হৈছে"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/উপস্থিতিক প্ৰ’ভিজন কৰা হৈছে"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ডেটা"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS সক্ষম কৰক"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"ম’বাইলৰ ৰেডিঅ’ পাৱাৰ"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ছিম ঠিকনা সূচী চাওক"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ফিক্সড্ ডায়েলিং নম্বৰসমূহ চাওক"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"সেৱা ডায়েলিং নম্বৰসমূহ চাওক"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS সেৱাৰ স্থিতি"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMSৰ স্থিতি"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"পঞ্জীকৃত"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"পঞ্জীকৃত নহয়"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"উপলব্ধ"</string>
+    <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ভইচ অভাৰ ৱাই-ফাই: <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_emergency" msgid="4763879891415016848">"কেৱল জৰুৰীকালীন কলসমূহ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ৰেডিঅ’ অফ হৈ আছে"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ৰ’মিং"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ৰ’মিঙত নাই"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"নিষ্ক্ৰিয়"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"ৰিং হৈ আছে"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"কল চলি আছে"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"সংযোগ বিচ্ছিন্ন হৈছে"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"সংযোগ কৰি থকা হৈছে"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"সংযোগ কৰা হ’ল"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"নিলম্বন কৰা হৈছে"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"অজ্ঞাত"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"পিকেটিএছ"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"বাইটসমূহ"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"ডিবিএম"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"এএছইউ"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"বৰ্তমানৰ ছাবআইডি:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ডিফ’ল্ট ডেটা ছিমৰ ছাবআইডি:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL বেণ্ডৱিথ (কেবিপিএছ):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL বেণ্ডৱিথ (কেবিপিএছ):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"চেল অৱস্থানৰ তথ্য (অনুমোদিত নহয়):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ফিজিকেল চেনেলৰ কনফিগাৰেশ্বন:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"চেল তথ্য ৰিফ্ৰেশ্বৰ হাৰ:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"সকলো চেল পৰিমাপৰ তথ্য:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ডেটা সেৱা:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ৰ’মিং:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"কল ৰিডাইৰেক্ট কৰক:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"বুট কৰাৰ পাছত PPP ৰিছেট কৰাৰ সংখ্যা:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"বৰ্তমানৰ নেটৱৰ্ক:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"লাভ কৰা ডেটা:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ভইচ সেৱা:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"সংকেতৰ ক্ষমতা:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ভইচ কলৰ স্থিতি:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"প্ৰেৰণ কৰা ডেটা:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"বাৰ্তা অপেক্ষাৰত:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ফ’ন নম্বৰ:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"হ\'ষ্টনাম(www.google.com) IPv6 পিং কৰক:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP ক্লায়েণ্ট পৰীক্ষা:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS পৰীক্ষা ট’গল কৰক"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM বিশেষক তথ্য/ছেটিংসমূহ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ৰেডিঅ’ৰ বেণ্ড ম’ড ছেট কৰক"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"বেণ্ড সূচীখন ল’ড কৰি থকা হৈছে…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"ছেট কৰক"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"বিফল"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"সফল"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"টেবলেটৰ তথ্য"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ফ\'নৰ তথ্য"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"বাহকৰ প্ৰ’ভিজনিং তথ্য"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"বাহকৰ প্ৰ’ভিজনিং সূচনা কৰক"</string>
 </resources>
diff --git a/res/values-az/config.xml b/res/values-az/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-az/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 17e21f6..072fa3d 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Şəxsi nömrə"</string>
     <string name="payphone" msgid="7936735771836716941">"Taksofon"</string>
     <string name="onHold" msgid="6132725550015899006">"Gözləmə mövqeyində"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Mesajı"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operator Mesajı"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI kodu başlandı"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD kod işləyir..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI kodu ləğv olundu"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Yalnız NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Tərcih edilmiş şəbəkə rejimi: WCDMA tərcih edilir"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Tərcih edilmiş şəbəkə rejimi: Yalnız GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Tərcih edilmiş şəbəkə rejimi: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Tərcih edilmiş şəbəkə rejimi: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Tərcih edilmiş şəbəkə rejimi: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Tərcih edilən şəbəkə rejimi: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Tərcih edilmiş şəbəkə rejimi: Qlobal"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Tərcih edilmiş şəbəkə rejimi: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Seçilən şəbəkə rejimi: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Tərcih edilmiş şəbəkə rejimi: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Tərcih edilmiş şəbəkə rejimi: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Tərcih edilmiş şəbəkə rejimi: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Tərcih edilən şəbəkə rejimi: Yalnız NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Tərcih edilən şəbəkə rejimi: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Tərcih edilən şəbəkə rejimi: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Tərcih edilən şəbəkə rejimi: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Tərcih edilən şəbəkə rejimi: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Tərcih edilən şəbəkə rejimi: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Tərcih edilən şəbəkə rejimi: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Tərcih edilən şəbəkə rejimi: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Tərcih edilən şəbəkə rejimi: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Tərcih edilən şəbəkə rejimi: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Tərcih edilən şəbəkə rejimi: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Zəng edilir"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Şəbəkə"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Təkmil 4G LTE Rejimi"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-kateqoriya"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multi-kateqoriya aktivdir"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multi-kateqoriya deaktivdir"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (tövsiyə edilir)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (məsləhətlidir)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (məsləhətlidir)"</string>
     <string name="network_global" msgid="3289646154407617631">"Qlobal"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Sabit yığım nömrəsi silinir…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Sabit yığım nömrəsi silindi."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Yanlış PIN daxil etdiyiniz üçün FDN güncəlləşdirilmədi."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Nömrə 20 rəqəmi keçdiyindən FDN yenilənmədi."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Nömrə <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> rəqəmi keçdiyindən FDN yenilənmədi."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN güncəlləşdirilmədi. PIN2 yanlış idi və ya telefon nömrəsi rədd edildi."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN əməliyyatı aılnmadı."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM kart oxunur ..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Zəng etmək mümkün deyil. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> fövqəladə nömrə deyil."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Zəng etmək mümkün deyil. Fövqəladə nömrəni yığ."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Təcili zəng əlçatan deyil"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Yalnız cihazın sahibi PIN/PUK kodlarını daxil edə bilər."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polis"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Təcili yardım"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Yanğın"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real zaman mətn (RTT) zəngi"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Səsli zəng daxilində mesajlaşmaya icazə verin"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT kar və ya eşitmə problemi olan, danışma qüsuru olan və ya səsdən daha çoxuna ehtiyac duyan şəxslərə dəstək olur.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Ətraflı məlumat&lt;/a&gt;\n &lt;br&gt;&lt;br&gt; - RTT zəngləri mesaj transkripsiyası kimi yadda saxlanılır\n &lt;br&gt; - RTT video zənglər üçün əlçatan deyil"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Qeyd: Rominq zamanı RTT əlçatan olmur"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Teletayp Deaktivdir"</item>
     <item msgid="1449091874731375214">"Tam funksiyası Teletayp"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Bəli"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Xeyr"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Zəng bloklama deaktiv edildi"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Parolu dəyişin"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Zəng bloklama parolunu dəyişin"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Zəng bloklama parolunu dəyişmək mümkün deyil."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Zəng bloklama parolunu dəyişmək mümkün deyil"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Parollar uyğun deyil"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 rəqəmli parol daxil edin"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Parol dəyişdirildi"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Parolu təsdiqləyin"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Parol daxil edin"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Zəng bloklama ayarları"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Bütün zəng bloklama ayarları deaktiv edilsin?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Şəbəkə məşğuldur. Sonra yenidən zəng edin."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Şəbəkə bağlantısı zəifdir Yardım üçün mobil operator ilə əlaqə saxlayın."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Call dəyişdirildi."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<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 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_dialog_dismiss" msgid="5934541487903081652">"Rədd edin"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Data bağlantısını aktiv edin"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Data Bağlantısını Deaktiv Edin"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Təmin edildi"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video Zəng Təmin Edildi"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi Zəngi Təmin Edildi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/İştirak Təmin edildi"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs Datası"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS-i aktiv edin"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Cihaz yenidən başladılsın?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Xidmət Yığım Nömrələrinə Baxın"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS Xidmət Statusu"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS Statusu"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Qeydiyyatlı"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Qeydiyyatsız"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Əlçatan"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Əlçatan deyil"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS Qeydiyyatı: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE ilə səsli: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi ilə səsli: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Zəngi: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT İnterfeysi: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Xidmətdə"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Xidmətdən kənarda"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Yalnız təcili zənglər"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio Deaktivdir"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Rominq"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Rominq Deyil"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Fəaliyyətsiz"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Zəng"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Zəng Davam Edir"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Bağlantı kəsildi"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Qoşulur"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Qoşuldu"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Dayandırılıb"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Naməlum"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkt"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bayt"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Cari alt Id:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Defolt data SIM üçün alt Id:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL Buraxılışı (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL Buraxılışı (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Xananın məkan məlumatı (ləğv edilib):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE Fiziki Kanal Konfiqurasiyası:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobil məlumatın yenilənmə göstəricisi:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Operatorun bütün mobil ölçü məlumatı:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data Xidməti:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Rominq:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Zəng Yönləndirməsi:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Yükləmədən bəri sıfırlanan PPP sayı:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Cari Şəbəkə:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data qəbul edildi:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Səs Xidməti:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Siqnal gücü:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Səsli zəng statusu:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data göndərildi:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mesaj Gözlənilir:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefon nömrəsi:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP Müştəri Testi:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ping Testi Çalışdırın"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Güncəlləyin"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Ayarlayın"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Alınmadı"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Uğurlu"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Planşet məlumatı"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefon məlumatı"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator Təchizat Məlumatı"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Operator Təchizatlanmasını aktiv edin"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/config.xml b/res/values-b+sr+Latn/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-b+sr+Latn/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 43d050c..be096d3 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privatan broj"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefonska govornica"</string>
     <string name="onHold" msgid="6132725550015899006">"Na čekanju"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> – poruka"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Poruka mobilnog operatera"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Pokrenut je MMI kôd."</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD kôd je pokrenut…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI kôd je otkazan"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Samo NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Željeni režim mreže: WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Željeni režim mreže: samo GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Željeni režim mreže: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Željeni režim mreže: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Željeni režim mreže: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Željeni režim mreže: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Željeni režim mreže: Globalno"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Željeni režim mreže: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Željeni mrežni režim: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Željeni režim mreže: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Željeni režim mreže: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Željeni režim mreže: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Željeni režim mreže: samo NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Željeni režim mreže: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Željeni režim mreže: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Željeni režim mreže: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Željeni režim mreže: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Željeni režim mreže: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Željeni režim mreže: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Željeni režim mreže: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Željeni režim mreže: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Željeni režim mreže: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Željeni režim mreže: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Pozivanje"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Mreža"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Poboljšani 4G LTE režim"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Više kategorija"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Omogućeno je više kategorija"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Onemogućeno je više kategorija"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (preporučeno)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (preporučeno)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (preporučeno)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globalno"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Brisanje broja za fiksno biranje…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Izbrisan je broj za fiksno biranje."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Broj za fiksno biranje nije ažuriran jer ste uneli netačan PIN kôd."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Broj za fiksno biranje nije ažuriran jer ima više od 20 cifara."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Broj za fiksno biranje nije ažuriran jer ima previše cifara (više od <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>)."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN nije ažuriran. PIN2 je netačan ili je broj telefona odbačen."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Radnja sa brojem za fiksno biranje nije uspela."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Čita se sa SIM kartice…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Poziv nije uspeo. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nije broj za hitne slučajeve."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Poziv nije uspeo. Pozovite broj za hitne slučajeve."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Upućivanje hitnih poziva nije dostupno"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Samo vlasnik uređaja može da unosi PIN/PUK kodove."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policija"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Hitna pomoć"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Vatrogasci"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Poziv sa tekstom u realnom vremenu (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Dozvolite razmenu poruka u audio pozivu"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Tekst u realnom vremenu (RTT) pomaže pozivaocima koji su gluvi, slabo čuju, imaju teškoće u govoru ili kojima je potrebno nešto više od glasa.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Saznajte više&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT pozivi se čuvaju kao transkript poruke\n       &lt;br&gt; – RTT nije dostupan za video pozive"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Napomena: Tekst u realnom vremenu nije dostupan u romingu"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY je isključen"</item>
     <item msgid="1449091874731375214">"Kompletni TTY"</item>
@@ -611,6 +639,13 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ne"</string>
     <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>
     <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>
@@ -750,7 +785,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Ograničavanje poziva je deaktivirano"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Promenite lozinku"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Promenite lozinku za ograničavanje poziva"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Ne možete da promenite lozinku za ograničavanje poziva."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Ne možete da promenite lozinku za ograničavanje poziva"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Lozinke se ne podudaraju"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Unesite lozinku od 4 broja"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Lozinka je promenjena"</string>
@@ -759,7 +794,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Potvrdite lozinku"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Unesite lozinku"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Podešavanja ograničavanja poziva"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Želite li da deaktivirate sva podešavanja ograničavanja poziva?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Mreža je zauzeta. Probajte ponovo da uputite poziv kasnije."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Mreža je zagušena. Zatražite pomoć od mobilnog operatera."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Poziv je preusmeren."</string>
@@ -789,4 +823,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"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 i prenos podataka u romingu. To možete da promenite u podešavanjima mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Odbaci"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Omogući vezu za prenos podataka"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Onemogući vezu za prenos podataka"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Dodeljeno za VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video pozivi su dodeljeni"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Pozivanje preko Wi-Fi-ja je dodeljeno"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Dodeljen je EAB/prisustvo"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Podaci CBRS-a"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Omogući DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Želite da restartujete uređaj?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Prikaži brojeve za servisno biranje"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status usluge IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Status IMS-a"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrovano je"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Nije registrovano"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Dostupno"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nije dostupno"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registracija IMS-a: <xliff:g id="STATUS">%1$s</xliff:g>\nGlas preko LTE-a: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nGlas preko Wi-Fi-ja: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo poziv: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfejs: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Radi"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ne radi"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Samo hitni pozivi"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio je isključen"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Nije u romingu"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Neaktivno"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Zvoni"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Poziv je u toku"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Veza je prekinuta"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Povezuje se"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Povezano je"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendovano"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Nepoznato"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pak."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bajt(ov)a"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"ID klijenta"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Aktuelni subID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubID podrazumevanog SIM-a za podatke:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL propusni opseg (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL propusni opseg (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informacije o lokaciji predajnika (zastarelo):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfiguracija LTE fizičkog kanala:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Učestalost osvežavanja informacija o predajniku:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Sve informacije o merenju za predajnik:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Usluga prenosa podataka:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Preusmeravanje poziva:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Broj PPP resetovanja od uključivanja:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Aktuelna mreža:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Primljeni podaci:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Glasovna usluga:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Jačina signala:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status audio poziva:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Poslati podaci:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Poruka na čekanju:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Broj telefona:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"IPv6 imena hosta za pingovanje (www.google.com):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test za HTTP klijenta:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Pokreni test pingovanja"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Ažuriraj"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Podesite režim radijskog opsega"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Učitava se lista opsega…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Podesi"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Nije uspelo"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Uspelo je"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informacije o tabletu"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informacije o telefonu"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informacije o dodeli mobilnog operatera"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Pokretanje dodele mobilnog operatera"</string>
 </resources>
diff --git a/res/values-be/config.xml b/res/values-be/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-be/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index c756cb7..6952f90 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -25,10 +25,12 @@
     <string name="private_num" msgid="4487990167889159992">"Прыватны нумар"</string>
     <string name="payphone" msgid="7936735771836716941">"Таксафон"</string>
     <string name="onHold" msgid="6132725550015899006">"У чаканні"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Паведамленне ад аператара \"<xliff:g id="MMICARRIER">%s</xliff:g>\""</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Паведамленне аператара"</string>
     <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 павінна складацца з наступнай колькасцi знакаў:  ад <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>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Толькі NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Пераважны рэжым сеткі: пераважна WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Пераважны рэжым сеткі: толькі GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Пераважная сетка: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Пераважная сетка: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Пераважная сетка: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Прыярытэтны рэжым сеткі: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Пераважная сетка: глабальная"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Пераважная сетка: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Пажаданы рэжым сеткі: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Прыярытэтны рэжым сеткі: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Прыярытэтны рэжым сеткі: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Прыярытэтны рэжым сеткі: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Прыярытэтны рэжым сеткі: толькі NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Прыярытэтны рэжым сеткі: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Прыярытэтны рэжым сеткі: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Прыярытэтны рэжым сеткі: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Прыярытэтны рэжым сеткі: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Прыярытэтны рэжым сеткі: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Прыярытэтны рэжым сеткі: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Прыярытэтны рэжым сеткі: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Прыярытэтны рэжым сеткі: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Прыярытэтны рэжым сеткі: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Прыярытэтны рэжым сеткі: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Выклік"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Сетка"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Удасканалены рэжым 4G LTE"</string>
@@ -281,7 +306,7 @@
     <string name="throttle_current_usage" msgid="7483859109708658613">"Выкарыстанне даных у бягучы перыяд"</string>
     <string name="throttle_time_frame" msgid="1813452485948918791">"Перыяд выкарыстання дадзеных"</string>
     <string name="throttle_rate" msgid="7641913901133634905">"Палітыка хуткасці перадачы дадзеных"</string>
-    <string name="throttle_help" msgid="2624535757028809735">"Дадатковая iнфармацыя"</string>
+    <string name="throttle_help" msgid="2624535757028809735">"Даведацца больш"</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>٪) з максімальнага перыяду (<xliff:g id="USED_2">%3$s</xliff:g>)\nНаступны перыяд пачнецца праз <xliff:g id="USED_3">%4$d</xliff:g> сут (<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>??) з максімуму перыяду (<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
     <string name="throttle_data_rate_reduced_subtext" msgid="8369839346277847725">"Максімум <xliff:g id="USED_0">%1$s</xliff:g> перавышаны\nХуткасць перадачы дадзеных зніжана да <xliff:g id="USED_1">%2$d</xliff:g> Кб/с"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Мульці-катэгорыя"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Мульці-катэгорыя ўключана"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Мульці-катэгорыя адключаная"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (рэкамендуецца)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (рэкамендуецца)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (рэкамендуецца)"</string>
     <string name="network_global" msgid="3289646154407617631">"Глабальныя"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"Фіксаваны нумар не быў абноўлены, бо ён не можа змяшчаць больш за 20 знакаў."</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="simContacts_emptyLoading" msgid="4989040293858675483">"Чытанне з SIM-карты..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Выклік немагчымы. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не з\'яўляецца нумарам экстраннай службы."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Выклік немагчымы. Набраць нумар экстраннай службы."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Экстранныя выклікі недаступныя"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Толькі ўладальнік прылады можа ўводзіць PIN-код ці PUK-код."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Паліцыя"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Хуткая дапамога"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Пажарная служба"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Заўвага. Функцыя RTT недаступная ў роўмінгу."</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Тэлетайп выключаны"</item>
     <item msgid="1449091874731375214">"Поўнафункцыянальны тэлетайп"</item>
@@ -613,6 +641,14 @@
     <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="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>
     <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>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Адключана забарона выкліку"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Змяніць пароль"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Змяніць пароль забароны выкліку"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Нельга змяніць пароль забароны выкліку."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Не ўдаецца змяніць пароль забароны выкліку"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Паролі не супадаюць"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Увядзіце пароль з 4 лічбаў"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Пароль зменены"</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Пацвердзіце пароль"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Увядзіце пароль"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Налады забароны выкліку"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Адключыць усе налады забароны выкліку?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Сетка занятая. Паўтарыце выклік пазней."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Сетка перагружаная. Звярніцеся да свайго мабільнага аператара."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Выклік адхілены."</string>
@@ -791,4 +826,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Уключыце перадачу мабільных даных і інтэрнэт-роўмінг на SIM-карце <xliff:g id="SIM_NUMBER">%2$d</xliff:g> для выкарыстання сэрвісу <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>. Гэта можна зрабіць у наладах мабільнай сеткі."</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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Відэавыклікі ўключаны"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi-тэлефанія ўключана"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence уключана"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Даныя CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Уключыць DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Магутнасць радыёсігналу"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Праглядзець адрасную кнігу на SIM-карце"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прагляд фіксаваных нумароў"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Паглядзець сэрвісныя нумары"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Стан сэрвісу IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Стан IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Зарэгістравана"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Не зарэгістравана"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Даступна"</string>
+    <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Галасавая сувязь па Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВідэавыклікі: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nІнтэрфейс UT: <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_emergency" msgid="4763879891415016848">"Толькі экстранныя выклікі"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Перадатчык выключаны"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роўмінг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Не ў роўмінгу"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"У рэжыме чакання"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ідзе празвон"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Ідзе выклік"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Адключана"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Ідзе падключэнне"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Падключана"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Прыпынена"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Невядома"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"пак."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"Б"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"дБм"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Бягучы SubID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubID стандартнай SIM-карты для перадачы даных:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Прапускная здольнасць канала спампоўвання (кбіт/с):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Прапускная здольнасць канала запампоўвання (кбіт/с):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Інфармацыя пра месцазнаходжанне сотавай ячэйкі (састарэлая):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Канфігурацыя фізічнага канала LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Частата абнаўлення даных сотавай сеткі:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Усе паказчыкі сотавай сеткі:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Сэрвіс перадачы даных:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роўмінг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Перанакіраванне выклікаў:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Колькасць скідаў PPP пасля загрузкі:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Бягучая сетка:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Атрыманыя даныя:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Сэрвіс галасавой сувязі:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Магутнасць сігналу:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Стан галасавых выклікаў:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Адпраўленыя даныя:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Непрачытанае паведамленне:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Нумар тэлефона:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Каманда ping для хоста www.google.com (IPv6):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Тэст HTTP-кліента:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Выканаць праверку ping"</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_toggle_dns_check_label" msgid="1394078554927787350">"Уключыць/выключыць праверку DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Інфармацыя/налады пастаўшчыка"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Задаць рэжым радыёдыяпазону"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Загружаецца спіс дыяпазонаў…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Задаць"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Няўдала"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Паспяхова"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Звесткі аб планшэце"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Звесткі аб тэлефоне"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Звесткі аб аператары"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Запусціць сінхранізацыю з аператарам"</string>
 </resources>
diff --git a/res/values-bg/config.xml b/res/values-bg/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-bg/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index b29f7fc..3dabad0 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Частен номер"</string>
     <string name="payphone" msgid="7936735771836716941">"Обществен телефон"</string>
     <string name="onHold" msgid="6132725550015899006">"Задържане на обаждането"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> съобщение"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Съобщение от оператора"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI кодът бе стартиран"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD кодът се изпълнява…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI кодът бе анулиран"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Само NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Предпочитан режим на мрежата: Предпочита се WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Предпочитан режим на мрежата: Само GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Предпочитан режим на мрежата: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Предпочитан режим на мрежата: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Предпочитан режим на мрежата: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Предпочитан режим на мрежата: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Предпочитан режим на мрежата: Глобален"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Предпочитан режим на мрежата: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Предпочитан мрежов режим: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Предпочитан режим на мрежата: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Предпочитан режим на мрежата: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Предпочитан режим на мрежата: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Предпочитан режим на мрежата: само NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Предпочитан режим на мрежата: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Предпочитан режим на мрежата: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Предпочитан режим на мрежата: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Предпочитан режим на мрежата: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Предпочитан режим на мрежата: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Предпочитан режим на мрежата: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Предпочитан режим на мрежата: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Предпочитан режим на мрежата: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Предпочитан режим на мрежата: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Предпочитан режим на мрежата: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Извършва се обаждане"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Мрежа"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Подобрен режим с 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Мултикатегория"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Мултикатегорията е активирана"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Мултикатегорията е деактивирана"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (препоръчително)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (препоръчително)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (препоръчително)"</string>
     <string name="network_global" msgid="3289646154407617631">"Глобална"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Фиксираните номера за набиране се изтриват…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Фиксираните номера за набиране са изтрити."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN не бе актуализирано, защото сте въвели неправилен ПИН."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN не бе актуализиран, защото номерът надвишава 20 цифри."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN не бе актуализиран, защото номерът надвишава <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> цифри."</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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Не може да се извърши обаждане. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не е номер за спешни случаи."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Не може да се извърши обаждане. Наберете номер за спешни случаи."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Не се предлагат спешни обаждания"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Само собственикът на устройството може да въвежда ПИН/PUK кодове"</string>
     <string name="police_type_description" msgid="2819533883972081757">"Полиция"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Линейка"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Пожар"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Забележка: ТСРВ не е налице при роуминг"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY е изкл."</item>
     <item msgid="1449091874731375214">"Пълен TTY режим"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"Услуга"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Настройка"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Не е зададено&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Забраната за обаждания е деактивирана"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Промяна на паролата"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Промяна на паролата за забрана за обаждания"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Паролата за забрана за обаждания не може да се промени."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Паролата за забрана за обаждания не може да се промени"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Паролите не съвпадат"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Въведете парола с 4 цифри"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Паролата бе променена"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Потвърждаване на паролата"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Въведете парола"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Настройки за забрана на обажданията"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Да се деактивират ли всички настройки за забрана за обаждания?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Мрежата е заета. Моля, опитайте да се обадите отново по-късно."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Мрежата е претоварена. Свържете се с мобилния си оператор за съдействие."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Обаждането е отклонено."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Видеообажданията са обезпечени"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Обажданията през Wi-Fi са обезпечени"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Обезпечено за EAB/присъствие"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Данни чрез CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Активиране на DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Мощност на мобилното радио"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Преглед на указателя на SIM картата"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Преглед на номера за фиксирано набиране"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Преглед на номера за набиране на услуги"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Състояние на услугата IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Състояние на услугата IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Регистриран"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Не е регистриран"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Налице"</string>
+    <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>\nLTE телефония: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWi-Fi телефония: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВидеообаждания: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nИнтерфейс на UT: <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_emergency" msgid="4763879891415016848">"Само спешни обаждания"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Радиото е изключено"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роуминг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Не е в роуминг"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Неактивно"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Звъни се"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Извършва се обаждане"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Няма връзка"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Установява се връзка"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Установена е връзка"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Спрени"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Неизвестно"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"пакета"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"байта"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"Идентификация на обаждането"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Настоящ идентификационен подномер:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Идентификационен подномер на SIM картата за данни по подразбиране:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Пропускателна способност при изтегляне (кб/сек):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Пропускателна способност при качване (кб/сек):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Информация за местоположението на клетката (оттеглено):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Конфигурация на физическия канал на LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Честота на опресняване на информацията за клетките:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Цялата измервателна информация за клетките:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Услуга за данни:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роуминг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Пренасочване на обаждането:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Брой нулирания на PPP след стартиране:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Текуща мрежа:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Получени данни:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Гласова услуга:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Сила на сигнала:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Състояние на гласовото обаждане:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Изпратени данни:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Изчакващо съобщение:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Телефонен номер:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Име на хост за позив (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Тест на HTTP клиента:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Изпълняване на тест „ping“"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMS център:"</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_toggle_dns_check_label" msgid="1394078554927787350">"Превключване на проверката на DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Информация/настройки, специфични за ОЕМ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Задаване на режима за радиодиапазона"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Списъкът с диапазони се зарежда…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Задаване"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Неуспешно"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Успешно"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Информация за таблета"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Информация за телефона"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Информация за обезпечаването от оператора"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Задействане на обезпечаването от оператора"</string>
 </resources>
diff --git a/res/values-bn/config.xml b/res/values-bn/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-bn/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 40fab58..0fb9e35 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ব্যক্তিগত নম্বর"</string>
     <string name="payphone" msgid="7936735771836716941">"পে ফোন"</string>
     <string name="onHold" msgid="6132725550015899006">"সাময়িকভাবে স্থগিত রাখা হয়েছে"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> মেসেজ"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"পরিষেবা প্রদানকারীর মেসেজ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI কোড শুরু করা হয়েছে"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD কোড চলছে…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI কোড বাতিল করা হয়েছে"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"শুধুমাত্র NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"পছন্দের নেটওয়ার্ক মোড: WCDMA পছন্দসই"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"পছন্দের নেটওয়ার্ক মোড: শুধুমাত্র GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"পছন্দের নেটওয়ার্ক মোড: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"পছন্দের নেটওয়ার্ক মোড: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"পছন্দের নেটওয়ার্ক মোড: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"পছন্দের নেটওয়ার্ক মোড: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"পছন্দের নেটওয়ার্ক মোড: গ্লোবাল"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"পছন্দের নেটওয়ার্ক মোড: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"পছন্দের নেটওয়ার্ক মোড: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"পছন্দের নেটওয়ার্ক মোড: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"পছন্দের নেটওয়ার্ক মোড: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"পছন্দের নেটওয়ার্ক মোড: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"পছন্দের নেটওয়ার্ক মোড: শুধুমাত্র NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"পছন্দের নেটওয়ার্ক মোড: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"পছন্দের নেটওয়ার্ক মোড: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"কলিং"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"নেটওয়ার্ক"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"উন্নত 4G LTE মোড"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"একাধিক বিভাগ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"একাধিক বিভাগ সক্ষম করা হয়েছে"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"একাধিক বিভাগ অক্ষম করা হয়েছে"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (সাজেস্ট করা হয়েছে)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (প্রস্তাবিত)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (প্রস্তাবিত)"</string>
     <string name="network_global" msgid="3289646154407617631">"বিশ্বব্যাপী"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"ডায়াল করার জন্য স্থির নম্বর মোছা হচ্ছে..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"স্থায়ী ডায়ালের নম্বর মুছে ফেলা হয়েছে৷"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"আপনি একটি ভুল পিন টাইপ করায় FDN আপডেট করা হয়নি৷"</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"নম্বরটিতে ২০টির বেশি সংখ্যা আছে, তাই FDN আপডেট করা হয়নি।"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>টি সংখ্যার সীমা ছাড়িয়ে যাওয়ায় তাকে আপডেট করা যায়নি।"</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">"সিম কার্ড থেকে পড়া হচ্ছে…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"কল করা যাবে না৷ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> কোনো জরুরী নম্বর নয়৷"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"কল করা যাবে না৷ কোনো জরুরী নম্বর ডায়াল করুন৷"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"জরুরি কল করা যাবে না"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"শুধুমাত্র এই ডিভাইসের মালিক পিন/PUK কোড লিখতে পারবেন।"</string>
     <string name="police_type_description" msgid="2819533883972081757">"পুলিশ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"অ্যাম্বুলেন্স"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"আগুন"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"মনে রাখবেন: রোমিংয়ে থাকাকালীন RTT কাজ করে না"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY বন্ধ"</item>
     <item msgid="1449091874731375214">"TTY পূর্ণ"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"কল নিষিদ্ধ করার বৈশিষ্ট্যটি নিষ্ক্রিয় করা হয়েছে"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"পাসওয়ার্ড পরিবর্তন করুন"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"কল নিষিদ্ধ করার পাসওয়ার্ড পরিবর্তন করুন"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"কল নিষিদ্ধ করার পাসওয়ার্ড পরিবর্তন করা যাবে না।"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"কল নিষিদ্ধ করার পাসওয়ার্ড পরিবর্তন করা যাবে না"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"পাসওয়ার্ড মিলছে না"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"৪টি সংখ্যার পাসওয়ার্ড লিখুন"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"পাসওয়ার্ড পরিবর্তন হয়েছে"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"পাসওয়ার্ড নিশ্চিত করুন"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"পাসওয়ার্ড লিখুন"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"কল নিষিদ্ধ করার সেটিংস"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"কল নিষিদ্ধ করার সমস্ত সেটিংস নিষ্ক্রিয় করবেন?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"নেটওয়ার্ক ব্যস্ত আছে। পরে আবার কল করার চেষ্টা করুন।"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"নেটওয়ার্ক ব্যস্ত আছে। সাহায্যের জন্য আপনার মোবাইল অপারেটরের সাথে যোগাযোগ করুন।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"কল ডিফ্লেক্ট করা হয়েছে।"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>ব্যবহার করতে হলে, <xliff:g id="SIM_NUMBER">%2$d</xliff:g>-এ মোবাইল ডেটা চালু আছে কিনা দেখে নিন। আপনি সেটিংস থেকে এটি পরিবর্তন করতে পারেন।"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ব্যবহার করতে হলে, <xliff:g id="SIM_NUMBER">%2$d</xliff:g>-এ মোবাইল ডেটা এবং ডেটা রোমিং চালু আছে কিনা দেখে নিন। আপনি সেটিংস থেকে এটি পরিবর্তন করতে পারেন।"</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ভিডিও কলিংয়ের ব্যবস্থা আছে"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"ওয়াই ফাই কলিংয়ের ব্যবস্থা আছে"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/উপস্থিতির বন্দোবস্ত"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ডেটা"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS চালু করুন"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"মোবাইল রেডিওর গুণমান"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"সিম অ্যাড্রেস বুক দেখুন"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"স্থায়ী ডায়াল নম্বরগুলি দেখুন"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"সার্ভিস ডায়াল নম্বরগুলি দেখুন"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS পরিষেবার স্থিতি"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS স্থিতি"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"রেজিস্টার করা হয়েছে"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"রেজিস্টার করা নয়"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"উপলভ্য"</string>
+    <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ভয়েস ওভার ওয়াই ফাই: <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_emergency" msgid="4763879891415016848">"শুধুমাত্র জরুরি কল"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"রেডিও বন্ধ রয়েছে"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"রোমিং"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"রোমিংয়ে নেই"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"নিষ্ক্রিয়"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"রিং হচ্ছে"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"কল করা হচ্ছে"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ডিসকানেক্ট করা আছে"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"কানেক্ট করা হচ্ছে"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"কানেক্ট করা হয়েছে"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"সাসপেন্ড করা হয়েছে"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"অজানা"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"বাইট"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"বর্তমান subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ডিফল্ট ডেটা সিমের SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"ডিএল ব্যান্ডউইথ (কেবিপিএস):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"ইউএল ব্যান্ডউইথ (কেবিপিএস):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"সেল লোকেশন তথ্য (বন্ধ করা হয়েছে):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ফিজিক্যাল চ্যানেল কনফিগারেশন:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"সেল তথ্যে রিফ্রেশ রেট:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"সমস্ত সেল পরিমাপ তথ্য:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ডেটা পরিষেবা:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"রোমিং:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"কল রিডাইরেক্ট"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"বুট করার পর থেকে এই পরিমাণ PPP পুনরায় সেট করা হয়েছে:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"বর্তমান নেটওয়ার্ক:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ডেটা পাওয়া গেছে"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ভয়েস পরিষেবা:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"সিগন্যাল ক্ষমতা:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ভয়েস কলের স্থিতি:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ডেটা পাঠানো হয়েছে:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"মেসেজের জন্য অপেক্ষা করা হচ্ছে:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ফোন নম্বর:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"হোস্টনামে(www.google.com) IPv6 পিং করুন:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP ক্লায়েন্ট পরীক্ষা:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS চেক টগল করুন"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-নির্দিষ্ট তথ্য/সেটিংস"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"রেডিও ব্যান্ড মোড সেট করুন"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ব্যান্ড তালিকা লোড হচ্ছে..."</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"সেট করুন"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"সফল হয়নি"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"সফল হয়েছে"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ট্যাবলেটের তথ্য"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ফোনের তথ্য"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"পরিষেবা প্রদানকারীর ব্যবস্থামূলক তথ্য"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"ট্রিগার পরিষেবা প্রদানকারীর ব্যবস্থা"</string>
 </resources>
diff --git a/res/values-bs/config.xml b/res/values-bs/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-bs/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 7ccfaa9..fbd17bd 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privatni broj"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefonska govornica"</string>
     <string name="onHold" msgid="6132725550015899006">"Na čekanju"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Poruka mobilnog operatera <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Poruka mobilnog operatera"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI kȏd je pokrenut"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD kȏd je pokrenut…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI kȏd je otkazan"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Samo NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferirani način rada mreže: preferiraj WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferirani način rada mreže: samo GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferirani način rada mreže: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferirani način rada mreže: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferirani način rada mreže: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferirani način rada mreže: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferirani način rada mreže: globalno"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preporučeni način rada mreže: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferirani način rada mreže: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferirani način rada mreže: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferirani način rada mreže: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferirani način rada mreže: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferirani način rada mreže: samo NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferirani način rada mreže: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferirani način rada mreže: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferirani način rada mreže: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferirani način rada mreže: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferirani način rada mreže: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferirani način rada mreže: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferirani način rada mreže: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferirani način rada mreže: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferirani način rada mreže: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferirani način rada mreže: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Pozivanje"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Mreža"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Poboljšani 4G LTE način rada"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Više kategorija"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Više kategorija je omogućeno"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Više kategorija je onemogućeno"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (preporučeno)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (preporučeno)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (preporučeno)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globalno"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Brisanje broja fiksnog biranja u toku…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Broj fiksnog biranja je izbrisan."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN nije ažuriran jer ste upisali netačan PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN nije ažuriran jer broj ima više od 20 cifara."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN nije ažuriran jer broj ima više od <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> cifara."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN nije ažuriran. PIN2 je netačan ili je broj telefona odbijen."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN operacija nije uspjela."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Čitanje sa SIM kartice u toku…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Nije moguće pozvati. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nije broj za hitne slučajeve."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nije moguće pozvati. Birajte broj za hitne slučajeve."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Hitni pozivi nisu dostupni"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Samo vlasnik uređaja može unositi PIN/PUK kodove."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policija"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Vozilo hitne pomoći"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Vatrogasci"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Pozivanje sa slanjem SMS-ova u stvarnom vremenu (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Dozvolite razmjenu poruka tokom glasovnog poziva"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT pomaže pozivaocima koji su gluhi, imaju probleme sa sluhom ili govorom te onima kojima treba više od samog glasa.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Saznajte više&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT pozivi se pohranjuju kao transkripti poruka\n       &lt;br&gt; - RTT nije dostupan za video pozive"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Napomena: RTT nije dostupan u romingu"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY je isključen"</item>
     <item msgid="1449091874731375214">"TTY je pun"</item>
@@ -611,6 +639,13 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ne"</string>
     <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>
     <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>
@@ -750,7 +785,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Zabrana poziva je deaktivirana"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Promijenite lozinku"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Promijenite lozinku za zabranu poziva"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Nije moguće promijeniti lozinku za zabranu poziva."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Nije moguće promijeniti lozinku za zabranu poziva"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Lozinke se ne podudaraju"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Unesite lozinku koja sadrži 4 broja"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Lozinka je promijenjena"</string>
@@ -759,7 +794,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Potvrdite lozinku"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Unesite lozinku"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Postavke zabrane poziva"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deaktivirati sve postavke zabrane poziva?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Mreža je zauzeta. Pokušajte ponovo pozvati kasnije."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Mreža je preopterećena. Kontaktirajte svog mobilnog operatera za pomoć."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Poziv je preusmjeren."</string>
@@ -789,4 +823,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Za korištenje usluge <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, provjerite jesu li za SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> 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_dialog_dismiss" msgid="5934541487903081652">"Odbaci"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Omogućite vezu za prijenos podataka"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Onemogući vezu za prijenos podataka"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE omogućen"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video poziv obezbijeđen"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"WiFi poziv obezbijeđen"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Omogućeno prisustvo"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs podaci"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Omogući DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Ponovo pokrenuti uređaj?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Prikaži brojeve biranja usluga"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status IMS usluge"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Status za IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrirano"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Nije registrirano"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Dostupno"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nedostupno"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registracija: <xliff:g id="STATUS">%1$s</xliff:g>\nGovor putem LTE mreže: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nGovor putem WiFi mreže: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo pozivanje: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfejs: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Aktivno"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ne radi"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Samo hitni pozivi"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio je isključen"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Nije u romingu"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"U stanju mirovanja"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Zvoni"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Poziv je u toku"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Veza je prekinuta"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Povezivanje"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Povezano"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendirano"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Nepoznato"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"paketi"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bajtova"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Trenutni pomoćni ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Pomoćni ID za zadani podatkovni SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL propusnost (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL propusnost (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informacije o lokaciji ćelije (zastarjele):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfiguracija LTE fizičkog kanala:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Interval osvježavanja informacija o ćeliji:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Sve informacije o mjerenju ćelije:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Prijenos podataka:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Preusmjeravanje poziva:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Broj vraćanja PPP na početne vrijednosti od posljednjeg pokretanja:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Trenutna mreža:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Primljeni podaci:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Govorna usluga:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Jačina signala:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status glasovnog poziva:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Poslani podaci:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Poruka na čekanju:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Broj telefona:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Pinguj ime računara (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test HTTP klijenta:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Pokreni ping test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Ažuriraj"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Postavite način radijskog opsega"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Učitavanje liste opsega…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Postavi"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Neuspješno"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Uspješno"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informacije o tabletu"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informacije o telefonu"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operater koji pruža informacije"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Aktiviranje dodjele resursa operatera"</string>
 </resources>
diff --git a/res/values-ca/config.xml b/res/values-ca/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ca/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 39b2132..26f7869 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Número privat"</string>
     <string name="payphone" msgid="7936735771836716941">"Telèfon públic"</string>
     <string name="onHold" msgid="6132725550015899006">"En espera"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Missatge de: <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Missatge de l\'operador de telefonia mòbil"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Codi MMI iniciat"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"S\'està executant el codi USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Codi MMI cancel·lat"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Només NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Mode de xarxa preferent: WCDMA preferit"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Mode de xarxa preferent: només GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Mode de xarxa preferent: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Mode de xarxa preferent: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Mode de xarxa preferent: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Mode de xarxa preferent: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Mode de xarxa preferent: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Mode de xarxa preferent: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Mode de xarxa preferent: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Mode de xarxa preferent: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Mode de xarxa preferent: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Mode de xarxa preferent: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Mode de xarxa preferent: només NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Mode de xarxa preferent: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Mode de xarxa preferit: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Mode de xarxa preferent: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Mode de xarxa preferent: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Mode de xarxa preferent: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Mode de xarxa preferent: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Mode de xarxa preferent: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Mode de xarxa preferent: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Mode de xarxa preferent: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Mode de xarxa preferent: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Trucades"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Xarxa"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Mode 4G LTE millorat"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multicategoria"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multicategoria activada"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multicategoria desactivada"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recomanat)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (opció recomanada)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (opció recomanada)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"S\'està suprimint el número de marcatge fix..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Número de marcatge fix suprimit."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN no s\'ha actualitzat ja que has escrit un PIN incorrecte."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN no s\'ha actualitzat perquè el número conté més de 20 dígits."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN no s\'ha actualitzat perquè el número supera els <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> dígits."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"El número FDN no s\'ha actualitzat. El PIN2 no és correcte o bé s\'ha rebutjat el número de telèfon."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Hi ha hagut un problema en l\'operació FDN."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lectura de la targeta SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"No es pot trucar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no és un número d\'emergència."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"No es pot trucar. Marca un número d\'emergència."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Les trucades d\'emergència no estan disponibles"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Només el propietari del dispositiu pot introduir codis PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulància"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Bombers"</string>
@@ -556,7 +583,8 @@
     <string name="hac_mode_summary" msgid="7774989500136009881">"Activa la compatibilitat amb audiòfons"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Trucada de text en temps real (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Permet l\'ús de missatges en una trucada de veu"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"La funció RTT ofereix assistència als usuaris que són sords, tenen problemes d\'audició o alteracions de la parla, o bé que necessiten un text a banda de la veu.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Més informació&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Les trucades RTT es desen en forma de transcripció.\n       &lt;br&gt; - Aquesta funció no està disponible per a videotrucades."</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"La funció RTT ofereix assistència als usuaris que són sords, tenen deficiències auditives o alteracions de la parla, o bé que necessiten un text a banda de la veu.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Més informació&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Les trucades RTT es desen en forma de transcripció.\n       &lt;br&gt; - Aquesta funció no està disponible per a videotrucades."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Nota: la funció RTT no està disponible en itinerància"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY desactivat"</item>
     <item msgid="1449091874731375214">"TTY complet"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sí"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"S\'ha desactivat la restricció de trucades"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Canvia la contrasenya"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Canvia la contrasenya de restricció de trucades"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"No es pot canviar la contrasenya de restricció de trucades."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"No es pot canviar la contrasenya de restricció de trucades"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Les contrasenyes no coincideixen"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Escriu una contrasenya amb quatre números"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"S\'ha canviat la contrasenya"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirma la contrasenya"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Escriu la contrasenya"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Configuració de restricció de trucades"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Vols desactivar la configuració de restricció de trucades?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"La xarxa està ocupada. Torna a provar de trucar més tard."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"La xarxa està congestionada. Contacta amb l\'operador mòbil per obtenir assistència."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"S\'ha derivat la trucada."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Comprova que les dades mòbils i la itinerància de dades 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 aquestes opcions a la configuració de xarxa mòbil."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ignora"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activa la connexió de dades"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Desactiva la connexió de dades"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Es proporciona VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Es proporcionen videotrucades"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Es proporcionen trucades per Wi-Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Es proporciona EAB/presència"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Dades CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Activa DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Vols reiniciar el dispositiu?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Mostra els números de marcatge de serveis"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Estat del servei de MI"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Estat de MI"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Amb registre"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Sense registrar"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponible"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"No disponible"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registre de MI: <xliff:g id="STATUS">%1$s</xliff:g>\nVeu per LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVeu per Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideotrucades: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfície d\'UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"En servei"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Sense servei"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Només trucades d\'emergència"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Senyal mòbil desactivat"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Itinerància"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"No està en itinerància"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactivitat"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"S\'està fent sonar"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Trucada en curs"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Sense connexió"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"S\'està connectant"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Amb connexió"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"En suspensió"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Desconegut"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"paquets"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Subidentificador actual:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Subidentificador de la SIM de dades predeterminada:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Amplada de banda de baixada (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Amplada de banda de pujada (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informació d\'ubicació del mòbil (obsoleta):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuració del canal físic de LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Freqüència d\'actualització de la informació del mòbil:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Tota la informació de mesures del mòbil:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Servei de dades:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Itinerància:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redirecció de trucada:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Nombre de ppp restablerts des de l\'inici:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Xarxa actual:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Dades rebudes:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Servei de veu:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Intensitat del senyal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Estat de la trucada de veu:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Dades enviades:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Missatge en espera:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Número de telèfon:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Fer ping a IPv6 de nom d\'amfitrió (www.google.com):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Prova de client HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Executa la prova de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualitza"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Defineix"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Incorrecte"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Correcte"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informació de la tauleta"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informació del telèfon"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informació de serveis de l\'operador"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Activa els serveis de l\'operador"</string>
 </resources>
diff --git a/res/values-cs/config.xml b/res/values-cs/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-cs/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 2645338..c5d45ef 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Soukromé číslo"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefonní automat"</string>
     <string name="onHold" msgid="6132725550015899006">"Přidržený hovor"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Zpráva od operátora <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Zpráva od operátora"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Kód MMI byl spuštěn"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Kód USSD je spuštěn..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Kód MMI byl zrušen"</string>
@@ -139,7 +141,7 @@
     <string name="close_dialog" msgid="1074977476136119408">"OK"</string>
     <string name="enable" msgid="2636552299455477603">"Zapnout"</string>
     <string name="disable" msgid="1122698860799462116">"Vypnout"</string>
-    <string name="change_num" msgid="6982164494063109334">"Aktualiz."</string>
+    <string name="change_num" msgid="6982164494063109334">"Aktualizovat"</string>
   <string-array name="clir_display_values">
     <item msgid="8477364191403806960">"Výchozí nastavení sítě"</item>
     <item msgid="6813323051965618926">"Skrýt číslo"</item>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Pouze NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Upřednostňovaný režim sítě: preferováno WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Upřednostňovaný režim sítě: pouze GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferovaný režim sítě: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferovaný režim sítě: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferovaný režim sítě: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferovaný režim sítě: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferovaný režim sítě: Globální"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferovaný režim sítě: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferovaný režim sítě: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferovaný režim sítě: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferovaný režim sítě: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferovaný režim sítě: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferovaný režim sítě: pouze NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferovaný režim sítě: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferovaný režim sítě: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferovaný režim sítě: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferovaný režim sítě: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferovaný režim sítě: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferovaný režim sítě: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferovaný režim sítě: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferovaný režim sítě: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferovaný režim sítě: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferovaný režim sítě: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Volání"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Síť"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Vylepšený režim 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Více kategorií"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Více kategorií povoleno"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Více kategorií zakázáno"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (doporučeno)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (doporučeno)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (doporučeno)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globální"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Mazání povoleného telefonního čísla..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Povolené telefonní číslo bylo smazáno."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Funkce Povolená tel. čísla nebyla aktualizována, protože jste zadali chybný kód PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Funkce Povolená telefonní čísla nebyla aktualizována, protože číslo má více než 20 číslic."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Funkce Povolená telefonní čísla nebyla aktualizována, protože číslo má více než <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> číslic."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Povolená tel. čísla (FDN) nebyla aktualizována. Kód PIN2 byl nesprávný nebo bylo telefonní číslo odmítnuto."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operace s čísly FDN se nezdařila."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Čtení ze SIM karty..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Hovor nelze uskutečnit. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> není číslo tísňového volání."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Hovor nelze uskutečnit. Vytočte číslo tísňového volání."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Tísňové volání není dostupné"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Zadávat kódy PIN a PUK může jen vlastník zařízení."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policie"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Záchranka"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Hasiči"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Hovor, během něhož můžete posílat zprávy (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Povolit posílání zpráv během hlasového hovoru"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Funkce SMS během hovoru (RTT) pomáhá volajícím, kteří neslyší, jsou nedoslýchaví, mají řečovou vadu, případně potřebují víc než jen hlas z jiného důvodu.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Další informace&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – Text poslaný během hovoru se uloží jako přepis zpráv\n       &lt;br&gt; – Tato funkce není dostupná při videohovorech"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Použít: Funkce SMS během hovoru není dostupná při roamingu"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY vypnuto"</item>
     <item msgid="1449091874731375214">"Úplný režim TTY"</item>
@@ -613,6 +641,14 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ano"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ne"</string>
     <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>
     <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>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Blokování hovorů je vypnuté"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Změnit heslo"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Změnit heslo k blokování hovorů"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Heslo k blokování hovorů se nepodařilo změnit."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Heslo k blokování hovorů se nepodařilo změnit"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Hesla se neshodují"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Zadejte heslo se 4 číslicemi"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Heslo bylo změněno"</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Potvrďte heslo"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Zadejte heslo"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Nastavení blokování hovorů"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Vypnout všechna nastavení blokování hovorů?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Síť je zaneprázdněná. Zkuste zavolat znovu později."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Síť je přehlcená. O pomoc požádejte svého mobilního operátora."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Hovor byl odkloněn."</string>
@@ -791,4 +826,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Pokud chcete používat službu <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, zkontrolujte, že máte zapnutá mobilní data a datový roaming pro SIM kartu <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Můžete to změnit v nastavení mobilní sítě."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Zavřít"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Povolit datové připojení"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Zakázat datové připojení"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Poskytnutí VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Zajištění videohovoru"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Zajištění volání přes Wi-Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Zajištění EAB/přítomnosti"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Data CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Aktivovat DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restartovat zařízení?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Zobrazit čísla volání služeb"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Stav služby IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Stav IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrováno"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Bez registrace"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"K dispozici"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Není k dispozici"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registrace IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVolání přes LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVolání přes Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideohovory: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nRozhraní UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"V provozu"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Mimo provoz"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Pouze tísňová volání"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Bezdrátový modul je vypnut"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Bez roamingu"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Nečinné"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Vyzvánění"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Probíhá hovor"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Odpojeno"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Připojování"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Připojeno"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Pozastaveno"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Neznámé"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pakety"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"B"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Stávající subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId výchozí datové SIM karty:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Rychlost stahování (kB/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Rychlost nahrávání (kB/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informace o poloze mobilní sítě (podpora ukončena):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfigurace fyzického kanálu LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Interval obnovení informací o mobilní síti:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Všechny údaje o měření mobilní sítě:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datová služba:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Přesměrování hovoru:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Počet obnovení protokolu PPP od spuštění:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Aktuální síť:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Přijatá data:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Hlasová služba:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Síla signálu:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Stav hlasového hovoru:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Odeslaná data:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Čekající zpráva:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonní číslo:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping názvu hostitele (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test klienta HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Spustit test Ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Aktualizovat"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Nastavit"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Neúspěšné"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Úspěšné"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informace o tabletu"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informace o telefonu"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informace o zprovoznění služby u operátora"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Spustit zprovoznění služby u operátora"</string>
 </resources>
diff --git a/res/values-da/config.xml b/res/values-da/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-da/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index fa282ba..da269e1 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privat nummer"</string>
     <string name="payphone" msgid="7936735771836716941">"Mønttelefon"</string>
     <string name="onHold" msgid="6132725550015899006">"Ventende"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Besked via <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Besked via mobilnummer"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-nummer er startet"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-kode kører ..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-nummer annulleret"</string>
@@ -166,7 +168,7 @@
     <string name="label_available" msgid="1316084116670821258">"Tilgængelige netværk"</string>
     <string name="load_networks_progress" msgid="4051433047717401683">"Søger..."</string>
     <string name="empty_networks_list" msgid="9216418268008582342">"Der blev ikke fundet nogen netværk."</string>
-    <string name="network_query_error" msgid="3862515805115145124">"Der kunne ikke findes netværk. Prøv igen."</string>
+    <string name="network_query_error" msgid="3862515805115145124">"Der blev ikke fundet netværk. Prøv igen."</string>
     <string name="register_on_network" msgid="4194770527833960423">"Registrerer på <xliff:g id="NETWORK">%s</xliff:g> ..."</string>
     <string name="not_allowed" msgid="8541221928746104798">"Dit SIM-kort tillader ikke en forbindelse til dette netværk."</string>
     <string name="connect_later" msgid="1950138106010005425">"Der kan ikke oprettes forbindelse til dette netværk lige nu. Prøv igen senere."</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Kun NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Foretrukken netværkstilstand: WCDMA foretrækkes"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Foretrukken netværkstilstand: kun GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Foretrukken netværkstilstand: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Foretrukken netværkstilstand: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Foretrukken netværkstilstand: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Foretrukken netværkstilstand: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Foretrukken netværkstilstand: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Foretrukken netværkstilstand: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Foretrukket netværkstilstand: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Foretrukken netværkstilstand: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Foretrukken netværkstilstand: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Foretrukken netværkstilstand: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Foretrukken netværkstilstand: Kun NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Foretrukken netværkstilstand: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Foretrukken netværkstilstand: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Foretrukken netværkstilstand: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Foretrukken netværkstilstand: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Foretrukken netværkstilstand: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Foretrukken netværkstilstand: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Foretrukken netværkstilstand: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Foretrukken netværkstilstand: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Foretrukken netværkstilstand: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Foretrukken netværkstilstand: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Opkald"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Netværk"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Udvidet 4G LTE-tilstand"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Flere kategorier"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Flere kategorier er aktiveret"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Flere kategorier er deaktiveret"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (anbefales)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (anbefales)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (anbefales)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Sletter nummer til begrænset opkald..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Nummeret til begrænset opkald blev slettet."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Nummeret til begrænset opkald blev ikke opdateret, fordi du har indtastet en forkert pinkode."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Nummeret til begrænset opkald blev ikke opdateret, fordi nummeret er mere end 20 cifre."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Nummeret til begrænset opkald blev ikke opdateret, fordi nummeret er mere end <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> cifre."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Nummeret til begrænset opkald blev ikke opdateret. PIN2-koden var forkert, eller telefonnummeret blev afvist."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Handlingen mislykkedes."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Læser fra SIM-kort ..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Kan ikke ringe op. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ikke et alarmnummer."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Kan ikke ringe op. Ring til et alarmnummer."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Det er ikke muligt at foretage nødopkald"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Det er kun ejeren af enheden, der kan angive pinkoder/PUK-koder."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Politi"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Brand"</string>
@@ -543,7 +570,7 @@
     <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Slå opkald sammen"</string>
     <string name="onscreenSwapCallsText" msgid="2682542150803377991">"Skift"</string>
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"Administrer opkald"</string>
-    <string name="onscreenManageConferenceText" msgid="4700574060601755137">"Admin. konference"</string>
+    <string name="onscreenManageConferenceText" msgid="4700574060601755137">"Admin. møde"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"Lyd"</string>
     <string name="onscreenVideoCallText" msgid="1743992456126258698">"Videoopkald"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"Importer"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Opkald via sms i realtid"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Tillad afsendelse af sms-beskeder i et taleopkald"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Sms i realtid hjælper personer, som er døve, hørehæmmede, talehandicappede, eller som har brug for mere end bare tale, med at foretage opkald.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Få flere oplysninger&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – Opkald via sms i realtid gemmes som en beskedtransskription\n       &lt;br&gt; – Sms i realtid er ikke tilgængeligt til videoopkald"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Bemærk! RTT er ikke tilgængeligt under roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY fra"</item>
     <item msgid="1449091874731375214">"Fuld TTY-tilstand"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nej"</string>
     <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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Opkaldsspærring blev deaktiveret"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Skift adgangskode"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Skift adgangskode til opkaldsspærring"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Adgangskoden til opkaldsspærring kan ikke ændres."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Adgangskoden til opkaldsspærring kan ikke ændres"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Adgangskoderne stemmer ikke overens"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Angiv en adgangskode med 4 cifre"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Adgangskoden blev ændret"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Bekræft adgangskode"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Angiv adgangskode"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Indstillinger for opkaldsspærring"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Vil du deaktivere alle indstillinger for opkaldsspærring?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Netværket er optaget. Prøv at ringe igen senere."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Netværket er belastet. Kontakt din mobiludbyder for at få hjælp."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Opkaldet er viderestillet."</string>
@@ -771,7 +804,7 @@
     <string name="supp_service_additional_call_forwarded" msgid="8772753260008398632">"Det andet opkald er videresendt."</string>
     <string name="supp_service_additional_ect_connected" msgid="8525934162945220237">"Opkaldet blev tilsluttet ECT."</string>
     <string name="supp_service_additional_ect_connecting" msgid="7046240728781222753">"Opkaldet tilsluttes ECT."</string>
-    <string name="supp_service_call_on_hold" msgid="2836811319594503059">"Parkeret opkald."</string>
+    <string name="supp_service_call_on_hold" msgid="2836811319594503059">"Opkald på hold."</string>
     <string name="supp_service_call_resumed" msgid="3786864005920743546">"Opkaldet er genoptaget."</string>
     <string name="supp_service_deflected_call" msgid="7565979024562921707">"Opkaldet blev viderestillet."</string>
     <string name="supp_service_forwarded_call" msgid="6475776013771821457">"Videresendt opkald."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Hvis du vil bruge <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, skal du sørge for, at mobildata og dataroaming 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Luk"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Aktivér dataforbindelse"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Deaktiver dataforbindelse"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE er provisioneret"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videoopkald er provisioneret"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi-opkald er provisioneret"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/tilstedeværelse er provisioneret"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Aktivér DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Vil du genstarte enheden?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Vis tjenestens faste opkaldsnumre"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS-tjenestestatus"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registreret"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Ikke registreret"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Tilgængelig"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Ikke tilgængelig"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoopkald: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grænseflade: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"I drift"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ude af drift"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Kun nødopkald"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radioen er slukket"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Roamer ikke"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inaktiv"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringer"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Opkald i gang"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Afbrudt"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Forbindelsen oprettes"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Tilsluttet"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspenderet"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Ukendt"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pk."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Nuværende under-id:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Under-id for standard-SIM-kort til data:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Båndbredde til download (kB/sek.):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Båndbredde til upload (kB/sek.):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Oplysning om placering af celle (udfaset):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Fysisk kanalkonfiguration for LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Opdateringsfrekvens for celleoplysninger:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Alle oplysninger om cellemåling:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datatjeneste:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI-nummer:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Omdirigering af opkald:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Antal PPP-nulstillinger siden start:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Nuværende netværk:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data modtaget:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Taletjeneste:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signalstyrke:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status for taleopkald:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sendt:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Besked venter:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonnummer:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping værtsnavn (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-klienttest:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Test ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Opdater"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Konfigurer radiobåndstilstand"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Indlæser båndliste…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Angiv"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Mislykket"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Fuldført"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Oplysninger om tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefonoplysninger"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Oplysninger om mobilselskab"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Aktivér mobilselskab"</string>
 </resources>
diff --git a/res/values-de/config.xml b/res/values-de/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-de/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f760ba5..948c7cc 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Private Nummer"</string>
     <string name="payphone" msgid="7936735771836716941">"Münztelefon"</string>
     <string name="onHold" msgid="6132725550015899006">"Anruf wird gehalten"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Nachricht von <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Nachricht vom Mobilfunkanbieter"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-Code gestartet"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-Code wird ausgeführt..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-Code abgebrochen"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TD-SCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TD-SCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TD-SCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Nur NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Bevorzugter Netzmodus: WCDMA bevorzugt"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Bevorzugter Netzmodus: nur GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Bevorzugter Netzmodus: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Bevorzugter Netzmodus: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Bevorzugter Netzmodus: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Bevorzugter Netzmodus: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Bevorzugter Netzmodus: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Bevorzugter Netzmodus: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Bevorzugter Netzmodus: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Bevorzugter Netzmodus: LTE/TD-SCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Bevorzugter Netzmodus: TD-SCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Bevorzugter Netzmodus: LTE/TD-SCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Bevorzugter Netzmodus: nur NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Bevorzugter Netzmodus: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Bevorzugter Netzmodus: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Bevorzugter Netzmodus: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Bevorzugter Netzmodus: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Bevorzugter Netzmodus: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Bevorzugter Netzmodus: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Bevorzugter Netzmodus: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Bevorzugter Netzmodus: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Bevorzugter Netzmodus: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Bevorzugter Netzmodus: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Anrufe"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Netzwerk"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Erweiterter 4G LTE-Modus"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Mehrere Kategorien"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Mehrere Kategorien aktiviert"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Mehrere Kategorien deaktiviert"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (empfohlen)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (empfohlen)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (empfohlen)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Zugelassene Rufnummer wird gelöscht..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Zugelassene Rufnummer gelöscht"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Die Liste der zugelassenen Rufnummern konnte nicht aktualisiert werden, da du eine falsche PIN eingegeben hast."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Die Rufnummernbeschränkung wurde nicht aktualisiert, da die Nummer maximal 20 Ziffern haben darf."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Die Rufnummernbeschränkung wurde nicht aktualisiert, da die Nummer länger als <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> Ziffern ist."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Die Liste der zugelassenen Rufnummern konnte nicht aktualisiert werden. Die eingegebene PIN2 ist ungültig oder die Rufnummer wurde abgelehnt."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Fehler bei der Rufnummernbeschränkung"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM-Karte wird ausgelesen..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Anruf nicht möglich. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ist keine Notrufnummer."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Anruf nicht möglich. Wähle eine Notrufnummer."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Notruf nicht verfügbar"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Nur der Eigentümer des Geräts kann PIN-/PUK-Codes eingeben."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polizei"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Krankenwagen"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Feuerwehr"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"RTT-Anruf"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Nachrichten in Sprachanrufen erlauben"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Echtzeittext (Real-Time Text, RTT) dient als Unterstützung für Anrufer, die gehörlos, schwerhörig oder sprachgeschädigt sind oder zusätzlich zur gesprochenen Sprache weitere Informationen benötigen.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Weitere Informationen&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT-Anrufe werden als Nachrichtentranskripte gespeichert\n       &lt;br&gt; – RTT ist nicht für Videoanrufe verfügbar"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Hinweis: RTT ist während des Roamings nicht verfügbar"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY aus"</item>
     <item msgid="1449091874731375214">"TTY (vollständig)"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nein"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Anrufsperre deaktiviert"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Passwort ändern"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Passwort für Anrufsperre ändern"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Passwort für Anrufsperre kann nicht geändert werden."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Passwort für Anrufsperre kann nicht geändert werden"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Die Passwörter stimmen nicht überein"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Gib ein vierstelliges Passwort ein"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Passwort geändert"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Passwort bestätigen"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Passwort eingeben"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Einstellungen zur Anrufsperre"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Alle Einstellungen zur Anrufsperre deaktivieren?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Das Netzwerk ist ausgelastet. Bitte versuche es später noch einmal."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Das Netzwerk ist überlastet. Bitte wende dich an deinen Mobilfunkanbieter, wenn du Hilfe benötigst."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Anruf umgeleitet."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Damit du <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> nutzen kannst, müssen mobile Daten und Daten-Roaming 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Schließen"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Datenverbindung aktivieren"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Datenverbindung deaktivieren"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-Kennzeichnung"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videoanrufe eingerichtet"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"WLAN-Anrufe eingerichtet"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Präsenz bereitgestellt"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-Daten"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS aktivieren"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Gerät neu starten?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Servicerufnummern anzeigen"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS-Dienststatus"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-Status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registriert"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Nicht registriert"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Verfügbar"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nicht verfügbar"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-Registrierung: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice-over-LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice-over-WLAN: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrufe: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-Oberfläche: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In Betrieb"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Außer Betrieb"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Nur Notrufe"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio ausschalten"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Kein Roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inaktiv"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Klingelt"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Anruf wird getätigt"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Nicht verbunden"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Verbindung wird hergestellt"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Verbunden"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Gesperrt"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Unbekannt"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"Pakete"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"Bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"ASU"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Aktuelle Unter-ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Unter-ID der standardmäßigen Daten-SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL-Bandbreite (kbit/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL-Bandbreite (kbit/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Standortinformationen des Mobiltelefons (eingestellt):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfiguration des physischen LTE-Kanals:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Aktualisierungsrate der Mobiltelefoninformationen:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Alle Informationen zu Zellenmesswerten:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datendienst:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Rufumleitung:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Anzahl der PPP-Zurücksetzungen seit dem Start:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Aktuelles Netzwerk:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Empfangene Daten:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Sprachdienst:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signalstärke:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status für Audioanruf:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Gesendete Daten:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Nachricht liegt vor:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonnummer:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Hostname (www.google.com) pingen, IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-Clienttest:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Pingtest ausführen"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"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="band_mode_title" msgid="7988822920724576842">"Frequenzbereichmodus festlegen"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Frequenzliste wird geladen…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Festlegen"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Fehlgeschlagen"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Erfolgreich"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet-Informationen"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Über das Telefon"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informationen zur Nutzerverwaltung durch den Anbieter"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Nutzerverwaltung durch den Anbieter auslösen"</string>
 </resources>
diff --git a/res/values-el/config.xml b/res/values-el/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-el/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 702740a..9b687c1 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Απόκρυψη"</string>
     <string name="payphone" msgid="7936735771836716941">"Τηλέφωνο με χρέωση"</string>
     <string name="onHold" msgid="6132725550015899006">"Σε αναμονή"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Μήνυμα <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Μήνυμα φορέα"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Έναρξη κώδικα MMI"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Ο κώδικας USSD εκτελείται..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Ο κώδικας MMI ακυρώθηκε"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Μόνο NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Προτιμώμενη λειτουργία δικτύου: προτιμώμενο WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Προτιμώμενη λειτουργία δικτύου: μόνο GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Προτιμώμενη λειτουργία δικτύου: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Προτιμώμενη λειτουργία δικτύου: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Προτιμώμενη λειτουργία δικτύου: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Προτιμώμενη λειτουργία δικτύου: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Προτιμώμενη λειτουργία δικτύου: Παγκόσμια"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Προτιμώμενη λειτουργία δικτύου: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Προτιμώμενη λειτουργία δικτύου: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Προτιμώμενη λειτουργία δικτύου: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Προτιμώμενη λειτουργία δικτύου: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Προτιμώμενη λειτουργία δικτύου: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Προτιμώμενη λειτουργία δικτύου: μόνο NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Προτιμώμενη λειτουργία δικτύου: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Προτιμώμενη λειτουργία δικτύου: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Κλήση"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Δίκτυο"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Βελτιωμένη λειτουργία 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Πολλές κατηγορίες"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Ενεργοποιήθηκε η προβολή πολλών κατηγοριών"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Απενεργοποιήθηκε η προβολή πολλών κατηγοριών"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (συνιστάται)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (συνιστάται)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (συνιστάται)"</string>
     <string name="network_global" msgid="3289646154407617631">"Παγκοσμίως"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"Το FDN δεν ενημερώθηκε, επειδή ο αριθμός ξεπερνάει τα 20 ψηφία."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Το FDN δεν ενημερώθηκε, επειδή ο αριθμός υπερβαίνει τα <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> ψηφία."</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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Δεν είναι δυνατή η κλήση. Το <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> δεν είναι αριθμός έκτακτης ανάγκης."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Δεν είναι δυνατή η κλήση. Πληκτρολογήστε έναν αριθμό έκτακτης ανάγκης."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Η δυνατότητα κλήσεων έκτακτης ανάγκης δεν είναι διαθέσιμη"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Μόνο ο κάτοχος της συσκευής έχει τη δυνατότητα εισαγωγής κωδικών PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Αστυνομία"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ασθενοφόρο"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Πυροσβεστική"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Σημείωση: Η λειτουργία RTT δεν είναι διαθέσιμη κατά την περιαγωγή"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY Απενεργοποιήθηκε"</item>
     <item msgid="1449091874731375214">"TTY πλήρες"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"Υπηρεσία"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Ρυθμίσεις"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Δεν έχει οριστεί&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Η φραγή κλήσεων απενεργοποιήθηκε"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Αλλαγή κωδικού πρόσβασης"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Αλλαγή κωδικού φραγής πρόσβασης για φραγή κλήσεων."</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Δεν είναι δυνατή η αλλαγή του κωδικού πρόσβασης για φραγή κλήσεων."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Δεν είναι δυνατή η αλλαγή του κωδικού πρόσβασης για φραγή κλήσεων"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Οι κωδικοί πρόσβασης δεν αντιστοιχούν μεταξύ τους"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Εισαγάγετε έναν κωδικό πρόσβασης με 4 αριθμούς"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Ο κωδικός πρόσβασης άλλαξε"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Επιβεβαίωση κωδικού πρόσβασης"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Εισαγωγή κωδικού πρόσβασης"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Ρυθμίσεις φραγής κλήσεων"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Απενεργοποίηση όλων των ρυθμίσεων φραγής κλήσεων;"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Το δίκτυο είναι απασχολημένο. Δοκιμάστε να καλέσετε αργότερα."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Παρατηρείται συμφόρηση δικτύου. Επικοινωνήστε με τον φορέα κινητής τηλεφωνίας που χρησιμοποιείτε για βοήθεια."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Έγινε εκτροπή της κλήσης."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Παρέχεται δυνατότητα βιντεοκλήσης"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Παρέχεται δυνατότητα κλήσης μέσω Wi-Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Παρέχεται EAB/παρουσία"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Δεδομένα Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Ενεργοποίηση DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Ισχύς πομπού κινητής τηλεφωνίας"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Προβολή βιβλίου διευθύνσεων κάρτας SIM"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Προβολή προκαθορισμένων αριθμών κλήσης"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Προβολή αριθμών κλήσης υπηρεσίας"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Κατάσταση υπηρεσίας IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Κατάσταση IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Με εγγραφή"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Χωρίς εγγραφή"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Διαθέσιμο"</string>
+    <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Φωνή μέσω δικτύου Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nΒιντεοκλήσεις: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nΔιεπαφή UT: <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_emergency" msgid="4763879891415016848">"Μόνο κλήσεις έκτακτης ανάγκης"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Ραδιόφωνο ανενεργό"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Περιαγωγή"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Χωρίς περιαγωγή"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Σε αδράνεια"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Κλήση"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Κλήση σε εξέλιξη"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Αποσυνδεδεμένη"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Γίνεται σύνδεση"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Σε σύνδεση"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Σε αναστολή"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Άγνωστο"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"byte"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Τρέχον subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId προεπιλεγμένης SIM δεδομένων:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Εύρος ζώνης DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Εύρος ζώνης UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Πληροφορίες τοποθεσίας κινητής τηλεφωνίας (καταργήθηκε):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Διαμόρφωση φυσικού καναλιού LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Ρυθμός ανανέωσης στοιχείων κινητής τηλεφωνίας:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Όλα τα στοιχεία μετρήσεων κινητής τηλεφωνίας:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Υπηρεσία δεδομένων:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Περιαγωγή:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"Αριθμός IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Ανακατεύθυνση κλήσης:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Αριθμός επαναφορών PPP από την εκκίνηση:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Τρέχον δίκτυο:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Δεδομένα που λήφθηκαν:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Φωνητική υπηρεσία:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Ισχύς σήματος:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Κατάσταση φωνητικής κλήσης:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Δεδομένα που στάλθηκαν:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Αναμονή μηνύματος:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Αριθμός τηλεφώνου:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Όνομα κεντρικού υπολογιστή Ping (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Δοκιμή πελάτη HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Εκτέλεση δοκιμής ping"</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_toggle_dns_check_label" msgid="1394078554927787350">"Εναλλαγή ελέγχου DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Πληροφορίες/ρυθμίσεις για OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Ρύθμιση λειτουργίας ζώνης συχνοτήτων πομπού"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Φόρτωση λίστας ζωνών…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Ορισμός"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Ανεπιτυχής"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Επιτυχής"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Πληροφορίες tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Πληροφορίες τηλεφώνου"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Πληροφορίες παροχής εταιρείας κινητής τηλεφωνίας"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Ενεργοποίηση παροχής εταιρείας κινητής τηλεφωνίας"</string>
 </resources>
diff --git a/res/values-en-rAU/config.xml b/res/values-en-rAU/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-en-rAU/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index bc7fc2b..d48a09c 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Private number"</string>
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"On hold"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Message"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operator message"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI code started"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD code running…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI code cancelled"</string>
@@ -72,7 +74,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configure account settings"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"All calling accounts"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Select which accounts can make calls"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi Calling"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi calling"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Built-in connection service"</string>
     <string name="voicemail" msgid="7697769412804195032">"Voicemail"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR only"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferred network mode: WCDMA preferred"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferred network mode: GSM only"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferred network mode: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferred network mode: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferred network mode: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferred network mode: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferred network mode: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferred network mode: NR only"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferred network mode: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferred network mode: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferred network mode: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferred network mode: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferred network mode: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferred network mode: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferred network mode: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferred network mode: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Calling"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Network"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Enhanced 4G LTE Mode"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-category"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multi-category enabled"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multi-category disabled"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recommended)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recommended)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recommended)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialling number…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialling number deleted."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN wasn\'t updated because you typed an incorrect PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN wasn\'t updated because the number exceeds 20 digits."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN wasn\'t updated because the number exceeds <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digits."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN operation failed."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Reading from SIM card…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Can\'t call. Dial an emergency number."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Emergency calling not available"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Only the owner of the device can enter PIN/PUK codes."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Police"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Fire"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real-time text (RTT) call"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Allow messaging within a voice call"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT calls are saved as a message transcript\n       &lt;br&gt; – RTT is not available for video calls"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Note: RTT is not available while roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY off"</item>
     <item msgid="1449091874731375214">"TTY full"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Call barring deactivated"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Change password"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Change call barring password"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Cannot change call barring password."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Cannot change call barring password"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Passwords do not match"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with four numbers"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Password changed"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirm password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Enter password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Call barring settings"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deactivate all call barring settings?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try placing your call again later."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Network is congested. Contact your mobile operator for assistance."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Call deflected."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Dismiss"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable data connection"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable data connection"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE provisioned"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video calling provisioned"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi calling provisioned"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence provisioned"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Enable DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart device?"</string>
+    <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
+    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View service dialling numbers"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS service status"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registered"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not registered"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Available"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Unavailable"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency calls only"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio off"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Idle"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringing"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in progress"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Disconnected"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connecting"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connected"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspended"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Unknown"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Current subID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId of default data SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL bandwidth (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL bandwidth (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobile location info (deprecated):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE physical channel configuration:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobile info refresh rate:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All mobile measurement info:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data service:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call redirect:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP reset since boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current network:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data received:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice service:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal strength"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice call status:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sent"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message waiting:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone number:"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
+    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
+    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP client test:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Run ping test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Unsuccessful"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Successful"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Phone info"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator provisioning info"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger operator provisioning"</string>
 </resources>
diff --git a/res/values-en-rCA/config.xml b/res/values-en-rCA/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-en-rCA/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index f493eeb..2505aa1 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Private number"</string>
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"On hold"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Message"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operator message"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI code started"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD code running…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI code cancelled"</string>
@@ -72,7 +74,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configure account settings"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"All calling accounts"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Select which accounts can make calls"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi Calling"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi calling"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Built-in connection service"</string>
     <string name="voicemail" msgid="7697769412804195032">"Voicemail"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR only"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferred network mode: WCDMA preferred"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferred network mode: GSM only"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferred network mode: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferred network mode: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferred network mode: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferred network mode: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferred network mode: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferred network mode: NR only"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferred network mode: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferred network mode: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferred network mode: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferred network mode: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferred network mode: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferred network mode: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferred network mode: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferred network mode: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Calling"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Network"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Enhanced 4G LTE Mode"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-category"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multi-category enabled"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multi-category disabled"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recommended)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recommended)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recommended)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialling number…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialling number deleted."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN wasn\'t updated because you typed an incorrect PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN wasn\'t updated because the number exceeds 20 digits."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN wasn\'t updated because the number exceeds <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digits."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN operation failed."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Reading from SIM card…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Can\'t call. Dial an emergency number."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Emergency calling not available"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Only the owner of the device can enter PIN/PUK codes."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Police"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Fire"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real-time text (RTT) call"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Allow messaging within a voice call"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT calls are saved as a message transcript\n       &lt;br&gt; – RTT is not available for video calls"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Note: RTT is not available while roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY off"</item>
     <item msgid="1449091874731375214">"TTY full"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Call barring deactivated"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Change password"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Change call barring password"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Cannot change call barring password."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Cannot change call barring password"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Passwords do not match"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with four numbers"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Password changed"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirm password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Enter password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Call barring settings"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deactivate all call barring settings?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try placing your call again later."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Network is congested. Contact your mobile operator for assistance."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Call deflected."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Dismiss"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable data connection"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable data connection"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE provisioned"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video calling provisioned"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi calling provisioned"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence provisioned"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Enable DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart device?"</string>
+    <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
+    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View service dialling numbers"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS service status"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registered"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not registered"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Available"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Unavailable"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency calls only"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio off"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Idle"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringing"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in progress"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Disconnected"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connecting"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connected"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspended"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Unknown"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Current subID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId of default data SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL bandwidth (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL bandwidth (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobile location info (deprecated):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE physical channel configuration:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobile info refresh rate:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All mobile measurement info:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data service:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call redirect:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP reset since boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current network:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data received:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice service:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal strength"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice call status:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sent"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message waiting:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone number:"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
+    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
+    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP client test:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Run ping test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Unsuccessful"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Successful"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Phone info"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator provisioning info"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger operator provisioning"</string>
 </resources>
diff --git a/res/values-en-rGB/config.xml b/res/values-en-rGB/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-en-rGB/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index bc7fc2b..d48a09c 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Private number"</string>
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"On hold"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Message"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operator message"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI code started"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD code running…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI code cancelled"</string>
@@ -72,7 +74,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configure account settings"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"All calling accounts"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Select which accounts can make calls"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi Calling"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi calling"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Built-in connection service"</string>
     <string name="voicemail" msgid="7697769412804195032">"Voicemail"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR only"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferred network mode: WCDMA preferred"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferred network mode: GSM only"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferred network mode: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferred network mode: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferred network mode: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferred network mode: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferred network mode: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferred network mode: NR only"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferred network mode: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferred network mode: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferred network mode: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferred network mode: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferred network mode: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferred network mode: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferred network mode: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferred network mode: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Calling"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Network"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Enhanced 4G LTE Mode"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-category"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multi-category enabled"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multi-category disabled"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recommended)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recommended)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recommended)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialling number…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialling number deleted."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN wasn\'t updated because you typed an incorrect PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN wasn\'t updated because the number exceeds 20 digits."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN wasn\'t updated because the number exceeds <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digits."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN operation failed."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Reading from SIM card…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Can\'t call. Dial an emergency number."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Emergency calling not available"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Only the owner of the device can enter PIN/PUK codes."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Police"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Fire"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real-time text (RTT) call"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Allow messaging within a voice call"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT calls are saved as a message transcript\n       &lt;br&gt; – RTT is not available for video calls"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Note: RTT is not available while roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY off"</item>
     <item msgid="1449091874731375214">"TTY full"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Call barring deactivated"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Change password"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Change call barring password"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Cannot change call barring password."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Cannot change call barring password"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Passwords do not match"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with four numbers"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Password changed"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirm password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Enter password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Call barring settings"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deactivate all call barring settings?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try placing your call again later."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Network is congested. Contact your mobile operator for assistance."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Call deflected."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Dismiss"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable data connection"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable data connection"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE provisioned"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video calling provisioned"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi calling provisioned"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence provisioned"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Enable DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart device?"</string>
+    <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
+    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View service dialling numbers"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS service status"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registered"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not registered"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Available"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Unavailable"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency calls only"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio off"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Idle"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringing"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in progress"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Disconnected"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connecting"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connected"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspended"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Unknown"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Current subID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId of default data SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL bandwidth (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL bandwidth (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobile location info (deprecated):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE physical channel configuration:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobile info refresh rate:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All mobile measurement info:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data service:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call redirect:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP reset since boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current network:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data received:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice service:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal strength"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice call status:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sent"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message waiting:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone number:"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
+    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
+    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP client test:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Run ping test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Unsuccessful"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Successful"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Phone info"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator provisioning info"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger operator provisioning"</string>
 </resources>
diff --git a/res/values-en-rIN/config.xml b/res/values-en-rIN/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-en-rIN/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index bc7fc2b..d48a09c 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Private number"</string>
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"On hold"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Message"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operator message"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI code started"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD code running…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI code cancelled"</string>
@@ -72,7 +74,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configure account settings"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"All calling accounts"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Select which accounts can make calls"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi Calling"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi calling"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Built-in connection service"</string>
     <string name="voicemail" msgid="7697769412804195032">"Voicemail"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR only"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferred network mode: WCDMA preferred"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferred network mode: GSM only"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferred network mode: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferred network mode: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferred network mode: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferred network mode: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferred network mode: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferred network mode: NR only"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferred network mode: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferred network mode: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferred network mode: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferred network mode: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferred network mode: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferred network mode: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferred network mode: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferred network mode: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Calling"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Network"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Enhanced 4G LTE Mode"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-category"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multi-category enabled"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multi-category disabled"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recommended)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recommended)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recommended)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialling number…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialling number deleted."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN wasn\'t updated because you typed an incorrect PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN wasn\'t updated because the number exceeds 20 digits."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN wasn\'t updated because the number exceeds <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digits."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN operation failed."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Reading from SIM card…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Can\'t call. Dial an emergency number."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Emergency calling not available"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Only the owner of the device can enter PIN/PUK codes."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Police"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Fire"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real-time text (RTT) call"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Allow messaging within a voice call"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT calls are saved as a message transcript\n       &lt;br&gt; – RTT is not available for video calls"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Note: RTT is not available while roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY off"</item>
     <item msgid="1449091874731375214">"TTY full"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Call barring deactivated"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Change password"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Change call barring password"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Cannot change call barring password."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Cannot change call barring password"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Passwords do not match"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with four numbers"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Password changed"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirm password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Enter password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Call barring settings"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deactivate all call barring settings?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try placing your call again later."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Network is congested. Contact your mobile operator for assistance."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Call deflected."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Dismiss"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable data connection"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable data connection"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE provisioned"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video calling provisioned"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi calling provisioned"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence provisioned"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Enable DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart device?"</string>
+    <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
+    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View service dialling numbers"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS service status"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registered"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not registered"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Available"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Unavailable"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency calls only"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio off"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Idle"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringing"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in progress"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Disconnected"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connecting"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connected"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspended"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Unknown"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Current subID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId of default data SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL bandwidth (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL bandwidth (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobile location info (deprecated):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE physical channel configuration:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobile info refresh rate:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All mobile measurement info:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data service:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call redirect:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP reset since boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current network:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data received:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice service:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal strength"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice call status:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sent"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message waiting:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone number:"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
+    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
+    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
+    <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP client test:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Run ping test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Unsuccessful"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Successful"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet info"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Phone info"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator provisioning info"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger operator provisioning"</string>
 </resources>
diff --git a/res/values-en-rXC/config.xml b/res/values-en-rXC/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-en-rXC/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index e0b670a..250a26d 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎Private number‎‏‎‎‏‎"</string>
     <string name="payphone" msgid="7936735771836716941">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎Payphone‎‏‎‎‏‎"</string>
     <string name="onHold" msgid="6132725550015899006">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‏‏‏‎‎On hold‎‏‎‎‏‎"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="MMICARRIER">%s</xliff:g>‎‏‎‎‏‏‏‎ Message‎‏‎‎‏‎"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎Carrier Message‎‏‎‎‏‎"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎MMI code started‎‏‎‎‏‎"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎USSD code running…‎‏‎‎‏‎"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‎MMI code canceled‎‏‎‎‏‎"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎LTE/TDSCDMA/GSM/WCDMA‎‏‎‎‏‎"</item>
     <item msgid="8826479449402151312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎TDSCDMA/CDMA/EVDO/GSM/WCDMA‎‏‎‎‏‎"</item>
     <item msgid="6284311629324843506">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA‎‏‎‎‏‎"</item>
+    <item msgid="4738087170533378966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‎NR only‎‏‎‎‏‎"</item>
+    <item msgid="2935877729588775187">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎NR/LTE‎‏‎‎‏‎"</item>
+    <item msgid="8967513231424970529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎NR/LTE/CDMA/EvDo‎‏‎‎‏‎"</item>
+    <item msgid="1542643426479755015">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎NR/LTE/GSM/WCDMA‎‏‎‎‏‎"</item>
+    <item msgid="5778162260258129841">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎NR/LTE/CDMA/EvDo/GSM/WCDMA‎‏‎‎‏‎"</item>
+    <item msgid="8088614845214545367">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‏‏‎NR/LTE/WCDMA‎‏‎‎‏‎"</item>
+    <item msgid="6517428040626326776">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎NR/LTE/TDSCDMA‎‏‎‎‏‎"</item>
+    <item msgid="5294150161567170165">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎NR/LTE/TDSCDMA/GSM‎‏‎‎‏‎"</item>
+    <item msgid="4130965694947056705">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎NR/LTE/TDSCDMA/WCDMA‎‏‎‎‏‎"</item>
+    <item msgid="3869566732842046032">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎NR/LTE/TDSCDMA/GSM/WCDMA‎‏‎‎‏‎"</item>
+    <item msgid="3942770927563146543">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA‎‏‎‎‏‎"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎Preferred network mode: WCDMA preferred‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎Preferred network mode: GSM only‎‏‎‎‏‎"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‎Preferred network mode: LTE‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎Preferred network mode: GSM/WCDMA/LTE‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎Preferred network mode: CDMA+LTE/EVDO‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎Preferred network mode: Global‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎Preferred network mode: LTE / WCDMA‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎Preferred network mode: LTE / GSM / UMTS‎‏‎‎‏‎"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎Preferred network mode: LTE/TDSCDMA/GSM/WCDMA‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎Preferred network mode: NR only‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎Preferred network mode: NR / LTE‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎Preferred network mode: NR/LTE/CDMA/EvDo‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎Preferred network mode: NR/LTE/GSM/WCDMA‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‎‎‏‏‏‎‎Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎‎Preferred network mode: NR/LTE/WCDMA‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎Preferred network mode: NR/LTE/TDSCDMA‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎Preferred network mode: NR/LTE/TDSCDMA/GSM‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‎Preferred network mode: NR/LTE/TDSCDMA/WCDMA‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎Preferred network mode: NR/LTE/TDSCDMA/GSM/WCDMA‎‏‎‎‏‎"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‏‎Preferred network mode: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA‎‏‎‎‏‎"</string>
     <string name="call_category" msgid="4394703838833058138">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎Calling‎‏‎‎‏‎"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‎‎Network‎‏‎‎‏‎"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎Enhanced 4G LTE Mode‎‏‎‎‏‎"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎Multi-category‎‏‎‎‏‎"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎Multi-category enabled‎‏‎‎‏‎"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎Multi-category disabled‎‏‎‎‏‎"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" ‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎ (recommended)‎‏‎‎‏‎"</string>
     <string name="network_lte" msgid="7206879277095094280">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎LTE (recommended)‎‏‎‎‏‎"</string>
     <string name="network_4G" msgid="6800527815504223913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎4G (recommended)‎‏‎‎‏‎"</string>
     <string name="network_global" msgid="3289646154407617631">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎Global‎‏‎‎‏‎"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎Deleting fixed dialing number…‎‏‎‎‏‎"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎Fixed dialing number deleted.‎‏‎‎‏‎"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‏‎‎FDN wasn\'t updated because you typed an incorrect PIN.‎‏‎‎‏‎"</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎FDN wasn\'t updated because the number exceeds 20 digits.‎‏‎‎‏‎"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‎FDN wasn\'t updated because the number exceeds ‎‏‎‎‏‏‎<xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>‎‏‎‎‏‏‏‎ digits.‎‏‎‎‏‎"</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‎FDN wasn\'t updated. The PIN2 was incorrect, or the phone number was rejected.‎‏‎‎‏‎"</string>
     <string name="fdn_failed" msgid="216592346853420250">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎FDN operation failed.‎‏‎‎‏‎"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎Reading from SIM card…‎‏‎‎‏‎"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎Can\'t call. ‎‏‎‎‏‏‎<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>‎‏‎‎‏‏‏‎ is not an emergency number.‎‏‎‎‏‎"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‎Can\'t call. Dial an emergency number.‎‏‎‎‏‎"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎Emergency calling not available‎‏‎‎‏‎"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎Only the owner of the device can enter PIN/PUK codes.‎‏‎‎‏‎"</string>
     <string name="police_type_description" msgid="2819533883972081757">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎Police‎‏‎‎‏‎"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‏‎‏‎Ambulance‎‏‎‎‏‎"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎Fire‎‏‎‎‏‎"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎Real-time text (RTT) call‎‏‎‎‏‎"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‎‎Allow messaging within a voice call‎‏‎‎‏‎"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎RTT assists callers who are deaf, hard of hearing, have a speech disability, or need more than voice alone.&lt;br&gt; &lt;a href=‎‏‎‎‏‏‎<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>‎‏‎‎‏‏‏‎&gt;Learn more&lt;/a&gt;‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎       &lt;br&gt;&lt;br&gt; - RTT calls are saved as a message transcript‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎       &lt;br&gt; - RTT is not available for video calls‎‏‎‎‏‎"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎Note: RTT is not available while roaming‎‏‎‎‏‎"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎TTY Off‎‏‎‎‏‎"</item>
     <item msgid="1449091874731375214">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎TTY Full‎‏‎‎‏‎"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‎‎‏‎Yes‎‏‎‎‏‎"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‎‎No‎‏‎‎‏‎"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‏‎Call barring deactivated‎‏‎‎‏‎"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎Change password‎‏‎‎‏‎"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎Change call barring password‎‏‎‎‏‎"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‏‎Cannot change call barring password.‎‏‎‎‏‎"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎Cannot change call barring password‎‏‎‎‏‎"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎Passwords do not match‎‏‎‎‏‎"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎Enter a password with 4 numbers‎‏‎‎‏‎"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎Password changed‎‏‎‎‏‎"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‏‎‎Confirm password‎‏‎‎‏‎"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎Enter password‎‏‎‎‏‎"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎Call barring settings‎‏‎‎‏‎"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎Deactivate all call barring settings?‎‏‎‎‏‎"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‎Network is busy. Please try your call again later.‎‏‎‎‏‎"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‎Network is congested. Contact your mobile operator for assistance.‎‏‎‎‏‎"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‏‎Call deflected.‎‏‎‎‏‎"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‎To use ‎‏‎‎‏‏‎<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎, make sure mobile data is turned on for SIM ‎‏‎‎‏‏‎<xliff:g id="SIM_NUMBER">%2$d</xliff:g>‎‏‎‎‏‏‏‎. You can change this in mobile network settings.‎‏‎‎‏‎"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎To use ‎‏‎‎‏‏‎<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎, make sure mobile data and data roaming are turned on for SIM ‎‏‎‎‏‏‎<xliff:g id="SIM_NUMBER">%2$d</xliff:g>‎‏‎‎‏‏‏‎. You can change these in mobile network settings.‎‏‎‎‏‎"</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‏‎‎‎Dismiss‎‏‎‎‏‎"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‎Enable Data Connection‎‏‎‎‏‎"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎Disable Data Connection‎‏‎‎‏‎"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎VoLTE Provisioned‎‏‎‎‏‎"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‏‏‎‎‎‏‎‏‏‎Video Calling Provisioned‎‏‎‎‏‎"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‎Wifi Calling Provisioned‎‏‎‎‏‎"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‎EAB/Presence Provisioned‎‏‎‎‏‎"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎Cbrs Data‎‏‎‎‏‎"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎Enable DSDS‎‏‎‎‏‎"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎Restart Device?‎‏‎‎‏‎"</string>
+    <string name="dsds_dialog_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="radio_info_radio_power" msgid="8805595022160471587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎Mobile Radio Power‎‏‎‎‏‎"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎View SIM Address Book‎‏‎‎‏‎"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎View Fixed Dialing Numbers‎‏‎‎‏‎"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎View Service Dialing Numbers‎‏‎‎‏‎"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‎‎‎IMS Service Status‎‏‎‎‏‎"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‏‎IMS Status‎‏‎‎‏‎"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎Registered‎‏‎‎‏‎"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‎‏‎Not Registered‎‏‎‎‏‎"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‎‏‏‎‎‎Available‎‏‎‎‏‎"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎Unavailable‎‏‎‎‏‎"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‏‏‎‎IMS Registration: ‎‏‎‎‏‏‎<xliff:g id="STATUS">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Voice over LTE: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Voice over WiFi: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_1">%3$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Video Calling: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_2">%4$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎UT Interface: ‎‏‎‎‏‏‎<xliff:g id="AVAILABILITY_3">%5$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎In Service‎‏‎‎‏‎"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎Out of Service‎‏‎‎‏‎"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‎‎Emergency Calls Only‎‏‎‎‏‎"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎Radio Off‎‏‎‎‏‎"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎Roaming‎‏‎‎‏‎"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎Not Roaming‎‏‎‎‏‎"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎Idle‎‏‎‎‏‎"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎Ringing‎‏‎‎‏‎"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎Call in Progress‎‏‎‎‏‎"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‎Disconnected‎‏‎‎‏‎"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎Connecting‎‏‎‎‏‎"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎Connected‎‏‎‎‏‎"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‏‎Suspended‎‏‎‎‏‎"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎Unknown‎‏‎‎‏‎"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎pkts‎‏‎‎‏‎"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎bytes‎‏‎‎‏‎"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‏‎dBm‎‏‎‎‏‎"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎asu‎‏‎‎‏‎"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎LAC‎‏‎‎‏‎"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎CID‎‏‎‎‏‎"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎Current subId:‎‏‎‎‏‎"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‎SubId of default data SIM:‎‏‎‎‏‎"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎DL Bandwidth (kbps):‎‏‎‎‏‎"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‏‎‎‎UL Bandwidth (kbps):‎‏‎‎‏‎"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‎Cell Location Info (deprecated):‎‏‎‎‏‎"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‏‎LTE Physical Channel Configuration:‎‏‎‎‏‎"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‎Cell Info Refresh Rate:‎‏‎‎‏‎"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎All Cell Measurement Info:‎‏‎‎‏‎"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎Data Service:‎‏‎‎‏‎"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎Roaming:‎‏‎‎‏‎"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎IMEI:‎‏‎‎‏‎"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‎‎‏‎‎‎Call Redirect:‎‏‎‎‏‎"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎Number of PPP Reset Since Boot:‎‏‎‎‏‎"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎Current Network:‎‏‎‎‏‎"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‏‎‎‏‎Data Received:‎‏‎‎‏‎"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎Voice Service:‎‏‎‎‏‎"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎Signal Strength:‎‏‎‎‏‎"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎Voice Call Status:‎‏‎‎‏‎"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‏‏‏‎Data Sent:‎‏‎‎‏‎"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎Message Waiting:‎‏‎‎‏‎"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‏‎Phone Number:‎‏‎‎‏‎"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‎‎Select Radio Band‎‏‎‎‏‎"</string>
+    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎Voice Network Type:‎‏‎‎‏‎"</string>
+    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎Data Network Type:‎‏‎‎‏‎"</string>
+    <string name="phone_index_label" msgid="6222406512768964268">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‎‎Select phone index‎‏‎‎‏‎"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎Set Preferred Network Type:‎‏‎‎‏‎"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎Ping Hostname(www.google.com) IPv4:‎‏‎‎‏‎"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎Ping Hostname(www.google.com) IPv6:‎‏‎‎‏‎"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎HTTP Client Test:‎‏‎‎‏‎"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎Run Ping Test‎‏‎‎‏‎"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‎SMSC:‎‏‎‎‏‎"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎Update‎‏‎‎‏‎"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎Refresh‎‏‎‎‏‎"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎Toggle DNS Check‎‏‎‎‏‎"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎OEM-specific Info/Settings‎‏‎‎‏‎"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎Set Radio Band Mode‎‏‎‎‏‎"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎Loading Band List…‎‏‎‎‏‎"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‏‎Set‎‏‎‎‏‎"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‎Unsuccessful‎‏‎‎‏‎"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎Successful‎‏‎‎‏‎"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎Tablet info‎‏‎‎‏‎"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‎Phone info‎‏‎‎‏‎"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎Carrier Provisioning Info‎‏‎‎‏‎"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎Trigger Carrier Provisioning‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/config.xml b/res/values-es-rUS/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-es-rUS/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 9196f8c..a9ddc42 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Número privado"</string>
     <string name="payphone" msgid="7936735771836716941">"Teléfono público"</string>
     <string name="onHold" msgid="6132725550015899006">"En espera"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mensaje de <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mensaje del proveedor"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Código de MMI iniciado"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Ejecutando código USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Código MMI cancelado"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Solo NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modo de red preferido: WCDMA preferido"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modo de red preferido: solo GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Modo de red preferido: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Modo de red preferido: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Modo de red preferido: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Modo de red preferido: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Modo de red preferido: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Modo de red preferido: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modo de red preferido: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Modo de red preferido: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Modo de red preferido: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Modo de red preferido: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Modo de red preferido: solo NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Modo de red preferido: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Modo de red preferido: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Modo de red preferido: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Modo de red preferido: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Modo de red preferido: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Modo de red preferido: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Modo de red preferido: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Modo de red preferido: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Modo de red preferido: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Modo de red preferido: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Llamando"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Red"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Modo 4G LTE mejorado"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Varias categorías"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Varias categorías activadas"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Varias categorías desactivadas"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recomendado)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recomendado)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recomendado)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Eliminando número de marcación fija..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Número de marcación fija eliminado"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"No se actualizó el FDN porque ingresaste un PIN incorrecto."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"El NMF no se actualizó porque el número supera los 20 dígitos."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"No se actualizó el NMF porque el número supera los <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> dígitos."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"No se actualizó el FDN. El PIN2 era incorrecto o se rechazó el número de teléfono."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Ocurrió un error de funcionamiento con el número de marcado fijo."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Leyendo la tarjeta SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"No se puede realizar la llamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no es un número de emergencia."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"No se puede realizar la llamada. Marca un número de emergencia."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Las llamadas de emergencia no están disponibles"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Solo el propietario del dispositivo puede ingresar los códigos PIN/PUK"</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policía"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulancia"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Bomberos"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Llamada de Texto en tiempo real (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Permitir la mensajería en las llamadas de voz"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"El RTT brinda asistencia a las personas sordas o hipoacúsicas, que tienen algún trastorno del habla o necesitan una transcripción además de la voz.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Más información&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Las llamadas de RTT se guardan como las transcripciones de los mensajes\n       &lt;br&gt; - El RTT no está disponible para las videollamadas"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Nota: La función RTT no está disponible en roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY desactivado"</item>
     <item msgid="1449091874731375214">"TTY completo"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sí"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Se desactivó la restricción de llamadas"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Cambiar contraseña"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Cambiar la contraseña para la restricción de llamadas"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"No se puede cambiar la contraseña para la restricción de llamadas."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"No se puede cambiar la contraseña para la restricción de llamadas"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Las contraseñas no coinciden"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Ingresa una contraseña que contenga 4 números"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Se cambió la contraseña"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmar contraseña"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Ingresa la contraseña"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Configuración de restricción de llamadas"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"¿Quieres desactivar todas las opciones de restricción de llamadas?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"La red está ocupada. Vuelve a realizar la llamada más tarde."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"La red está congestionada. Comunícate con tu operador de telefonía móvil para recibir asistencia."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Se desvió la llamada."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Para usar <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, asegúrate de que los datos móviles y el roaming de datos 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Descartar"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Habilitar la conexión de datos"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Inhabilitar la conexión de datos"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE aprovisionada"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videollamadas aprovisionadas"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Llamadas por Wi-Fi aprovisionadas"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence aprovisionados"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Datos de CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Habilitar DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"¿Quieres reiniciar el dispositivo?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Ver números de marcación de servicio"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Estado del servicio de IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Estado de IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrado"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"No registrado"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponible"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"No disponible"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registro de IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz por LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz por Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideollamada: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfaz de UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"En servicio"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Fuera de servicio"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Solo llamadas de emergencia"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio desactivada"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Sin roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactivo"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Sonando"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Llamada en curso"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Desconectado"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Conectando"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Conectado"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendido"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Desconocido"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"paquetes"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ID secundario actual:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ID secundario de SIM de datos predeterminada:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Ancho de banda de descarga (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Ancho de banda de carga (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Datos de ubicación del celular (obsoleto):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuración del canal físico de LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Frecuencia de actualización de datos del celular:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Información sobre las dimensiones del celular:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Servicio de datos:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redireccionamiento de llamada:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Cantidad de PPP restablecidos desde el inicio:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Red actual:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Datos recibidos:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Servicio de voz:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Potencia de la señal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Estado de la llamada de voz:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Datos enviados:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mensaje en espera:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Número de teléfono:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Hacer ping a IPv6 de nombre de host (www.google.com):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Prueba de cliente HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ejecutar prueba de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualizar"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Establecer modo de banda de radio"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Establecer"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Incorrecto"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Correcto"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Información de la tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Información del teléfono"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Información del aprovisionamiento del proveedor"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Activar aprovisionamiento del proveedor"</string>
 </resources>
diff --git a/res/values-es/config.xml b/res/values-es/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-es/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 5a88739..45f1748 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Número privado"</string>
     <string name="payphone" msgid="7936735771836716941">"Teléfono público"</string>
     <string name="onHold" msgid="6132725550015899006">"En espera"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Mensaje"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mensaje del operador"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"El código MMI se ha iniciado."</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Código USSD en ejecución..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"El código MMI se ha cancelado."</string>
@@ -41,7 +43,7 @@
     <string name="send_button" msgid="5070379600779031932">"Enviar"</string>
     <string name="pause_prompt_yes" msgid="8184132073048369575">"Sí"</string>
     <string name="pause_prompt_no" msgid="2145264674774138579">"No"</string>
-    <string name="wild_prompt_str" msgid="5858910969703305375">"Sustituir el carácter comodín por"</string>
+    <string name="wild_prompt_str" msgid="5858910969703305375">"Reemplazar el carácter comodín por"</string>
     <string name="no_vm_number" msgid="6623853880546176930">"Falta el número del buzón de voz."</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"No se ha almacenado ningún número de buzón de voz en la tarjeta SIM."</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"Añadir número"</string>
@@ -182,7 +184,7 @@
     <string name="forbidden_network" msgid="5081729819561333023">"(prohibida)"</string>
     <string name="choose_network_title" msgid="5335832663422653082">"Elegir red"</string>
     <string name="network_disconnected" msgid="8844141106841160825">"Desconectado"</string>
-    <string name="network_connected" msgid="2760235679963580224">"Conectada"</string>
+    <string name="network_connected" msgid="2760235679963580224">"Conectado"</string>
     <string name="network_connecting" msgid="160901383582774987">"Conectando..."</string>
     <string name="network_could_not_connect" msgid="6547460848093727998">"No se ha podido conectar"</string>
   <string-array name="preferred_network_mode_choices">
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE, TD-SCDMA, GSM o WCDMA"</item>
     <item msgid="8826479449402151312">"TD-SCDMA, CDMA, EvDo, GSM o WCDMA"</item>
     <item msgid="6284311629324843506">"LTE, TD-SCDMA, CDMA, EvDo, GSM o WCDMA"</item>
+    <item msgid="4738087170533378966">"Solo NR"</item>
+    <item msgid="2935877729588775187">"NR o LTE"</item>
+    <item msgid="8967513231424970529">"NR, LTE, CDMA o EvDo"</item>
+    <item msgid="1542643426479755015">"NR, LTE, GSM o WCDMA"</item>
+    <item msgid="5778162260258129841">"NR, LTE, CDMA, EvDo, GSM o WCDMA"</item>
+    <item msgid="8088614845214545367">"NR, LTE o WCDMA"</item>
+    <item msgid="6517428040626326776">"NR, LTE o TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR, LTE, TDSCDMA o GSM"</item>
+    <item msgid="4130965694947056705">"NR, LTE, TDSCDMA o WCDMA"</item>
+    <item msgid="3869566732842046032">"NR, LTE, TDSCDMA, GSM o WCDMA"</item>
+    <item msgid="3942770927563146543">"NR, LTE, TDSCDMA, CDMA, EvDo, GSM o WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modo de red preferido: WCDMA preferido"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modo de red preferido: solo GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Modo de red preferido: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Modo de red preferido: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Modo de red preferido: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferencia de modo de red: LTE, CDMA, EvDo, GSM o WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Modo de red preferido: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Modo de red preferido: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modo de red preferido: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Modo de red preferido: LTE, TD-SCDMA, GSM o WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Modo de red preferido: TD-SCDMA, CDMA, EvDo, GSM o WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Modo de red preferido: LTE, TD-SCDMA, CDMA, EvDo, GSM o WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferencia de modo de red: solo NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferencia de modo de red: NR o LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferencia de modo de red: NR, LTE, CDMA o EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferencia de modo de red: NR, LTE, GSM o WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferencia de modo de red: NR, LTE, CDMA, EvDo, GSM o WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferencia de modo de red: NR, LTE o WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferencia de modo de red: NR, LTE o TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferencia de modo de red: NR, LTE, TDSCDMA o GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferencia de modo de red: NR, LTE, TDSCDMA o WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferencia de modo de red: NR, LTE, TDSCDMA, GSM o WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferencia de modo de red: NR, LTE, TDSCDMA, CDMA, EvDo, GSM o WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Llamadas"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Red"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Modo 4G LTE mejorado"</string>
@@ -268,7 +293,7 @@
     <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"operador, esim, sim, euicc, cambiar de operador, añadir operador"</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">"Datos móviles"</string>
-    <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Acceder a los datos con la red móvil"</string>
+    <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Acceder a datos con la red móvil"</string>
     <string name="data_usage_disable_mobile" msgid="5669109209055988308">"¿Quieres desactivar los datos móviles?"</string>
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Debes seleccionar una opción"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"¿Cambiar la SIM de datos?"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Categoría múltiple"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Categoría múltiple habilitada"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Categoría múltiple inhabilitada"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recomendado)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recomendado)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recomendado)"</string>
     <string name="network_global" msgid="3289646154407617631">"Mundial"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Eliminando número de marcación fija..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Se ha eliminado el número de marcación fija."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"No se ha actualizado FDN porque el código PIN que has introducido es incorrecto."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"No se ha podido actualizar FDN porque el número tiene más de 20 dígitos."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"No se ha podido actualizar FDN porque el número tiene más de <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> dígitos."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN no actualizado. El código PIN2 era incorrecto o se ha rechazado el número de teléfono."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Error de funcionamiento de número de marcación fija."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Leyendo desde tarjeta SIM…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"No se puede establecer la llamada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> no es un número de emergencia."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"No se puede establecer la llamada. Marca un número de emergencia."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"No se pueden hacer llamadas de emergencia"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Solo el propietario del dispositivo puede introducir el código PIN o PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policía"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulancia"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Bomberos"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Llamada de texto en tiempo real (TTR)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Permitir mensajes en una llamada de voz"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"La función TTR (texto en tiempo real) ofrece asistencia a las personas sordas o con discapacidades auditivas, que tienen algún trastorno del habla o que necesitan una transcripción además de la voz para comunicarse.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Más información&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Las llamadas de TTR se guardan como la transcripción de un mensaje.\n       &lt;br&gt; - La función TTR no está disponible en videollamadas."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Nota: TTR no está disponible en itinerancia"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY desactivado"</item>
     <item msgid="1449091874731375214">"TTY completo"</item>
@@ -609,9 +637,15 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sí"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="voicemail_provider" msgid="4158806657253745294">"Servicio"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Configuración"</string>
-    <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;No definido&gt;"</string>
+    <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Sin establecer&gt;"</string>
     <string name="other_settings" msgid="8895088007393598447">"Otras opciones de llamada"</string>
     <string name="calling_via_template" msgid="1791323450703751750">"Llamada vía <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
     <string name="contactPhoto" msgid="7885089213135154834">"foto de contacto"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Se ha desactivado el bloqueo de llamadas"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Cambiar contraseña"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Cambiar la contraseña de bloqueo de llamadas"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"No se puede cambiar la contraseña de bloqueo de llamadas."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"No se puede cambiar la contraseña de bloqueo de llamadas"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Las contraseñas no coinciden"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Introduce una contraseña con 4 números"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Se ha cambiado la contraseña"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmar contraseña"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Introduce la contraseña"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Ajustes de bloqueo de llamadas"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"¿Quieres desactivar todos los ajustes de bloqueo de llamadas?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"La red está ocupada. Intenta llamar de nuevo más tarde."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"La red está saturada. Ponte en contacto con tu operador de telefonía móvil para solicitar ayuda."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Se ha derivado la llamada."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Para utilizar <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, los datos móviles y la itinerancia de datos deben estar activados en la SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puedes cambiar estas opciones en los ajustes de red móvil."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Cerrar"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Habilitar conexión de datos"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Inhabilitar conexión de datos"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE preparado"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videollamada preparada"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Llamada Wi-Fi preparada"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence preparados"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Datos de CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Habilitar DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"¿Quieres reiniciar el dispositivo?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Ver números de marcación de servicio"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Estado del servicio IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Estado de IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrado"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"No registrado"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponible"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"No disponible"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registro en IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz a través de LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz a través de Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideollamadas: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfaz UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"En servicio"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Fuera de servicio"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Solo llamadas de emergencia"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Señal móvil desactivada"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Itinerancia"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Sin itinerancia"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactivo"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Sonando"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Llamada en curso"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Desconectado"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Conectando"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Conectado"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendido"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Desconocido"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pqts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ID secundario actual:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ID secundario de la SIM de datos predeterminada:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Ancho de banda de bajada (Kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Ancho de banda de subida (Kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Información sobre la ubicación del teléfono (obsoleto):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuración del canal físico de LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Frecuencia de actualización de la información del teléfono:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Información sobre las dimensiones de los teléfonos:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Servicio de datos:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Itinerancia:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redirección de llamadas:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Número de PPP restablecido desde el inicio:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Red actual:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Datos recibidos:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Servicio de voz:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Intensidad de la señal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Estado de la llamada de voz:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Datos enviados:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mensaje en espera:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Número de teléfono:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Hacer ping a IPv6 de nombre de host (www.google.com):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Prueba de cliente HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ejecutar prueba de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualizar"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Seleccionar"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Incorrecto"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Correcto"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Información del tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Información sobre el teléfono"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Información de servicios del operador"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Activar servicios del operador"</string>
 </resources>
diff --git a/res/values-et/config.xml b/res/values-et/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-et/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index fc9cdf0..5d6a837 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Varjatud number"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefoniautomaat"</string>
     <string name="onHold" msgid="6132725550015899006">"Ootel"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Sõnum operaatorilt <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operaatori sõnum"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-kood käivitus"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-kood töötab ..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-kood tühistatud"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Ainult NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Eelistatud võrgurežiim: eelistatud WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Eelistatud võrgurežiim: ainult GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Eelistatud võrgurežiim: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Eelistatud võrgurežiim: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Eelistatud võrgurežiim: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Eelistatud võrgurežiim: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Eelistatud võrgurežiim: globaalne"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Eelistatud võrgurežiim: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Eelistatud võrgurežiim: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Eelistatud võrgurežiim: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Eelistatud võrgurežiim: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Eelistatud võrgurežiim: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Eelistatud võrgurežiim: ainult NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Eelistatud võrgurežiim: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Eelistatud võrgurežiim: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Eelistatud võrgurežiim: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Eelistatud võrgurežiim: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Eelistatud võrgurežiim: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Eelistatud võrgurežiim: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Eelistatud võrgurežiim: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Eelistatud võrgurežiim: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Eelistatud võrgurežiim: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Eelistatud võrgurežiim: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Helistamine"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Võrk"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Tõhustatud 4G LTE režiim"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multikategooria"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multi-kategooria lubatud"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multikategooria keelatud"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (soovitatud)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (soovitatav)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (soovitatav)"</string>
     <string name="network_global" msgid="3289646154407617631">"Üldine"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Fikseeritud valimisnumbri kustutamine…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fikseeritud valimisnumber kustutatud."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN-i ei värskendatud, sest sisestasite vale PIN-koodi."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN-i ei värskendatud, sest number ületab 20 kohta."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN-i ei värskendatud, sest number ületab <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> kohta."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN-i ei värskendatud. PIN2 oli vale või lükati telefoninumber tagasi."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN-i toiming ebaõnnestus."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM-kaardilt lugemine ..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Ei saa helistada. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ei ole hädaabikõne number."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Ei saa helistada. Valige hädaabinumber."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Hädaabikõned pole saadaval"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"PIN-/PUK-koode saab sisestada ainult seadme omanik."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Politsei"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Kiirabi"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Tuletõrje"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Reaalajas teksti saatmise (RTT) kõne"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Häälkõnes sõnumside lubamine"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT aitab kurte, kuulmis- või kõnepuudega helistajaid või neid, kes vajavad lisaks häälele muud abi.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Lisateave&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT-kõned salvestatakse sõnumi trankriptsioonina\n       &lt;br&gt; – RTT pole saadaval videokõnede puhul"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Märkus. RTT pole rändluse ajal saadaval"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY väljas"</item>
     <item msgid="1449091874731375214">"TTY-täisrežiim"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Jah"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ei"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Kõnede blokeerimine on inaktiveeritud"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Parooli muutmine"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Kõnede blokeerimise parooli muutmine"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Kõnede blokeerimise parooli ei saa muuta."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Kõnede blokeerimise parooli ei saa muuta"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Paroolid ei kattu"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Neljanumbrilise parooli sisestamine"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Parool on muudetud"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Parooli kinnitamine"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Parooli sisestamine"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Kõnede blokeerimise seaded"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Kas inaktiveerida kõik kõnede blokeerimise seaded?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Võrk on hõivatud. Proovige hiljem uuesti helistada."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Võrk on hõivatud. Võtke abi saamiseks ühendust mobiilioperaatoriga."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Kõne suunati ümber."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Teenuse <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> kasutamiseks veenduge, et mobiilne andmeside ja andmesiderändlus oleks SIM-kaardil <xliff:g id="SIM_NUMBER">%2$d</xliff:g> sisse lülitatud. Seda saab muuta mobiilsidevõrgu seadetes."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Loobu"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Luba andmesideühendus"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Keela andmesideühendus"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE on ette valmistatud"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videokõne on ette valmistatud"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"WiFi-kõne on ette valmistatud"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence on ette valmistatud"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-i andmed"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Luba DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Kas taaskäivitada seade?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Kuva teenuse valimise numbrid"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS-teenuse olek"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-i olek"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registreeritud"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Ei ole registreeritud"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Saadaval"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Pole saadaval"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-i registreerimine: <xliff:g id="STATUS">%1$s</xliff:g>\nHäälvestlus LTE kaudu: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHäälvestlus WiFi kaudu: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideokõne: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-liides: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Teenus toimib"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Teenus ei toimi"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Ainult hädaabikõned"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Raadio on väljas"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Rändlus"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Rändlus puudub"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Tegevusetu"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Helisemine"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Kõne on pooleli"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Pole ühendatud"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Ühendamine"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Ühendatud"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Peatatud"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Teadmata"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"baiti"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Praegune alam-ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Andmete vaike-SIM-kaardi alam-ID:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL-i ribalaius (kbit/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL-i ribalaius (kbit/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Kärje asukohateave (tugi on katkestatud):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE füüsilise kanali konfiguratsioon:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Kärje teabe värskendamissagedus:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Kõik kärje mõõteandmed:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Andmesideteenus:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Rändlus:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Kõne ümbersuunamine:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP lähtestuste arv alates käivitumisest:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Praegune võrk:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Vastuvõetud andmed:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Häälteenus:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signaali tugevus:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Häälkõne olek:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Saadetud andmed:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Ootel sõnum:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefoninumber:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Pingi hosti nimi (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-kliendi test:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Pingimistesti käitamine"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Värskendamine"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Raadio ribarežiimi määramine"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Ribaloendi laadimine …"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Määra"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Ebaõnnestus"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Õnnestus"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Teave tahvelarvuti kohta"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefoniteave"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operaatori ettevalmistamise teave"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Operaatori ettevalmistamise päästik"</string>
 </resources>
diff --git a/res/values-eu/config.xml b/res/values-eu/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-eu/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index b4062f6..d1699c2 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Zenbaki pribatua"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefono publikoa"</string>
     <string name="onHold" msgid="6132725550015899006">"Zain"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Mezua"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operadorearen mezua"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI kodea hasi da"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD kodea abiarazten…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI kodea bertan behera utzi da"</string>
@@ -72,7 +74,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Konfiguratu kontuaren ezarpenak"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"Deiak egiteko kontu guztiak"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Hautatu zein kontutatik egin daitezkeen deiak"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi bidezko deiak"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Wifi bidezko deiak"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Konektatzeko zerbitzu integratua"</string>
     <string name="voicemail" msgid="7697769412804195032">"Erantzungailua"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Erantzungailua (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR soilik"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Sare modu hobetsia: WCDMA nahiago"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Sare modu hobetsia: GSM soilik"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Sare modu hobetsia: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Sare modu hobetsia: GSM / WCDMA / LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Sare modu hobetsia: CDMA + LTE / EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Sare modu hobetsia: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Sare modu hobetsia: orokorra"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Sare modu hobetsia: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Sareko modu hobetsia: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Sareko modu hobetsia: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Sareko modu hobetsia: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Sareko modu hobetsia: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Sare modu hobetsia: NR soilik"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Sare modu hobetsia: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Sare modu hobetsia: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Sare modu hobetsia: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Sare modu hobetsia: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Sare modu hobetsia: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Sare modu hobetsia: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Sare modu hobetsia: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Sare modu hobetsia: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Sare modu hobetsia: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Sare modu hobetsia: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Deiak"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Sarea"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"4G LTE modu hobetua"</string>
@@ -273,7 +298,7 @@
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Hautatu egin behar da"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Datuetarako SIMa aldatu nahi duzu?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Datu-konexiorako, <xliff:g id="NEW_SIM">%1$s</xliff:g> txartela erabili nahi duzu <xliff:g id="OLD_SIM">%2$s</xliff:g> txartelaren ordez?"</string>
-    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wi-Fi bidezko deiak"</string>
+    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wifi bidezko deiak"</string>
     <string name="video_calling_settings_title" msgid="342829454913266078">"Operadorearen bideo-deiak"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"GSM/UMTS aukerak"</string>
     <string name="cdma_options" msgid="3669592472226145665">"CDMA aukerak"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Askotariko kategoriak"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Askotariko kategoriak gaituta"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Askotariko kategoriak desgaituta"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (gomendatua)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (gomendatua)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (gomendatua)"</string>
     <string name="network_global" msgid="3289646154407617631">"Orokorra"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Markatze finkoko zenbakia ezabatzen…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Markatze finkoko zenbakia ezabatu da."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Ez da eguneratu markatze finkoko zenbakia, PIN kode okerra idatzi duzulako."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Ez da eguneratu markatze finkoko zenbakia, 20 digitu baino gehiago dituelako."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Ez da eguneratu markatze finkoko zenbakia, zenbakiak <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digitu baino gehiago dituelako."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Ez da eguneratu markatze finkoko zenbakia. PIN2 kodea ez da zuzena edo telefono-zenbakia baztertu da."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Markatze finkoko zenbakiaren eragiketak huts egin du."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM txarteletik irakurtzen…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Ezin da deitu. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ez da larrialdietarako zenbakia."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Ezin da deitu. Markatu larrialdietarako zenbakia."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Ezin da egin larrialdi-deirik"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Gailuaren jabeak bakarrik idatz ditzake PIN/PUK kodeak."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polizia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Anbulantzia"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Sua"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Deietan testua bidaltzeko eginbidea"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Baimendu mezuak bidali eta jasotzea ahots-deien barruan"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Deietan testua bidaltzeko eginbideak deitzaile gorrei, entzumen-arazoak dituztenei, hitz egiteko ezintasunen bat dutenei edota ahotsaz gain beste makuluren bat behar dutenei laguntzen die.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Lortu informazio gehiago&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Deietan testua bidaltzeko eginbidearekin egindako deiak mezu-transkripzio gisa gordetzen dira.\n       &lt;br&gt; - Deietan testua bidaltzeko eginbidea ez da bateragarria bideo-deiekin."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Oharra: Deietan testua bidaltzeko eginbidea ez dago erabilgarri ibiltaritzan"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY desaktibatuta"</item>
     <item msgid="1449091874731375214">"TTY osoa"</item>
@@ -586,7 +614,7 @@
     <string name="ota_progress" msgid="8837259285255700132">"Telefonoa programatzen…"</string>
     <string name="ota_failure" msgid="5674217489921481576">"Ezin izan da programatu telefonoa"</string>
     <string name="ota_successful" msgid="1106825981548107774">"Telefonoa aktibatu egin da. Zerbitzua hasteko 15 minutu ere behar izan daitezke."</string>
-    <string name="ota_unsuccessful" msgid="8531037653803955754">"Ez duzu telefonoa aktibatu.\nBaliteke estaldura gehiago duen eremu bat aurkitu behar izatea (leiho baten ondoan edo kanpoan).\n\nSaiatu berriro edo, aukera gehiago ezagutzeko, deitu bezeroarentzako zerbitzura."</string>
+    <string name="ota_unsuccessful" msgid="8531037653803955754">"Ez duzu telefonoa aktibatu.\nBaliteke estaldura gehiago duen eremu bat aurkitu behar izatea (leiho baten ondoan edo kanpoan).\n\nSaiatu berriro edo, aukera gehiago ezagutzeko, deitu bezeroarentzako laguntza-zerbitzura."</string>
     <string name="ota_spc_failure" msgid="904092035241370080">"SPC HUTSEGITE GEHIEGI"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"Atzera"</string>
     <string name="ota_try_again" msgid="6914781945599998550">"Saiatu berriro"</string>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Bai"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ez"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Desaktibatu dira deiak debekatzeko ezarpenak"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Aldatu pasahitza"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Aldatu deiak debekatzeko pasahitza"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Ezin da aldatu deiak debekatzeko pasahitza."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Ezin da aldatu deiak debekatzeko pasahitza"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Pasahitzak ez datoz bat"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Idatzi 4 zenbakiko pasahitz bat"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Aldatu da pasahitza"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Berretsi pasahitza"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Idatzi pasahitza"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Deiak debekatzeko ezarpenak"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deiak debekatzeko ezarpen guztiak desaktibatu nahi dituzu?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Sarea okupatuta dago. Saiatu berriro deitzen geroago."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Sareak gainezka egin du. Laguntza lortzeko, jarri mugikorraren operadorearekin harremanetan."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Automatikoki desbideratu da deia."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> erabiltzeko, ziurtatu datu-konexioa eta datu-ibiltaritza aktibatuta daudela <xliff:g id="SIM_NUMBER">%2$d</xliff:g> SIM txartelean. Sare mugikorren ezarpenetan alda ditzakezu aukera horiek."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Baztertu"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Gaitu datu-konexioa"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Desgaitu datu-konexioa"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE hornituta"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Bideo-deiak aktibatuta"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi bidezko deiak aktibatuta"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence hornitu da"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS datuak"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Gaitu DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Gailua berrabiarazi nahi duzu?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Ikusi zerbitzuaren markatze-zenbakiak"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS zerbitzuaren egoera"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS egoera"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Erregistratuta"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Erregistratu gabe"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Libre"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Ez dago erabilgarri"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS erregistroa: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE bidezko ahots-deiak: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWifi bidezko ahots-deiak: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nBideo-deiak: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfazea: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Erabilgarri"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ez erabilgarri"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Larrialdi-deiak soilik"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Itzali irratia"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Ibiltaritza"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ez dago ibiltaritzan"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inaktibo"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Tonua jotzen"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Deia abian da"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Deskonektatuta"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Konektatzen"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Konektatuta"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Behin-behinean itxitakoak"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Ezezaguna"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"byte"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Uneko azpiIDa:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Datu-konexioetarako SIM lehenetsiaren azpiIDa:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Deskargatzeko banda-zabalera (Kb/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Kargen banda-zabalera (Kb/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Sare mugikorraren kokapenaren informazioa (zaharkitua):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE kanal fisikoaren konfigurazioa:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Sare mugikorraren informazioa eguneratzeko maiztasuna:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Sare mugikorraren neurketa guztien informazioa:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datu-zerbitzua:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Ibiltaritza:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Dei-desbideratzea:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP berrezarpen kopurua abiarazi ezkero:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Uneko sarea:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Jasotako datuak:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Ahots-deien zerbitzua:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Seinalearen indarra:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Ahots-deiaren egoera:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Bidalitako datuak:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mezua zain:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefono-zenbakia:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping egiteko ostalari-izena (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP bezeroaren proba:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Egin ping-proba"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Eguneratu"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Ezarri irrati-bandaren modua"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Banden zerrenda kargatzen…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Ezarri"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Entregatu gabe"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Ongi"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tabletaren informazioa"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefonoaren informazioa"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operadorearen hornikuntza-informazioa"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Abiarazi operadorearen hornikuntza"</string>
 </resources>
diff --git a/res/values-fa/config.xml b/res/values-fa/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-fa/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 02d5400..6839a27 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"شماره خصوصی"</string>
     <string name="payphone" msgid="7936735771836716941">"تلفن عمومی"</string>
     <string name="onHold" msgid="6132725550015899006">"در انتظار"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"پیام <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"پیام شرکت مخابراتی"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"‏کد MMI راه‌اندازی شد"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"‏در حال اجرای کد USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"‏کد MMI لغو شد"</string>
@@ -133,7 +135,7 @@
     <string name="stk_cc_ss_to_dial_error" msgid="5147693491690618704">"‏درخواست SS به تماس معمولی تغییر کرد"</string>
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"‏درخواست SS به‌درخواست USSD تغییر کرد"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"‏به‌درخواست SS جدید تغییر کرد"</string>
-    <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"‏درخواست 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="close_dialog" msgid="1074977476136119408">"تأیید"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"‏فقط NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"‏حالت شبکه برگزیده: WCDMA برگزیده"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"‏حالت شبکه برگزیده: فقط GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"‏حالت شبکه برگزیده: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"‏حالت شبکه برگزیده: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"‏حالت شبکه برگزیده: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"‏حالت شبکه برگزیده: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"حالت شبکه برگزیده: سراسری"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"‏حالت شبکه برگزیده: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"‏حالت شبکه برگزیده: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"‏حالت شبکه برگزیده: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"‏حالت شبکه برگزیده: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"‏حالت شبکه برگزیده: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"‏حالت شبکه برگزیده: فقط NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"‏حالت شبکه برگزیده: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"‏حالت شبکه برگزیده: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"‏حالت شبکه برگزیده: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"‏حالت شبکه برگزیده: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"‏حالت شبکه برگزیده: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"‏حالت شبکه برگزیده: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"‏حالت شبکه برگزیده: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"‏حالت شبکه برگزیده: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"‏حالت شبکه برگزیده: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"‏حالت شبکه برگزیده: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"درحال تماس"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"شبکه"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"‏حالت پیشرفته 4G LTE"</string>
@@ -274,7 +299,7 @@
     <string name="sim_change_data_title" msgid="9142726786345906606">"سیم‌کارت داده تغییر کند؟"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"برای داده تلفن همراه، از <xliff:g id="NEW_SIM">%1$s</xliff:g> به‌جای <xliff:g id="OLD_SIM">%2$s</xliff:g> استفاده شود؟"</string>
     <string name="wifi_calling_settings_title" msgid="5800018845662016507">"‏تماس ازطریق Wi-Fi"</string>
-    <string name="video_calling_settings_title" msgid="342829454913266078">"تماس ویدیویی با شرکت مخابراتی"</string>
+    <string name="video_calling_settings_title" msgid="342829454913266078">"تماس تصویری با شرکت مخابراتی"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"‏گزینه‌های GSM/UMTS"</string>
     <string name="cdma_options" msgid="3669592472226145665">"‏گزینه‌های CDMA"</string>
     <string name="throttle_data_usage" msgid="1944145350660420711">"مصرف داده"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"دسته‌های متعدد"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"دسته‌های متعدد فعال شد"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"دسته‌های متعدد غیر فعال شد"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (توصیه‌شده)"</string>
     <string name="network_lte" msgid="7206879277095094280">"‏LTE (توصیه شده)"</string>
     <string name="network_4G" msgid="6800527815504223913">"‏4G (توصیه شده)"</string>
     <string name="network_global" msgid="3289646154407617631">"سراسری"</string>
@@ -420,7 +446,7 @@
     <string name="tty_mode_option_summary" msgid="4770510287236494371">"‏تنظیم حالت TTY"</string>
     <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="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>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"در حال حذف شماره شماره گیری ثابت..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"شماره شماره گیری ثابت حذف شد."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"‏FDN به‌روز نشد زیرا یک پین نادرست تایپ کردید."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"‏FDN به‌روزرسانی نشد زیرا شماره نمی‌تواند بیش از ۲۰ رقم داشته باشد."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"‏FDN به‌روزرسانی نشد، زیرا شماره از <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> رقم بیشتر است."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"‏FDN به‌روز نشد. پین۲ اشتباه بود یا شماره تلفن رد شد."</string>
     <string name="fdn_failed" msgid="216592346853420250">"‏عملیات FDN ناموفق بود."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"در حال خواندن سیم کارت..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"نمی‌توانید تماس بگیرید. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> یک شماره اضطراری نیست."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"نمی‌ توانید تماس بگیرید. یک شماره اضطراری را شماره‌گیری کنید."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"تماس اضطراری دردسترس نیست"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"‏فقط مالک دستگاه می‌تواند کدهای پین/PUK را وارد کند."</string>
     <string name="police_type_description" msgid="2819533883972081757">"پلیس"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"آمبولانس"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"آتش"</string>
@@ -545,7 +572,7 @@
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"مدیریت تماس‌ها"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"مدیریت کنفرانس"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"صوتی"</string>
-    <string name="onscreenVideoCallText" msgid="1743992456126258698">"تماس ویدئویی"</string>
+    <string name="onscreenVideoCallText" msgid="1743992456126258698">"تماس تصویری"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"وارد کردن"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"وارد کردن همه"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"وارد کردن مخاطبین سیم"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"‏تماس نوشتار هم‌زمان (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"پیام‌رسانی در تماس صوتی مجاز است"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"‏«نوشتار هم‌زمان» به تماس گیرندگان ناشنوا، دارای مشکل شنوایی، دارای ناتوانی گفتاری یا افرادی که به چیزی بیش از صدا نیاز دارند کمک می‌کند.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;بیشتر بدانید&lt;/a&gt;\n       ‏&lt;br&gt;&lt;br&gt; تماس‌های «نوشتار هم‌زمان» به‌صورت ترانویسی پیام ذخیره می‌شود\n       &lt;br&gt; «نوشتار هم‌زمان» برای تماس‌های ویدیویی دردسترس نیست"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"نکته: «نوشتار هم‌زمان» در هنگام فراگردی دردسترس نیست"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"‏TTY خاموش"</item>
     <item msgid="1449091874731375214">"‏TTY پر است"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -626,8 +660,8 @@
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"تغییر پین"</string>
     <string name="preference_category_ringtone" msgid="8787281191375434976">"آهنگ‌ زنگ و لرزش"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"سیم‌کارت‌های داخلی"</string>
-    <string name="enable_video_calling_title" msgid="7246600931634161830">"روشن کردن تماس ویدئویی"</string>
-    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"‏برای روشن کردن تماس ویدئویی، باید حالت پیشرفته 4G LTE را در تنظیمات شبکه فعال کنید."</string>
+    <string name="enable_video_calling_title" msgid="7246600931634161830">"روشن کردن تماس تصویری"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"‏برای روشن کردن تماس تصویری، باید حالت پیشرفته 4G LTE را در تنظیمات شبکه فعال کنید."</string>
     <string name="enable_video_calling_dialog_settings" msgid="8697890611305307110">"تنظیمات شبکه"</string>
     <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"بستن"</string>
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"تماس‌های اضطراری"</string>
@@ -643,7 +677,7 @@
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"مرتبط نشد، لطفاً سیم کارت معتبری را وارد کنید."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"اتصال وای‌فای قطع شد. تماس پایان یافت."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"به دلیل شارژ کم باتری، نمی‌توان تماسی برقرار کرد."</string>
-    <string name="callFailed_low_battery" msgid="4056828320214416182">"تماس ویدیویی به‌دلیل شارژ کم باتری پایان یافت."</string>
+    <string name="callFailed_low_battery" msgid="4056828320214416182">"تماس تصویری به‌دلیل شارژ کم باتری پایان یافت."</string>
     <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"‏در این مکان تماس اضطراری با «تماس ازطریق Wi-Fi» امکان‌پذیر نیست."</string>
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"‏در این مکان تماس ازطریق Wi-Fi امکان‌پذیر نیست."</string>
     <string name="change_pin_title" msgid="3564254326626797321">"تغییر پین پست صوتی"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"محدودیت تماس غیرفعال شد"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"تغییر گذرواژه"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"تغییر گذرواژه محدودیت تماس"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"نمی‌توان گذرواژه محدودیت تماس را تغییر داد."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"نمی‌توان گذرواژه محدودیت تماس را تغییر داد"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"گذرواژه‌ها مطابقت ندارند"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"گذرواژه‌ای با ۴ رقم وارد کنید"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"گذرواژه تغییر کرد"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"تأیید گذرواژه"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"گذرواژه را وارد کنید"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"تنظیمات محدودیت تماس"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"همه تنظیمات محدودیت تماس غیرفعال شود؟"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"شبکه مشغول است. لطفاً بعداً دوباره تماس بگیرید."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"شبکه شلوغ است. برای کمک، با اپراتور دستگاه همراه تماس بگیرید."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"تماس برگردانده شد."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"برای استفاده از <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>، مطمئن شوید داده تلفن همراه برای سیم‌کارت <xliff:g id="SIM_NUMBER">%2$d</xliff:g> روشن باشد. می‌توانید در تنظیمات شبکه تلفن همراه این تنظیم را تغییر دهید."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"برای استفاده از <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>، مطمئن شوید داده تلفن همراه و فراگردی داده برای سیم‌کارت <xliff:g id="SIM_NUMBER">%2$d</xliff:g> روشن باشد. می‌توانید در تنظیمات شبکه تلفن همراه این تنظیمات را تغییر دهید."</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"مجوز تماس تصویری داده شد"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"‏مجوز تماس با Wifi داده شد"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"‏EAB/حضور مشروط است"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"‏داده‌های Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"‏فعال کردن DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"توان رادیوی تلفن همراه"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"مشاهده دفترچه نشانی سیم‌کارت"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"مشاهده شماره‌های شماره‌گیری ثابت"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"مشاهده شماره‌های شماره‌گیری سرویس"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"‏وضعیت سرویس IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"‏وضعیت IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ثبت‌شده"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"ثبت‌نشده"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"دردسترس"</string>
+    <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>\nواسط UT: <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_emergency" msgid="4763879891415016848">"فقط تماس‌های اضطراری"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"رادیو خاموش"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"فراگردی"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"بدون فراگردی"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"راکد"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"درحال زنگ خوردن"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"تماس درحال انجام"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"اتصال قطع است"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"درحال اتصال"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"متصل"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"تعلیق‌شده"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"نامشخص"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"بایت"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"‏subId کنونی:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"‏SubId مربوط به سیم‌کارت داده پیش‌فرض:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"‏پهنای باند DL (کیلوبیت بر ثانیه):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"‏پهنای باند UL (کیلوبیت بر ثانیه):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"اطلاعات مکان شبکه همراه (منسوخ شده):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"‏پیکربندی کانال فیزیکی LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"نرخ بازخوانی اطلاعات شبکه همراه:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"همه اطلاعات اندازه‌گیری شبکه همراه:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"سرویس داده:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"فراگردی:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"هدایت تماس:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"‏تعداد بازنشانی PPP از زمان راه‌اندازی:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"شبکه کنونی:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"داده دریافت‌شده:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"سرویس صوتی:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"قدرت سیگنال:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"وضعیت تماس صوتی:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"داده ارسال‌شده:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"پیام در انتظار:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"شماره تلفن:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"‏پینگ کردن نام میزبان (www.google.com)‏ IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"‏آزمایش کارخواه HTTP:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"‏تغییر وضعیت علامت DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"‏تنظیمات/اطلاعات خاص OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"تنظیم حالت باند رادیو"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"درحال بار کردن فهرست باند…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"تنظیم"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ناموفق"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"موفقیت‌آمیز"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"اطلاعات رایانه لوحی"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"اطلاعات تلفن"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"اطلاعات ارائه شرکت مخابراتی"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"شروع ارائه شرکت مخابراتی"</string>
 </resources>
diff --git a/res/values-fi/config.xml b/res/values-fi/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-fi/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index cd1b962..7d88687 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Salainen numero"</string>
     <string name="payphone" msgid="7936735771836716941">"Maksupuhelin"</string>
     <string name="onHold" msgid="6132725550015899006">"Pidossa"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>-viesti"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operaattorin viesti"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-koodi aloitettu"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-koodi käytössä..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-koodi peruutettu"</string>
@@ -105,21 +107,21 @@
     <string name="sum_cfu_enabled_indicator" msgid="9030139213402432776">"Kaikki puhelut siirretään"</string>
     <string name="sum_cfu_enabled" msgid="5806923046528144526">"Siirretään kaikki puhelut numeroon <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfu_enabled_no_number" msgid="7287752761743377930">"Numeroon ei saada yhteyttä"</string>
-    <string name="sum_cfu_disabled" msgid="5010617134210809853">"Ei käytössä"</string>
+    <string name="sum_cfu_disabled" msgid="5010617134210809853">"Ei päällä"</string>
     <string name="labelCFB" msgid="615265213360512768">"Kun olen varattu"</string>
     <string name="messageCFB" msgid="1958017270393563388">"Soita, kun numero on varattu:"</string>
     <string name="sum_cfb_enabled" msgid="332037613072049492">"Puhelu siirretään numeroon <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
-    <string name="sum_cfb_disabled" msgid="3589913334164866035">"Ei käytössä"</string>
+    <string name="sum_cfb_disabled" msgid="3589913334164866035">"Ei päällä"</string>
     <string name="disable_cfb_forbidden" msgid="4831494744351633961">"Operaattorisi ei tue soitonsiirtojen poistamista käytöstä, kun puhelimesi on varattuna."</string>
     <string name="labelCFNRy" msgid="3403533792248457946">"Kun en vastaa"</string>
     <string name="messageCFNRy" msgid="7644434155765359009">"Soita, kun numero ei vastaa:"</string>
     <string name="sum_cfnry_enabled" msgid="3000500837493854799">"Puhelu siirretään numeroon <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
-    <string name="sum_cfnry_disabled" msgid="1990563512406017880">"Ei käytössä"</string>
+    <string name="sum_cfnry_disabled" msgid="1990563512406017880">"Ei päällä"</string>
     <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"Operaattorisi ei tue soitonsiirtojen poistamista käytöstä, kun puhelimesi ei vastaa."</string>
     <string name="labelCFNRc" msgid="4163399350778066013">"Kun en ole tavoitettavissa"</string>
     <string name="messageCFNRc" msgid="6980340731313007250">"Soita, kun numeroon ei saada yhteyttä:"</string>
     <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"Puhelu siirretään numeroon <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
-    <string name="sum_cfnrc_disabled" msgid="739289696796917683">"Ei käytössä"</string>
+    <string name="sum_cfnrc_disabled" msgid="739289696796917683">"Ei päällä"</string>
     <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Operaattorisi ei tue soitonsiirtojen poistamista käytöstä puhelimesi ollessa saavuttamattomissa."</string>
     <string name="updating_title" msgid="6130548922615719689">"Puheluasetukset"</string>
     <string name="call_settings_admin_user_only" msgid="7238947387649986286">"Vain järjestelmänvalvoja voi muuttaa puheluasetuksia."</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Vain NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Ensisijainen verkkotila: ensisijaisesti WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Ensisijainen verkkotila: vain GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Ensisijainen verkkotila: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Ensisijainen verkkotila: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Ensisijainen verkkotila: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Ensisijainen verkkotila: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Ensisijainen verkkotila: Maailmanlaajuinen"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Ensisijainen verkkotila: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Ensisijainen verkkotila: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Ensisijainen verkkotila: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Ensisijainen verkkotila: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Ensisijainen verkkotila: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Ensisijainen verkkotila: vain NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Ensisijainen verkkotila: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Ensisijainen verkkotila: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Ensisijainen verkkotila: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Ensisijainen verkkotila: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Ensisijainen verkkotila: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Ensisijainen verkkotila: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Ensisijainen verkkotila: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Ensisijainen verkkotila: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Ensisijainen verkkotila: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Ensisijainen verkkotila: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Soitetaan"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Verkko"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Enhanced 4G LTE -tila"</string>
@@ -249,8 +274,8 @@
     <string name="data_enable_summary" msgid="696860063456536557">"Salli tiedonsiirto"</string>
     <string name="dialog_alert_title" msgid="5260471806940268478">"Huomio"</string>
     <string name="roaming" msgid="1576180772877858949">"Roaming"</string>
-    <string name="roaming_enable" msgid="6853685214521494819">"Yhdistä verkkoon roaming-tilassa."</string>
-    <string name="roaming_disable" msgid="8856224638624592681">"Yhdistä verkkoon roaming-tilassa."</string>
+    <string name="roaming_enable" msgid="6853685214521494819">"Yhdistä verkkoon roaming-tilassa"</string>
+    <string name="roaming_disable" msgid="8856224638624592681">"Yhdistä verkkoon roaming-tilassa"</string>
     <string name="roaming_reenable_message" msgid="1951802463885727915">"Roaming ei ole käytössä. Ota käyttöön napauttamalla."</string>
     <string name="roaming_enabled_message" msgid="9022249120750897">"Puhelusta saatetaan periä roaming-maksuja. Muokkaa napauttamalla."</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"Mobiilidatayhteys katkesi"</string>
@@ -269,7 +294,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">"Mobiilidata"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Käytä dataa mobiiliverkon kautta."</string>
-    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Poistetaanko mobiilidata käytöstä?"</string>
+    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Laitetaanko mobiilidata pois päältä?"</string>
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Valinta on pakollinen"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Vaihdetaanko tied.siirto-SIM?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Käytetäänkö SIM-kortin <xliff:g id="NEW_SIM">%1$s</xliff:g> mobiilidataa kortin <xliff:g id="OLD_SIM">%2$s</xliff:g> sijaan?"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Useat luokat"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Useat luokat käytössä"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Useat luokat pois käytöstä"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (suositeltu)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (suositus)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (suositus)"</string>
     <string name="network_global" msgid="3289646154407617631">"Maailmanlaajuinen"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Poistetaan sallittua numeroa…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Sallittu numero poistettu."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Sallittuja numeroita ei päivitetty, koska annoit väärän PIN-koodin."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Sallittuja numeroita ei päivitetty, koska numerossa oli yli 20 merkkiä."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Sallittuja numeroita ei päivitetty, koska numerossa oli yli <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> merkkiä."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN-numeroa ei päivitetty. PIN2 on virheellinen tai puhelinnumero hylättiin."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN-toiminto epäonnistui."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Luetaan SIM-korttia…"</string>
@@ -517,7 +543,7 @@
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Puhelujen pito ei onnistu."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Yhdistä langattomaan verkkoon, jos haluat soittaa puhelun."</string>
     <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Ota Wi-Fi-puhelut käyttöön soittaaksesi."</string>
-    <string name="emergency_information_hint" msgid="9208897544917793012">"Hätätilannetiedot"</string>
+    <string name="emergency_information_hint" msgid="9208897544917793012">"Vaaratiedot"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Omistaja"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Katso tiedot napauttamalla uudelleen"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"Hätäpuhelu"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Puhelua ei voi soittaa. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ei ole hätänumero."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Puhelua ei voi soittaa. Valitse hätänumero."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Hätäpuhelut eivät ole käytettävissä"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Vain laitteen omistaja voi lisätä PIN- ja PUK-koodeja."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Poliisi"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulanssi"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Palokunta"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"RTT-puhelu (puhelusta lähetettävä teksti)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Salli viestit äänipuheluissa"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT-toiminto auttaa kuuroja sekä käyttäjiä, joilla on kuulo‑ tai puhehäiriöitä tai jotka tarvitsevat muuta tukea pelkän puheen lisäksi.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Lisätietoja&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT-puhelut tallennetaan litterointiviestinä.\n       &lt;br&gt; – RTT ei ole käytettävissä videopuheluissa."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Huom. Puhelusta lähetettävä teksti (RTT) ei ole käytettävissä roaming-tilassa"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY pois käytöstä"</item>
     <item msgid="1449091874731375214">"TTY täynnä"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Kyllä"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ei"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Puhelunesto poistettu käytöstä"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Vaihda salasana"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Vaihda puheluneston salasana"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Puheluneston salasanaa ei voi vaihtaa."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Puheluneston salasanaa ei voi vaihtaa"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Salasanat eivät täsmää"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Anna nelinumeroinen salasana"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Salasana vaihdettu"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Vahvista salasana"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Lisää salasana"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Puhelunestoasetukset"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Poistetaanko kaikki puhelunestoasetukset käytöstä?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Verkko on varattu. Yritä soittaa myöhemmin uudelleen."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Verkossa on ruuhkaa. Kysy ohjeita operaattoriltasi."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Puhelu siirretty automaattisesti."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> toimii, jos mobiilidata ja roaming ovat käytössä SIM-kortilla <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Voit ottaa ne käyttöön mobiiliverkkoasetuksista."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ohita"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Ota tiedonsiirto käyttöön"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Poista tiedonsiirto käytöstä"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTEn hallinnoima"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videopuhelukäyttäjiä hallitaan"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi-puhelukäyttäjiä hallitaan"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/läsnäolo hallinnoitu"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs-data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Ota DSDS käyttöön"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Käynnistä uudelleen?"</string>
+    <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">"Peruuta"</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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Näytä sallitut palvelunumerot"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS-palvelun tila"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-tila"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Rekisteröity"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Ei rekisteröitynyt"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Saatavilla"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Ei käytettävissä"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-rekisteröinti: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE-äänipuhelut: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWi-Fi-äänipuhelut: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideopuhelut: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-käyttöliittymä: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Kuuluvuusalueella"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Katvealueella"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Vain hätäpuhelut"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio pois päältä"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ei roaming-tilassa"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Epäaktiivinen"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Soi"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Puhelu kesken"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Yhteys katkaistu"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Yhdistetään"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Yhdistetty"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Jäädytetty"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Tuntematon"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pakettia"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"tavua"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Nykyinen alitunnus:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Oletusarvoisen data-SIM-kortin alitunnus:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL-kaistanleveys (kt/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL-kaistanleveys (kt/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Matkapuhelimen sijaintitiedot (poistettu käytöstä):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Fyysisen LTE-kanavan kokoonpano:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Matkapuhelintietojen päivitysaikaväli:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Matkapuhelimen kaikki mittaustiedot:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datapalvelu:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI-koodi:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Puhelujen uudelleenohjaus:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP-palautuksien lukumäärä käynnistyksen jälkeen:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Nykyinen verkko:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Vastaanotetut tiedot:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Puhelupalvelu:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signaalin vahvuus:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Äänipuhelun tila:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Lähetetyt tiedot:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Viesti odottaa:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Puhelinnumero:"</string>
+    <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="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_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>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Päivitä"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Radion taajuustilan valinta"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Ladataan taajuusluetteloa…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Aseta"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Epäonnistui"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Onnistui"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tabletin tiedot"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Puhelimen tiedot"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operaattorin hallintatiedot"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Ota operaattorin hallinta käyttöön"</string>
 </resources>
diff --git a/res/values-fr-rCA/config.xml b/res/values-fr-rCA/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-fr-rCA/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index f7a98fa..0842224 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Numéro privé"</string>
     <string name="payphone" msgid="7936735771836716941">"Cabine téléphonique"</string>
     <string name="onHold" msgid="6132725550015899006">"En attente"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Message <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Message d\'opérateur"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Le code IHM a été lancé."</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Exécution du code USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Code IHM annulé"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR seulement"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Mode réseau préféré : WCDMA de préférence"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Mode réseau préféré : GSM uniquement"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Mode réseau préféré : LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Mode réseau préféré : GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Mode réseau préféré : CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Mode réseau préféré : LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Mode réseau préféré : général"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Mode réseau préféré : LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modes réseaux préférés : LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Mode réseau préféré : LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Mode réseau préféré : TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Mode réseau préféré : LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Mode réseau préféré : NR seulement"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Mode réseau préféré : NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Mode réseau préféré : NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Mode réseau préféré : NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Mode réseau préféré : NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Mode réseau préféré : NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Mode réseau préféré : NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Mode réseau préféré : NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Mode réseau préféré : NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Mode réseau préféré : NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Mode réseau préféré : NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Appels"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Réseau"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Mode LTE 4G avancé"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-catégories"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Option \"Multi-catégories\" activée"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Option \"Multi-catégories\" désactivée"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (conseillé)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recommandé)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recommandé)"</string>
     <string name="network_global" msgid="3289646154407617631">"International"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Suppression du numéro autorisé…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Numéro autorisé supprimé"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Le numéro autorisé n\'a pas été mis à jour, car vous avez saisi un NIP incorrect."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Le NAF n\'a pas été mis à jour, car le numéro comporte plus de 20 chiffres."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Le NAF n\'a pas été mis à jour, car le numéro comporte plus de <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> chiffres."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Le numéro autorisé n\'a pas été mis à jour. Soit le NIP2 est incorrect, soit le numéro de téléphone a été rejeté."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Échec de l\'opération FDN."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lecture de la carte SIM…"</string>
@@ -496,7 +522,7 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Numéro de messagerie vocale inconnu"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Aucun service"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Réseau sélectionné<xliff:g id="OPERATOR_NAME">%s</xliff:g> non disponible"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activez le réseau cellulaire ou désactivez le mode Avion ou le mode Économie d\'énergie pour faire un appel."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activez le réseau cellulaire ou désactivez le mode Avion ou le mode Économiseur de pile pour faire un appel."</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Désactivez le mode Avion pour faire un appel."</string>
     <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Désactivez le mode Avion ou connectez-vous à un réseau Wi-Fi pour faire un appel."</string>
     <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Quittez le mode de rappel d\'urgence pour effectuer un appel non urgent."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Appel impossible. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> n\'est pas un numéro d\'urgence."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Appel impossible. Composez un numéro d\'urgence."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Appels d\'urgence non disponibles"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Seul le propriétaire de l\'appareil peut entrer un NIP ou un code PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Police"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Incendie"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Appel texte en temps réel (TTR)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Autoriser l\'utilisation de la messagerie lors des appels vocaux"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"La fonctionnalité TTR aide les appelants qui sont sourds ou malentendants, qui ont un trouble de la parole ou pour qui la voix ne suffit pas.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;En savoir plus&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Les appels TTR sont enregistrés en tant que transcriptions de messages\n       &lt;br&gt; - La fonctionnalité TTR n\'est pas disponible pour les appels vidéo"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Remarque : Les messages TTR ne sont pas disponibles en itinérance"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY désactivé"</item>
     <item msgid="1449091874731375214">"TTY complet"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Oui"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Non"</string>
     <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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Interdiction d\'appel désactivée"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Modifiez le mot de passe"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Modifiez le mot de passe d\'interdiction d\'appel"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Impossible de modifier le mot de passe d\'interdiction d\'appel."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Impossible de modifier le mot de passe d\'interdiction d\'appel"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Les mots de passe ne concordent pas"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Entrez un mot de passe à quatre chiffres"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Mot de passe modifié"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmez le mot de passe"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Entrez le mot de passe"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Paramètres d\'interdiction d\'appel"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Désactiver tous les paramètres d\'interdiction d\'appel?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Le réseau est saturé. Veuillez rappeler plus tard."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Le réseau est saturé. Communiquez avec votre fournisseur de services mobiles pour obtenir de l\'assistance."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Appel redirigé."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Avant d\'utiliser <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, assurez-vous que les données cellulaires et l\'itinérance des données sont activées pour la carte SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Vous pouvez modifier ces options dans les paramètres du réseau cellulaire."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ignorer"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activer la connexion de données"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Désactiver la connexion de données"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE approvisionné"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Appel vidéo approvisionné"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Appel Wi-Fi approvisionné"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Présence approvisionné"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Données CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Activer DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Redémarrer l\'appareil?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Afficher les numéros de service"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"État du service IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"État IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Enregistré"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Non enregistré"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponible"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Indisponible"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Enregistrement IMS : <xliff:g id="STATUS">%1$s</xliff:g>\nVoix sur LTE : <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoix sur Wi-Fi : <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nAppels vidéo : <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT : <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"En service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Hors service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Appels d\'urgence seulement"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Signal radio désactivé"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Itinérance"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Pas en itinérance"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactif"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Sonnerie en cours…"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Appel en cours"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Déconnecté"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connexion en cours…"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connecté"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendu"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Inconnu"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"paquets"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"octets"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID ou IDC"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Sous-identifiant actuel :"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Sous-identifiant de la carte SIM par défaut :"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Bande passante de téléchargement (kb/s) :"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Bande passante de téléversement (kb/s) :"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Données de la position de la cellule (obsolètes) :"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuration du canal physique LTE :"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Taux d\'actualisation des données de la cellule :"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Données des mesures de toutes les cellules :"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Service de données :"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Itinérance :"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"Code IIEM :"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Transfert d\'appel :"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Nombre de réinitialisations PPP depuis le démarrage :"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Réseau actuel :"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Données reçues :"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Service vocal :"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Force du signal :"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"État de l\'appel vocal :"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Données envoyées :"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message en attente :"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Numéro de téléphone :"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Faire un ping de l\'IPv6 du nom d\'hôte (www.google.com) :"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test du client HTTP :"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Effectuer le test de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC :"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Mettre à jour"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Définir"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Échec"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Opération effectuée"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informations sur la tablette"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informations sur le téléphone"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Données d\'approvisionnement du fournisseur de services"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Déclencher l\'approvisionnement du fournisseur de services"</string>
 </resources>
diff --git a/res/values-fr/config.xml b/res/values-fr/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-fr/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 5ea4b7d..e3baed7 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Numéro privé"</string>
     <string name="payphone" msgid="7936735771836716941">"Cabine téléphonique"</string>
     <string name="onHold" msgid="6132725550015899006">"En attente"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Message <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Message de l\'opérateur"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Le code IHM a été lancé."</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Exécution du code USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Code IHM annulé"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR uniquement"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Mode réseau préféré : WCDMA de préférence"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Mode réseau préféré : GSM uniquement"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Mode réseau préféré : LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Mode réseau préféré : GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Mode réseau préféré : CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Mode de réseau préféré : LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Mode réseau préféré : général"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Mode réseau préféré : LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Mode réseau préféré : LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Mode réseau préféré : LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Mode réseau préféré: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Mode réseau préféré : LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Mode de réseau préféré : NR uniquement"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Mode de réseau préféré : NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Mode de réseau préféré : NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Mode de réseau préféré : NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Mode de réseau préféré : NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Mode de réseau préféré : NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Mode de réseau préféré : NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Mode de réseau préféré : NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Mode de réseau préféré : NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Mode de réseau préféré : NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Mode de réseau préféré : NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Appels"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Réseau"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Mode LTE 4G avancé"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-catégories"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Option \"Multi-catégories\" activée"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Option \"Multi-catégories\" désactivée"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (option recommandée)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recommandé)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recommandé)"</string>
     <string name="network_global" msgid="3289646154407617631">"International"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Suppression du numéro autorisé…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Numéro autorisé supprimé"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Le numéro autorisé n\'a pas été mis à jour, car vous avez saisi un code PIN incorrect."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Le numéro autorisé n\'a pas été mis à jour, car il comporte plus de 20 chiffres."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Le numéro autorisé n\'a pas été mis à jour, car il comporte plus de <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> chiffres."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Le numéro autorisé n\'a pas été mis à jour. Soit le code PIN2 est incorrect, soit le numéro de téléphone a été rejeté."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Échec de l\'opération liée aux numéros autorisés."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lecture de la carte SIM…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Impossible d\'émettre l\'appel. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> n\'est pas un numéro d\'urgence."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Impossible d\'émettre l\'appel. Veuillez composer un numéro d\'urgence."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Appels d\'urgence non disponibles"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Seul le propriétaire de l\'appareil peut saisir le code PIN ou la clé PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Police"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Pompiers"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Appel texte en temps réel"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Autoriser l\'échange de messages pendant les appels vocaux"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"La fonctionnalité de texte en temps réel vient en aide aux personnes sourdes, malentendantes, qui ont un trouble de la parole, ou qui ont besoin d\'une transcription en plus de la voix.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;En savoir plus&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Les appels texte en temps réel sont enregistrés sous forme transcrite\n       &lt;br&gt; - Le mode texte en temps réel n\'est pas disponible pour les appels vidéo"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Remarque : La fonctionnalité de texte en temps réel n\'est pas disponible en itinérance"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Mode TTY désactivé"</item>
     <item msgid="1449091874731375214">"TTY complet"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Oui"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Non"</string>
     <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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Interdiction d\'appel désactivée"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Modifier le mot de passe"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Modifier le mot de passe de l\'interdiction d\'appel"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Impossible de modifier le mot de passe de l\'interdiction d\'appel."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Impossible de modifier le mot de passe de l\'interdiction d\'appel"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Les mots de passe ne concordent pas"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Saisissez un mot de passe à quatre chiffres"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Mot de passe modifié"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmer le mot de passe"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Saisissez un mot de passe"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Paramètres d\'interdiction d\'appel"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Désactiver tous les paramètres d\'interdiction d\'appel ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Le réseau est occupé. Veuillez réessayer plus tard."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Le réseau est saturé. Contactez votre opérateur mobile pour obtenir de l\'aide."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Appel redirigé."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Pour utiliser <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, assurez-vous que les données mobiles et l\'itinérance des données 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ignorer"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activer la connexion de données"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Désactiver la connexion de données"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Configuré par VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Appel vidéo géré"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Appel Wi-Fi géré"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Provisionnement EAB/Presence effectué"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Données CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Activer DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Redémarrer l\'appareil ?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Afficher les numéros de service"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"État du service IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"État IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Enregistré"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Non enregistré"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponible"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Non disponible"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Enregistrement IMS : <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE : <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWiFi : <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nAppels vidéo : <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT : <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"En service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Hors service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Appels d\'urgence uniquement"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Signal radio désactivé"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Itinérance"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Sans itinérance"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactif"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Sonnerie"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Appel en cours"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Déconnecté"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connexion en cours"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connecté"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendu"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Inconnu"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"paquets"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"octets"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Sous-identifiant actuel :"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Sous-identifiant de la carte SIM par défaut pour les données :"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Bande passante de téléchargement (kbit/s) :"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Bande passante d\'importation (kbit/s) :"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informations de géolocalisation mobiles (obsolètes) :"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuration de la chaîne physique LTE :"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Fréquence d\'actualisation des informations mobiles :"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Toutes les informations mobiles liées aux mesures :"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Service de données :"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Itinérance :"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"Code IMEI :"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redirection des appels :"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Nombre de réinitialisations PPP depuis le démarrage :"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Réseau actuel :"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Données reçues :"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Service vocal :"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Intensité du signal :"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"État de l\'appel vocal :"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Données envoyées :"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message en attente :"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Numéro de téléphone :"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Pinguer l\'IPv6 du nom d\'hôte (www.google.com) :"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test du client HTTP :"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Effectuer un test de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC :"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Mise à jour"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Définir"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Échec"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"OK"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informations sur la tablette"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informations sur le téléphone"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informations de gestion des comptes opérateur"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Déclencher la gestion des comptes opérateur"</string>
 </resources>
diff --git a/res/values-gl/config.xml b/res/values-gl/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-gl/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 388a018..61321c8 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Número privado"</string>
     <string name="payphone" msgid="7936735771836716941">"Teléfono público"</string>
     <string name="onHold" msgid="6132725550015899006">"En espera"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mensaxe de <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mensaxe do operador"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Código MMI iniciado"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Código USSD en execución..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Código MMI cancelado"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TD-SCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TD-SCDMA/CDMA/EvDo/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TD-SCDMA/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Só NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modo de rede preferido: WCDMA preferido"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modo de rede preferido: só GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Modo de rede preferido: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Modo de rede preferido: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Modo de rede preferido: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Modo de rede preferido: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Modo de rede preferido: global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Modo de rede preferido: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modo de rede preferida: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Modo de rede preferido: LTE/TD-SCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Modo de rede preferido: TD-SCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Modo de rede preferido: LTE/TD-SCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Modo de rede preferido: só NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Modo de rede preferido: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Modo de rede preferido: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Modo de rede preferido: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Modo de rede preferido: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Modo de rede preferido: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Modo de rede preferido: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Modo de rede preferido: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Modo de rede preferido: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Modo de rede preferido: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Modo de rede preferido: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Chamando"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Rede"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Modo LTE 4G mellorado"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Múltiples categorías"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multicategoría activada"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multicategoría desactivada"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (modo recomendado)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recomendado)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recomendado)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Eliminando número de marcación fixa..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Eliminouse o número de marcación fixa."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Non se actualizaron os NMF porque escribiches un PIN incorrecto."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Non se puido actualizar o NMP porque o número supera os 20 díxitos."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Non se puido actualizar o NMF porque o número supera os <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> díxitos."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Non se actualizaron os NMF. O PIN2 era incorrecto ou rexeitouse o número de teléfono."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Produciuse un fallo no funcionamento dos NMF."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lendo da tarxeta SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Non se pode chamar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non é un número de emerxencia."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Non se pode chamar. Marcar un número de emerxencia."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"As chamadas de emerxencia non están dispoñibles"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Só o propietario do dispositivo pode introducir os códigos PIN ou PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policía"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulancia"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Bombeiros"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Chamada RTT (texto en tempo real)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Permitir uso de mensaxes durante unha chamada de voz"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"A función RTT constitúe unha axuda para todos aqueles emisores de chamadas que padezan xordeira ou outros problemas auditivos, teñan algún trastorno da fala ou necesiten algo máis que a voz para comunicarse.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Máis información&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - As chamadas RTT gárdanse como transcricións de mensaxes\n       &lt;br&gt; - Non se pode utilizar a función RTT nas videochamadas"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Nota: A función RTT non está dispoñible en itinerancia"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY desactivado"</item>
     <item msgid="1449091874731375214">"TTY completo"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Si"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Non"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Desactivouse a restrición de chamadas"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Cambiar contrasinal"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Cambiar contrasinal de restrición de chamadas"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Non se puido cambiar o contrasinal de restrición de chamadas."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Non se puido cambiar o contrasinal de restrición de chamadas."</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Os contrasinais non coinciden"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Introducir un contrasinal con 4 números"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Cambiouse o contrasinal"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmar contrasinal"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Insire un contrasinal"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Configuración de restrición de chamadas"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Queres desactivar a configuración de restrición de chamadas?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"A rede está ocupada. Proba a chamar de novo máis tarde."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"A rede está conxestionada. Ponte en contacto co teu operador móbil para obter asistencia."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Derivouse a chamada."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Para usar <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, asegúrate de que os datos móbiles e a itinerancia de datos 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ignorar"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activar conexión de datos"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Desactivar conexión de datos"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Fornecemento VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videochamadas activadas"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Chamadas por wifi activadas"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB ou presenza fornecidos"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Datos de CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Activar DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Queres reiniciar o dispositivo?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Ver números de marcación de servizo"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Estado do servizo de IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Estado de IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Rexistrado"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Non rexistrado"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Dispoñible"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Non dispoñible"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Rexistro de IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz por LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz por wifi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochamada: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface de UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"En servizo"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Fóra de servizo"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Só chamadas de emerxencia"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Desactivar a radio"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Itinerancia"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Non está en itinerancia"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactivo"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Chamando"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Chamada en curso"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Desconectado"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Conectando"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Conectada"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendido"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Descoñecido"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Código de identificación secundario actual:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Código de identificación secundario da SIM de datos predeterminada:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Largura de banda de descarga (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Largura de banda de carga (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Información da localización para móbiles (obsoleto):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuración de canle física de LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Taxa de actualización da información para móbiles:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Toda a información de medición para móbiles:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Servizo de datos:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Itinerancia:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redirección da chamada:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Número de restablecementos PPP desde o inicio:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Rede actual:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Datos recibidos:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Servizo de voz:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Intensidade do sinal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Estado da chamada de voz:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Datos enviados:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mensaxe en espera:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Número de teléfono:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Facer ping ao IPv6 do nome do servidor (www.google.com):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Proba de cliente HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Executar proba de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualizar"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de radio"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Incorrecto"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Correcto"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Información da tableta"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Información do teléfono"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Información de aprovisionamento do operador"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Aprovisionamento do operador do activador"</string>
 </resources>
diff --git a/res/values-gu/config.xml b/res/values-gu/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-gu/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index e468079..78520c9 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ખાનગી નંબર"</string>
     <string name="payphone" msgid="7936735771836716941">"પેફોન"</string>
     <string name="onHold" msgid="6132725550015899006">"હોલ્ડ પર"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> સંદેશ"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"કૅરિઅરનો સંદેશ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI કોડ પ્રારંભ કર્યો"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD કોડ ચાલે છે…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI કોડ રદ કર્યો"</string>
@@ -60,7 +62,7 @@
     <string name="labelCdmaMore_with_label" msgid="7759692829160238152">"CDMA કૉલ સેટિંગ્સ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="apn_settings" msgid="1978652203074756623">"ઍક્સેસ પોઇન્ટનું નામ"</string>
     <string name="settings_label" msgid="9101778088412567956">"નેટવર્ક સેટિંગ્સ"</string>
-    <string name="phone_accounts" msgid="1216879437523774604">"કૉલિંગ એકાઉન્ટ્સ"</string>
+    <string name="phone_accounts" msgid="1216879437523774604">"કૉલ કરવા માટેના એકાઉન્ટ"</string>
     <string name="phone_accounts_make_calls_with" msgid="16747814788918145">"આના વડે કૉલ કરો"</string>
     <string name="phone_accounts_make_sip_calls_with" msgid="4691221006731847255">"આના વડે SIP કૉલ્સ કરો"</string>
     <string name="phone_accounts_ask_every_time" msgid="6192347582666047168">"પહેલાં પૂછો"</string>
@@ -82,9 +84,9 @@
     <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"એક નંબર પર પહોંચી શકાય તેમ ન હોય, ત્યારે હંમેશાં તમારા અન્ય નંબર પર કૉલ ફૉરવર્ડ કરો"</string>
     <string name="voicemail_notifications_preference_title" msgid="7829238858063382977">"નોટિફિકેશન"</string>
     <string name="cell_broadcast_settings" msgid="8135324242541809924">"કટોકટીના બ્રોડકાસ્ટ્સ"</string>
-    <string name="call_settings" msgid="3677282690157603818">"કૉલ સેટિંગ્સ"</string>
-    <string name="additional_gsm_call_settings" msgid="1561980168685658846">"વધારાની સેટિંગ્સ"</string>
-    <string name="additional_gsm_call_settings_with_label" msgid="7973920539979524908">"વધારાની સેટિંગ્સ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="call_settings" msgid="3677282690157603818">"કૉલ સેટિંગ"</string>
+    <string name="additional_gsm_call_settings" msgid="1561980168685658846">"વધારાના સેટિંગ"</string>
+    <string name="additional_gsm_call_settings_with_label" msgid="7973920539979524908">"વધારાના સેટિંગ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="sum_gsm_call_settings" msgid="7964692601608878138">"ફક્ત વધારાની GSM કૉલ સેટિંગ્સ"</string>
     <string name="additional_cdma_call_settings" msgid="2178016561980611304">"વધારાની CDMA કૉલ સેટિંગ્સ"</string>
     <string name="sum_cdma_call_settings" msgid="3185825305136993636">"ફક્ત વધારાની CDMA કૉલ સેટિંગ્સ"</string>
@@ -95,10 +97,10 @@
     <string name="sum_show_caller_id" msgid="3571854755324664591">"આઉટગોઇંગ કૉલ્સમાં નંબર પ્રદર્શિત થાય છે"</string>
     <string name="sum_default_caller_id" msgid="1767070797135682959">"આઉટગોઇંગ કૉલ્સમાં મારો નંબર પ્રદર્શિત કરવા માટે ડિફોલ્ટ ઓપરેટર સેટિંગ્સનો ઉપયોગ કરો"</string>
     <string name="labelCW" msgid="8449327023861428622">"કૉલ પ્રતીક્ષા"</string>
-    <string name="sum_cw_enabled" msgid="3977308526187139996">"કૉલ દરમ્યાન, મને આવનારા કૉલ્સની સૂચના આપો"</string>
-    <string name="sum_cw_disabled" msgid="3658094589461768637">"કૉલ દરમ્યાન, મને આવનારા કૉલ્સની સૂચના આપો"</string>
-    <string name="call_forwarding_settings" msgid="8937130467468257671">"કૉલ ફોરવર્ડિંગ સેટિંગ્સ"</string>
-    <string name="call_forwarding_settings_with_label" msgid="2345432813399564272">"કૉલ ફોરવર્ડિંગ સેટિંગ્સ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="sum_cw_enabled" msgid="3977308526187139996">"કૉલ દરમ્યાન, મને ઇનકમિંગ કૉલની સૂચના આપો"</string>
+    <string name="sum_cw_disabled" msgid="3658094589461768637">"કૉલ દરમ્યાન, મને ઇનકમિંગ કૉલની સૂચના આપો"</string>
+    <string name="call_forwarding_settings" msgid="8937130467468257671">"કૉલ ફોરવર્ડિંગ સેટિંગ"</string>
+    <string name="call_forwarding_settings_with_label" msgid="2345432813399564272">"કૉલ ફોરવર્ડિંગ સેટિંગ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="3578719437928476078">"કૉલ ફોરવર્ડિંગ"</string>
     <string name="labelCFU" msgid="8870170873036279706">"હંમેશા ફોરવર્ડ કરો"</string>
     <string name="messageCFU" msgid="1361806450979589744">"હંમેશાં આ નંબરનો ઉપયોગ કરો"</string>
@@ -121,12 +123,12 @@
     <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="updating_title" msgid="6130548922615719689">"કૉલ સેટિંગ્સ"</string>
+    <string name="updating_title" msgid="6130548922615719689">"કૉલ સેટિંગ"</string>
     <string name="call_settings_admin_user_only" msgid="7238947387649986286">"કૉલ સેટિંગ્સને ફક્ત એડમિન વપરાશકર્તા દ્વારા જ બદલી શકાય છે."</string>
     <string name="call_settings_with_label" msgid="8460230435361579511">"સેટિંગ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="error_updating_title" msgid="2024290892676808965">"કૉલ સેટિંગની ભૂલ"</string>
-    <string name="reading_settings" msgid="1605904432450871183">"સેટિંગ્સ વાંચી રહ્યાં છે…"</string>
-    <string name="updating_settings" msgid="3650396734816028808">"સેટિંગ્સ અપડેટ કરી રહ્યાં છે..."</string>
+    <string name="reading_settings" msgid="1605904432450871183">"સેટિંગ વાંચી રહ્યાં છે…"</string>
+    <string name="updating_settings" msgid="3650396734816028808">"સેટિંગ અપડેટ કરી રહ્યાં છીએ..."</string>
     <string name="reverting_settings" msgid="7378668837291012205">"સેટિંગ્સ પાછી ફરાવી રહ્યાં છે…"</string>
     <string name="response_error" msgid="3904481964024543330">"નેટવર્ક તરફથી અનપેક્ષિત પ્રતિસાદ."</string>
     <string name="exception_error" msgid="330994460090467">"નેટવર્ક અથવા SIM કાર્ડ ભૂલ."</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"માત્ર NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"પસંદગીનો નેટવર્ક મોડ: WCDMA પસંદ કરેલ છે"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"પસંદગીનો નેટવર્ક મોડ: ફક્ત GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"પસંદગીનો નેટવર્ક મોડ: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"પસંદગીનો નેટવર્ક મોડ: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"પસંદગીનો નેટવર્ક મોડ: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"પસંદગીનો નેટવર્ક મોડ: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"પસંદગીનો નેટવર્ક મોડ: વૈશ્વિક"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"પસંદગીનો નેટવર્ક મોડ: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"પસંદગીનો નેટવર્ક મોડ: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"પસંદગીનો નેટવર્ક મોડ: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"પસંદગીનો નેટવર્ક મોડ: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"પસંદગીનો નેટવર્ક મોડ: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"પસંદગીનો નેટવર્ક મોડ: માત્ર NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"પસંદગીનો નેટવર્ક મોડ: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"પસંદગીનો નેટવર્ક મોડ: NR/LTE/CDME/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"પસંદગીનો નેટવર્ક મોડ: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"પસંદગીનો નેટવર્ક મોડ: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"પસંદગીનો નેટવર્ક મોડ: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"પસંદગીનો નેટવર્ક મોડ: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"પસંદગીનો નેટવર્ક મોડ: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"પસંદગીનો નેટવર્ક મોડ: LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"પસંદગીનો નેટવર્ક મોડ: LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"પસંદગીનો નેટવર્ક મોડ: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"કૉલિંગ"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"નેટવર્ક"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"વિસ્તૃત 4G LTE મોડ"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"બહુ-કૅટેગરી"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"બહુ-કૅટેગરી સક્ષમ કરેલ છે"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"બહુ-કૅટેગરી અક્ષમ કરેલ છે"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (સુઝાવ આપેલ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ભલામણ કરેલ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (ભલામણ કરેલ)"</string>
     <string name="network_global" msgid="3289646154407617631">"વૈશ્વિક"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDNને 20 અંકને ઓળંગતો હોવાથી અપડેટ કરી શકાયો નથી."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDNમાં <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> કરતા વધુ અંક હોવાથી તેને અપડેટ કરી શકાયો ન હતો."</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>
@@ -521,7 +547,7 @@
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"માલિક"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"માહિતી જોવા માટે ફરીથી ટૅપ કરો"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"કટોકટીનો કૉલ"</string>
-    <string name="single_emergency_number_title" msgid="8413371079579067196">"કટોકટીનો નંબર"</string>
+    <string name="single_emergency_number_title" msgid="8413371079579067196">"ઇમર્જન્સી નંબર"</string>
     <string name="numerous_emergency_numbers_title" msgid="8972398932506755510">"કટોકટીના નંબર"</string>
     <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"<xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>ને ફરીથી કૉલ કરવા માટે ટૅપ કરો"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"રેડિઓ ચાલુ કરી રહ્યાં છે…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"કૉલ કરી શકાતો નથી. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> એ કટોકટીનો નંબર નથી."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"કૉલ કરી શકાતો નથી. કટોકટીનો નંબર ડાયલ કરો!"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"કટોકટીમાં કૉલ કરવાની સુવિધા ઉપલબ્ધ નથી"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"માત્ર ડિવાઇસના માલિક જ પિન/PUK કોડ દાખલ કરી શકે છે."</string>
     <string name="police_type_description" msgid="2819533883972081757">"પોલીસ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"એમ્બ્યુલન્સ"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"આગ"</string>
@@ -545,7 +572,7 @@
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"કૉલ્સ સંચાલિત કરો"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"કોન્ફરન્સ સંચાલિત કરો"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"ઑડિઓ"</string>
-    <string name="onscreenVideoCallText" msgid="1743992456126258698">"વિડિઓ કૉલ"</string>
+    <string name="onscreenVideoCallText" msgid="1743992456126258698">"વીડિયો કૉલ"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"આયાત કરો"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"બધુ આયાત કરો"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"SIM સંપર્કો આયાત કરી રહ્યાં છે"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"નોંધ: રોમિંગ વખતે RTT ઉપલબ્ધ નથી"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY બંધ"</item>
     <item msgid="1449091874731375214">"TTY સંપૂર્ણ"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"કૉલ બારિંગ નિષ્ક્રિય કરવામાં સફળ રહ્યાં"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"પાસવર્ડ બદલો"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"કૉલ બારિંગનો પાસવર્ડ બદલો"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"કૉલ બારિંગનો પાસવર્ડ બદલી શકાતો નથી."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"કૉલ અવરોધવાનો પાસવર્ડ બદલી શકાતો નથી"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"પાસવર્ડ મેળ ખાતા નથી"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 અંકોનો પાસવર્ડ દાખલ કરો"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"પાસવર્ડ બદલવામાં સફળ રહ્યાં"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"પાસવર્ડની પુષ્ટિ કરો"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"પાસવર્ડ દાખલ કરો"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"કૉલ બારિંગની સેટિંગ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"કૉલ બારિંગની બધી સેટિંગ નિષ્ક્રિય કરીએ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"નેટવર્ક વ્યસ્ત છે. કૃપા કરીને કૉલ કરવાનો પછીથી ફરી પ્રયાસ કરો."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"નેટવર્ક ખૂબ ભરાયેલું છે. સહાય માટે મોબાઇલ ઑપરેટરનો સંપર્ક કરો."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"કૉલ બીજે વાળ્યો."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"વીડિયો કૉલિંગની જોગવાઈ કરી"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"વાઇ-ફાઇ કૉલિંગની જોગવાઈ કરી"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/ઉપસ્થિતિની જોગવાઈ કરી"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ડેટા"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS ચાલુ કરો"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"મોબાઇલ રેડિયો પાવર"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"સિમમાં સરનામા પુસ્તિકા જુઓ"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ફિક્સ્ડ ડાયલિંગ નંબર જુઓ"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"સર્વિસ ડાયલિંગ નંબર જુઓ"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS સેવા સ્ટેટસ"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS સ્ટેટસ"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"રજિસ્ટર કરેલો"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"રજિસ્ટર કરેલો નથી"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ઉપલબ્ધ"</string>
+    <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>\nLTE પર વૉઇસ: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nવાઇ-ફાઇ પર વૉઇસ: <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_emergency" msgid="4763879891415016848">"ફક્ત ઇમર્જન્સી કૉલ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"રેડિયો બંધ કરો"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"રોમિંગ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"રોમિંગ નહીં"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"નિષ્ક્રિય"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"રિંગ વગાડીએ છીએ"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"કૉલ ચાલુ છે"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ડિસ્કનેક્ટ કર્યું"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"કનેક્ટ કરી રહ્યાં છીએ"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"કનેક્ટેડ"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"સસ્પેન્ડ કરી"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"અજાણ"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"બાઇટ"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"હાલનું subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ડિફૉલ્ટ ડેટા સિમનું SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL બૅન્ડવિડ્થ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL બૅન્ડવિડ્થ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"સેલ સ્થાન માહિતી (ટાળેલ):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ભૌતિક ચૅનલની ગોઠવણી:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"સેલ માહિતી રિફ્રેશ થવાનો રેટ:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"તમામ સેલ માપ માહિતી:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ડેટા સેવા:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"રોમિંગ:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"કૉલ રીડાયરેક્ટ:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"બૂટ કર્યા સુધીમાં PPP ફરીથી સેટ કરોની સંખ્યા:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"વર્તમાન નેટવર્ક:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ડેટા પ્રાપ્ત થયો:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"વૉઇસ સેવા:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"સિગ્નલની પ્રબળતા:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"વૉઇસ કૉલનું સ્ટેટસ:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ડેટા મોકલ્યો:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"સંદેશ ઉપલબ્ધ છે:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ફોન નંબર:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"હોસ્ટનું નામ પિંગ કરો(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP ક્લાઇન્ટ પરીક્ષણ:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS તપાસ ટૉગલ કરો"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-વિશિષ્ટ માહિતી/સેટિંગ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"રેડિયો બૅન્ડ મોડ સેટ કરો"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"બૅન્ડની સૂચિ લોડ કરી રહ્યું છે…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"સેટ કરો"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"અસફળ"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"સફળ થયાં"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ટૅબ્લેટ વિશે માહિતી"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ફોનની માહિતી"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"કૅરિઅરની જોગવાઈ વિશે માહિતી"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"કૅરિઅરની જોગવાઈ ટ્રિગર કરો"</string>
 </resources>
diff --git a/res/values-h500dp/dimens.xml b/res/values-h500dp/dimens.xml
index 2c7c797..d74f0a1 100644
--- a/res/values-h500dp/dimens.xml
+++ b/res/values-h500dp/dimens.xml
@@ -16,5 +16,5 @@
   -->
 
 <resources>
-    <dimen name="dialpad_bottom_padding">36dp</dimen>
+    <dimen name="dialpad_bottom_padding">16dp</dimen>
 </resources>
\ No newline at end of file
diff --git a/res/values-hi/config.xml b/res/values-hi/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-hi/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index f7d50da..96aa5f0 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"निजी नंबर"</string>
     <string name="payphone" msgid="7936735771836716941">"पे-फ़ोन"</string>
     <string name="onHold" msgid="6132725550015899006">"होल्ड पर"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> मैसेज"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी का मैसेज"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI कोड प्रारंभ किया गया"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD कोड चल रहा है…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI कोड रद्द किया गया"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"सिर्फ़ NR मोड"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"पसंदीदा नेटवर्क मोड: WCDMA को प्राथमिकता"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"पसंदीदा नेटवर्क मोड: केवल GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"पसंदीदा नेटवर्क मोड: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"पसंदीदा नेटवर्क मोड: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"पसंदीदा नेटवर्क मोड: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"पसंदीदा नेटवर्क मोड: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"पसंदीदा नेटवर्क मोड: वैश्विक"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"पसंदीदा नेटवर्क मोड: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"पसंदीदा नेटवर्क मोड: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"पसंदीदा नेटवर्क मोड: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"पसंदीदा नेटवर्क मोड: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"पसंदीदा नेटवर्क मोड: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"पसंदीदा नेटवर्क मोड: सिर्फ़ NR मोड"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"पसंदीदा नेटवर्क मोड: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"पसंदीदा नेटवर्क मोड: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"पसंदीदा नेटवर्क मोड: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"पसंदीदा नेटवर्क मोड: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"पसंदीदा नेटवर्क मोड: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"पसंदीदा नेटवर्क मोड: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"पसंदीदा नेटवर्क मोड: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"पसंदीदा नेटवर्क मोड: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"पसंदीदा नेटवर्क मोड: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"पसंदीदा नेटवर्क मोड: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"कॉलिंग"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"नेटवर्क"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"बेहतर 4G LTE मोड"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"बहु-श्रेणी"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"बहु-श्रेणी सक्षम की गई"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"बहु-श्रेणी अक्षम की गई"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (सुझाए गए)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (सुझाये गये)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (सुझाये गये)"</string>
     <string name="network_global" msgid="3289646154407617631">"वैश्विक"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"फ़िक्स्ड डायलिंग नंबर हटा रहा है..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"फ़िक्स्ड डायलिंग नंबर हटाया गया."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN पे नई जानकारी नहीं है क्योंकि आपने गलत पिन लिखा है."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN अपडेट नहीं किया जा सका, क्योंकि नंबर में 20 से ज़्यादा अंक हैं."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN अपडेट नहीं किया जा सका, क्योंकि नंबर में <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> से ज़्यादा अंक हैं."</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">"सिम कार्ड से पढ़ रहा है…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"कॉल नहीं किया जा सकता. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> एक आपातकालीन नंबर नहीं है."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"कॉल नहीं किया जा सकता. आपातकालीन नबर डायल करें."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"आपातकालीन कॉल करने की सुविधा उपलब्ध नहीं है"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"सिर्फ़ डिवाइस का मालिक ही PIN/PUK कोड दर्ज कर सकता है."</string>
     <string name="police_type_description" msgid="2819533883972081757">"पुलिस"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"एम्बुलेंस"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"आग"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"(आरटीटी) कॉल से रीयल-टाइम में मैसेज भेजें"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"वॉइस कॉल में मैसेज भेजने की अनुमति दें"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"आरटीटी उन कॉल करने वालों की मदद करता है, जो सुन नहीं सकते हैं, ऊंचा सुनते हैं, जिन्हें बोलने में दिक्कत है या जिनके लिए सिर्फ़ आवाज़ काफ़ी नहीं होती.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;ज़्यादा  जानें&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - आरटीटी कॉल, मैसेज लेख के रूप में सेव किए जाते हैं\n       &lt;br&gt; - वीडियो कॉल के लिए आरटीटी उपलब्ध नहीं है"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"ध्यान दें: आरटीटी (रीयल-टाइम में मैसेज भेजना) की सुविधा रोमिंग के दौरान नहीं दी जाती"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY बंद"</item>
     <item msgid="1449091874731375214">"TTY पूरा हुआ"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"कॉल रोकें सुविधा निष्क्रिय की गई"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"पासवर्ड बदलें"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"कॉल रोकें सुविधा का पासवर्ड बदलें"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"कॉल रोकें सुविधा का पासवर्ड बदला नहीं जा सकता."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"कॉल रोकने की सुविधा का पासवर्ड बदला नहीं जा सकता"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"पासवर्ड मेल नहीं खाते"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 संख्याओं वाला एक पासवर्ड डालें"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"पासवर्ड बदल दिया गया"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"पासवर्ड की पुष्टि करें"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"पासवर्ड डालें"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"कॉल रोकें सुविधा की सेटिंग"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"कॉल रोकें सुविधा की सभी सेटिंग निष्क्रिय करें?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"नेटवर्क व्यस्त है. कृपया बाद में दोबारा कॉल करें."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"नेटवर्क व्यस्त है. मदद के लिए अपने मोबाइल ऑपरेटर से संपर्क करें."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"कॉल दूसरे नंबर पर भेजे जाने के बजाय खुद को आ गया."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> का उपयोग करने के लिए पक्का करें कि सिम <xliff:g id="SIM_NUMBER">%2$d</xliff:g> का डेटा चालू है. आप मोबाइल नेटवर्क सेटिंग में जाकर इसे बदल सकते हैं."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> का उपयोग करने के लिए पक्का करें कि सिम <xliff:g id="SIM_NUMBER">%2$d</xliff:g> का मोबाइल डेटा और डेटा रोमिंग चालू हैं. आप मोबाइल नेटवर्क सेटिंग में जाकर इन्हें बदल सकते हैं."</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"वीडियो कॉलिंग की सुविधा काम कर रही है"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"वाई-फ़ाई कॉलिंग की सुविधा काम कर रही है"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"ईएएबी/मौजूदगी सुविधा काम कर रही है"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"सीबीआरएस डेटा"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"डीएसडीएस चालू करें"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडियो पावर"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"सिम में संपर्कों के पते की सूची देखें"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"फ़िक्स्ड डायलिंग नंबर देखें"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"सेवा के डायलिंग नंबर देखें"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"आईएमएस की सेवा की स्थिति"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"आईएमएस की स्थिति"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"रजिस्टर किया गया"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"रजिस्टर नहीं किया हुआ है"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"उपलब्ध है"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"उपलब्ध नहीं है"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"आईएमएस रजिस्ट्रेशन: <xliff:g id="STATUS">%1$s</xliff:g>\nवॉइस ओवर एलटीई: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nवॉइस ओवर वाई-फ़ाई: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nवीडियो कॉलिंग: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nयूटी इंटरफ़ेस: <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_emergency" msgid="4763879891415016848">"सिर्फ़ आपातकालीन कॉल"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"रेडियो बंद"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"रोमिंग"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"रोमिंग में नहीं है"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"इस्तेमाल नहीं किया जा रहा है"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"घंटी बज रही है"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"कॉल चल रहा है"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"डिसकनेक्ट किया गया"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"कनेक्ट हो रहा है"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"कनेक्ट किया गया"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"थोड़ी देर के लिए रोक लगी है"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"अज्ञात"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"बाइट"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"एलएसी"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"सीआईडी"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"मौजूदा सब-आईडी:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"डिफ़ॉल्ट डेटा सिम का सब-आईडी:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"डीएल बैंडविड्थ (केबीपीएस):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"यूएल बैंडविड्थ (केबीपीएस):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"सेल की जगह की जानकारी (रोकी गयी है):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"एलटीई की फ़िज़िकल चैनल कॉन्फ़िगरेशन:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"सेल की जानकारी रीफ़्रेश होने की दर:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"सभी सेल के माप की पूरी जानकारी:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"डेटा सेवा:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"रोमिंग:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"कॉल को दूसरे नंबर पर भेजें:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"चालू करने के बाद से पीपीपी रीसेट की संख्या:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"मौजूदा नेटवर्क:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"मिलने वाला डेटा :"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice की सेवा:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"सिग्नल कितना अच्छा है:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice कॉल की स्थिति:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"भेजा गया डेटा :"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"मैसेज वेटिंग:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"फ़ोन नंबर:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"होस्टनाम(www.google.com) IPv6 पिंग करें:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"एचटीटीपी क्लाइंट जांच:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"पिंग जांच चलाएं"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"एसएमएससी:"</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_toggle_dns_check_label" msgid="1394078554927787350">"डीएनएस जांच टॉगल करें"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"ओईएम-खास जानकारी/सेटिंग"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"\'रेडियो बैंड\' मोड सेट करें"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"बैंड सूची लोड की जा रही है…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"सेट करें"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"\'बैंड मोड\' चालू नहीं हो सका"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"\'बैंड मोड\' चालू हो गया"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"टैबलेट की जानकारी"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"फ़ोन की जानकारी"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी के प्रावधान की जानकारी"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी के प्रावधान चालू करें"</string>
 </resources>
diff --git a/res/values-hr/config.xml b/res/values-hr/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-hr/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 5e74378..f38d1f6 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privatni broj"</string>
     <string name="payphone" msgid="7936735771836716941">"Javna telefonska govornica"</string>
     <string name="onHold" msgid="6132725550015899006">"Na čekanju"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> – poruka"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Poruka operatera"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Pokrenut je MMI kôd"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Pokrenut je USSD kôd…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Otkazan je MMI kôd"</string>
@@ -93,17 +95,17 @@
     <string name="sum_loading_settings" msgid="434063780286688775">"Učitavanje postavki…"</string>
     <string name="sum_hide_caller_id" msgid="131100328602371933">"Broj je skriven u izlaznim pozivima"</string>
     <string name="sum_show_caller_id" msgid="3571854755324664591">"Broj prikazan za izlazne pozive"</string>
-    <string name="sum_default_caller_id" msgid="1767070797135682959">"Koristiti zadane postavke operatera za prikaz mog broja kod odlaznih poziva"</string>
+    <string name="sum_default_caller_id" msgid="1767070797135682959">"Upotrijebi zadane postavke operatera za prikaz mog broja kod odlaznih poziva"</string>
     <string name="labelCW" msgid="8449327023861428622">"Poziv na čekanju"</string>
-    <string name="sum_cw_enabled" msgid="3977308526187139996">"Obavijesti me tijekom poziva o dolaznim pozivima"</string>
-    <string name="sum_cw_disabled" msgid="3658094589461768637">"Obavijesti me tijekom poziva o dolaznim pozivima"</string>
+    <string name="sum_cw_enabled" msgid="3977308526187139996">"Obavijesti me o dolaznim pozivima tijekom poziva"</string>
+    <string name="sum_cw_disabled" msgid="3658094589461768637">"Obavijesti me o dolaznim pozivima tijekom poziva"</string>
     <string name="call_forwarding_settings" msgid="8937130467468257671">"Postavke preusmjeravanja poziva"</string>
     <string name="call_forwarding_settings_with_label" msgid="2345432813399564272">"Prosljeđivanje poziva (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="3578719437928476078">"Preusmjeravanje poziva"</string>
     <string name="labelCFU" msgid="8870170873036279706">"Uvijek preusmjeri"</string>
     <string name="messageCFU" msgid="1361806450979589744">"Uvijek koristi ovaj broj"</string>
     <string name="sum_cfu_enabled_indicator" msgid="9030139213402432776">"Preusmjeravanje svih poziva"</string>
-    <string name="sum_cfu_enabled" msgid="5806923046528144526">"Preusmjeravanje poziva na <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfu_enabled" msgid="5806923046528144526">"Preusmjeravanje svih poziva na <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfu_enabled_no_number" msgid="7287752761743377930">"Broj je nedostupan"</string>
     <string name="sum_cfu_disabled" msgid="5010617134210809853">"Isključeno"</string>
     <string name="labelCFB" msgid="615265213360512768">"Kad je broj zauzet"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Samo NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Način željene mreže: Preferirano WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Način željene mreže: Samo GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferirani mrežni način: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferirani mrežni način: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferirani mrežni način: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preporučeni mrežni način: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferirani mrežni način: globalni"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferirani mrežni način: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferirani način mreže: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preporučeni mrežni način: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preporučeni mrežni način: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preporučeni mrežni način: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preporučeni mrežni način: samo NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preporučeni mrežni način: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preporučeni mrežni način: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preporučeni mrežni način: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preporučeni mrežni način: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preporučeni mrežni način: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preporučeni mrežni način: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preporučeni mrežni način: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preporučeni mrežni način: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preporučeni mrežni način: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preporučeni mrežni način: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Pozivanje"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Mreža"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Poboljšan 4G LTE način"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Višestruka kategorija"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Omogućena je višestruka kategorija"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Onemogućena je višestruka kategorija"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (preporučeno)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (preporučeno)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (preporučeno)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globalno"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Brisanje broja za fiksno biranje…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Izbrisan je broj za fiksno biranje."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN nije ažuriran jer ste upisali pogrešan PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN nije ažuriran jer broj premašuje 20 znamenki."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN nije ažuriran jer broj premašuje sljedeći broj znamenki: <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN nije ažuriran. PIN2 nije točan ili je telefonski broj odbijen."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operacija FDN nije uspjela."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Čitanje sa SIM kartice…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Pozivanje nije moguće. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nije broj hitne službe."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Pozivanje nije moguće. Nazovite broj hitne službe."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Hitni pozivi nisu dostupni"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Samo vlasnik uređaja može unijeti kodove PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policija"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Hitna pomoć"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Vatrogasci"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"RTT (tekst u stvarnom vremenu) poziv"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Omogućavanje slanja poruka u glasovnom pozivu"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT pomaže pozivateljima koji su gluhi, imaju oštećenje sluha, govornu manu ili im treba više od samo glasa.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Saznajte više&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT pozivi spremaju se kao prijepis poruke\n       &lt;br&gt; – RTT nije dostupan za videopozive"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Napomena: RTT nije dostupan u roamingu"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Isključen je TTY"</item>
     <item msgid="1449091874731375214">"TTY je pun"</item>
@@ -611,6 +639,13 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ne"</string>
     <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>
     <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>
@@ -750,7 +785,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Zabrana poziva deaktivirana"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Promjena zaporke"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Promjena zaporke za zabranu poziva"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Zaporka za zabranu poziva ne može se promijeniti."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Zaporka za zabranu poziva ne može se promijeniti"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Zaporke se ne podudaraju"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Unesite zaporku s 4 brojke"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Zaporka promijenjena"</string>
@@ -759,7 +794,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Potvrda zaporke"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Unesite zaporku"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Postavke za zabranu poziva"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Želite li deaktivirati sve postavke za zabranu poziva?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Mreža je zauzeta. Pokušajte ponovno uputiti poziv kasnije."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Mreža je zauzeta. Za pomoć se obratite svom mobilnom operateru."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Poziv odbačen."</string>
@@ -789,4 +823,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Da biste koristili uslugu <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, provjerite jesu li mobilni podaci i roaming podataka za SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> uključeni. Tu opciju možete promijeniti u postavkama mobilne mreže."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Odbaci"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Omogući podatkovnu vezu"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Onemogući podatkovnu vezu"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE omogućen"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Pružena usluga videopoziva"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Pružena usluga poziva putem Wi-Fija"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Pruža se usluga EAB-a/prisutnosti"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Podaci CBRS-a"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Omogući DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Ponovo pokrenuti?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Prikaži brojeve za servisno biranje"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status usluge IMS-a"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Status IMS-a"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrirano"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Niste registrirani"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Dostupno"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nije dostupno"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registracija IMS-a: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideopozivi: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT sučelje: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Upotrebljava se"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ne radi"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Samo hitni pozivi"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio je isključen"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Bez roaminga"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"U mirovanju"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Zvonjenje"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Razgovor u tijeku"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Nije povezano"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Povezivanje"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Povezano"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Obustavljeno"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Nepoznato"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bajtovi"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Trenutačni SUBID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SUBID zadanog SIM-a za podatkovni promet:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL propusnost (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL propusnost (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informacije o lokaciji ćelije (obustavljeno):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfiguracija LTE fizičkog kanala:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Stopa osvježavanja informacija u ćeliji:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Sve informacije ćelija o mjerenju:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Podatkovna usluga:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Preusmjeravanje poziva:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Broj PPP poništavanja od pokretanja:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Trenutačna mreža:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Primljeni podaci:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Glasovna usluga:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Jačina signala:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status glasovnog poziva:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Podaci poslani:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Poruka na čekanju:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonski broj:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Pinganje naziva hosta (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test HTTP klijenta:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Pokreni ping test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Ažuriraj"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Postavi način radijske frekvencije"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Učitavanje popisa frekvencija…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Postavi"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Neuspješno"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Uspješno"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informacije o tabletnom uređaju"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informacije o telefonu"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informacije o uslugama mobilnog operatera"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Pokretanje usluga mobilnog operatera"</string>
 </resources>
diff --git a/res/values-hu/config.xml b/res/values-hu/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-hu/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 47b102f..f69e5b1 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Magántelefonszám"</string>
     <string name="payphone" msgid="7936735771836716941">"Nyilvános telefon"</string>
     <string name="onHold" msgid="6132725550015899006">"Tartásban"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>-üzenet"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Szolgáltatói üzenet"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-kód elindítva"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-kód futtatása..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-kód megszakítva"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Csak NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferált hálózati mód: preferált WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferált hálózati mód: csak GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferált hálózati mód: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferált hálózati mód: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferált hálózati mód: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Előnyben részesített hálózati mód: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferált hálózati mód: globális"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferált hálózati mód: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Előnyben részesített hálózati mód: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferált hálózati mód: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferált hálózati mód: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferált hálózati mód: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Előnyben részesített hálózati mód: csak NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Előnyben részesített hálózati mód: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Előnyben részesített hálózati mód: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Előnyben részesített hálózati mód: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Előnyben részesített hálózati mód: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Előnyben részesített hálózati mód: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Előnyben részesített hálózati mód: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Előnyben részesített hálózati mód: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Előnyben részesített hálózati mód: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Előnyben részesített hálózati mód: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Előnyben részesített hálózati mód: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Hívás"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Hálózat"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Javított 4G LTE mód"</string>
@@ -248,16 +273,16 @@
     <string name="data_enabled" msgid="22525832097434368">"Adatok engedélyezése"</string>
     <string name="data_enable_summary" msgid="696860063456536557">"Adatforgalom engedélyezése"</string>
     <string name="dialog_alert_title" msgid="5260471806940268478">"Figyelem"</string>
-    <string name="roaming" msgid="1576180772877858949">"Barangolás"</string>
-    <string name="roaming_enable" msgid="6853685214521494819">"Csatlakozás adatszolgáltatásokhoz barangolás során"</string>
-    <string name="roaming_disable" msgid="8856224638624592681">"Csatlakozás adatszolgáltatásokhoz barangolás során"</string>
+    <string name="roaming" msgid="1576180772877858949">"Roaming"</string>
+    <string name="roaming_enable" msgid="6853685214521494819">"Csatlakozás adatszolgáltatásokhoz roaming során"</string>
+    <string name="roaming_disable" msgid="8856224638624592681">"Csatlakozás adatszolgáltatásokhoz roaming során"</string>
     <string name="roaming_reenable_message" msgid="1951802463885727915">"Az adatbarangolás ki van kapcsolva. Koppintson a bekapcsolásához."</string>
     <string name="roaming_enabled_message" msgid="9022249120750897">"A szolgáltató adatroamingdíjat számíthat fel. Koppintson a módosításhoz."</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"Nincs mobiladat-kapcsolat"</string>
     <string name="roaming_on_notification_title" msgid="7451473196411559173">"Az adatroaming be van kapcsolva"</string>
     <string name="roaming_warning" msgid="7855681468067171971">"Lehet, hogy jelentős összeget számítanak fel érte."</string>
     <string name="roaming_check_price_warning" msgid="8212484083990570215">"Az árakat a szolgáltatótól tudhatja meg."</string>
-    <string name="roaming_alert_title" msgid="5689615818220960940">"Engedélyezi az adatbarangolást?"</string>
+    <string name="roaming_alert_title" msgid="5689615818220960940">"Engedélyezi az adatroamingot?"</string>
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"Korlátozott SIM-funkció"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"A(z) <xliff:g id="PHONE_NUMBER">%2$s</xliff:g> szám használatakor előfordulhat, hogy a(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-hívások és az adatszolgáltatások nem működnek."</string>
     <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Másik SIM esetén lehet, hogy a(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-hívások és -adatszolgáltatások nem működnek."</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Több kategória"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Több kategória engedélyezve"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Több kategória letiltva"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ajánlott)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (javasolt)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (javasolt)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globális"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Fix hívószám törlése..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"A fix hívószám törölve."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"A fix hívószám nincs frissítve, mert hibás PIN kódot írt be."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Az FDN nem lett frissítve, mert az érték több mint 20 számjegyből áll."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Az FDN nem frissült, mert az érték több mint <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> számjegyből áll."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"A fix hívószám nem lett frissítve. Hibás a PIN2 kód, vagy a telefonszámot elutasították."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Sikertelen a fix hívószámmal végzett művelet."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Beolvasás a SIM kártyáról..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"A hívás sikertelen. A(z) <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> szám nem segélyhívószám."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"A hívás sikertelen. Tárcsázzon segélyhívószámot."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"A segélyhívási funkció nem áll rendelkezésre"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Csak az eszköz tulajdonosa adhatja meg a PIN-kódot és a PUK-kódot."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Rendőrség"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Mentők"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Tűzoltóság"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Valós idejű szöveg (RTT) típusú hívás"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Üzenetküldés engedélyezése a hangalapú hívásokban"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Az RTT funkció a siket, hallássérült, beszédzavaros vagy a hangalapú kommunikáción kívül más kommunikációt is igénylő hívóknak lehet segítségére.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;További információ.&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Az RTT-hívásokat a rendszer üzenetátiratként menti.\n       &lt;br&gt; - Az RTT funkció nem áll rendelkezésre videohívásokban."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Megjegyzés: az RTT nem áll rendelkezésre roaming közben"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY kikapcsolva"</item>
     <item msgid="1449091874731375214">"Teljes TTY"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Igen"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nem"</string>
     <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="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>
@@ -735,20 +769,20 @@
     <string name="call_barring_baoic_enabled" msgid="1203758092657630123">"Megszünteti a kimenő nemzetközi hívások letiltását?"</string>
     <string name="call_barring_baoic_disabled" msgid="5656889339002997449">"Letiltja a kimenő nemzetközi hívásokat?"</string>
     <string name="call_barring_baoicr" msgid="8566167764432343487">"Kimenő hívások nemzetközi barangoláskor"</string>
-    <string name="call_barring_baoicr_enabled" msgid="1615324165512798478">"Megszünteti a nemzetközi barangolás során kimenő hívások letiltását?"</string>
+    <string name="call_barring_baoicr_enabled" msgid="1615324165512798478">"Megszünteti a nemzetközi roaming során kimenő hívások letiltását?"</string>
     <string name="call_barring_baoicr_disabled" msgid="172010175248142831">"Letiltja a kimenő hívásokat nemzetközi barangoláskor?"</string>
     <string name="call_barring_baic" msgid="7941393541678658566">"Minden bejövő hívás"</string>
     <string name="call_barring_baic_enabled" msgid="4357332358020337470">"Megszünteti az összes bejövő hívás letiltását?"</string>
     <string name="call_barring_baic_disabled" msgid="2355945245938240958">"Letiltja az összes bejövő hívást?"</string>
     <string name="call_barring_baicr" msgid="8712249337313034226">"Bejövő hívások nemzetközi barangoláskor"</string>
-    <string name="call_barring_baicr_enabled" msgid="64774270234828175">"Megszünteti a nemzetközi barangolás során bejövő összes hívás letiltását?"</string>
+    <string name="call_barring_baicr_enabled" msgid="64774270234828175">"Megszünteti a nemzetközi roaming során bejövő összes hívás letiltását?"</string>
     <string name="call_barring_baicr_disabled" msgid="3488129262744027262">"Letiltja a bejövő hívásokat nemzetközi barangoláskor?"</string>
     <string name="call_barring_deactivate_all" msgid="7837931580047157328">"Az összes deaktiválása"</string>
     <string name="call_barring_deactivate_all_description" msgid="4474119585042121604">"Az összes híváskorlátozási beállítás deaktiválása"</string>
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Híváskorlátozás deaktiválva"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Jelszó módosítása"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Híváskorlátozási jelszó módosítása"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Nem sikerült módosítani a híváskorlátozási jelszót."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Nem sikerült módosítani a híváskorlátozási jelszót"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"A jelszavak nem egyeznek"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Adjon meg egy 4 számból álló jelszót"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Jelszó módosítva"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Jelszó megerősítése"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Adja meg a jelszót"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Híváskorlátozási beállítások"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deaktiválja az összes híváskorlátozási beállítást?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"A hálózat túlterhelt. Próbálkozzon a hívással később."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"A hálózat túlterhelt. Ha segítségre van szüksége, forduljon a mobilszolgáltatóhoz."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Hívás átirányítva egy másik számra."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"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 és az adatbarangolás 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Elvetés"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Adatkapcsolat engedélyezése"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Adatkapcsolat letiltása"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-jelző"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videohívás beütemezve"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi-hívás beütemezve"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Engedélyezett jelenlét"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-adatok"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS engedélyezése"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Újraindítja az eszközt?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Szolgáltatásszámok megtekintése"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS-szolgáltatás állapota"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-állapot"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Regisztrált"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Nem regisztrált"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Rendelkezésre áll"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nem áll rendelkezésre"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-regisztráció: <xliff:g id="STATUS">%1$s</xliff:g>\nHanghívás LTE-adatkapcsolaton keresztül: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHanghívás Wi-Fi-kapcsolaton keresztül: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideohívás: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-felület: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Szolgáltatás"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Nem működik"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Csak segélyhívások"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Rádió kikapcsolva"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Nem barangol"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Tétlen"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Csörgés"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Hívás folyamatban"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Leválasztva"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Csatlakozás"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Csatlakoztatva"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Felfüggesztve"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Ismeretlen"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"csomag"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bájt"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Jelenlegi alazonosító:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Alapértelmezett adatok SIM-alazonosítója:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Letöltési sávszélesség (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Feltöltési sávszélesség (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobilos helyadatok (megszűnt):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE fizikai csatorna konfigurációja:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Cellainformáció frissítési gyakorisága:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Minden cellamérési információ:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Adatszolgáltatás:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Hívásátirányítás:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP-visszaállítások száma a legutolsó rendszerindítás óta:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Jelenlegi hálózat:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Fogadott adatok:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Hangszolgáltatás:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Jelerősség:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Hanghívás állapota:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Elküldött adatok:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Üzenetek várakozása:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonszám:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Pingelt gazdagépnév (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-kliens tesztje:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Pingteszt futtatása"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Frissítés"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Beállítás"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Sikertelen"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Sikeres"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Táblagép adatai"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefon adatai"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Információ a szolgáltatói ellátásról"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Szolgáltatói ellátás aktiválása"</string>
 </resources>
diff --git a/res/values-hy/config.xml b/res/values-hy/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-hy/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 677b862..fba555f 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Գաղտնի համար"</string>
     <string name="payphone" msgid="7936735771836716941">"Բջջային տերմինալ"</string>
     <string name="onHold" msgid="6132725550015899006">"Սպասում"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Հաղորդագրություն (<xliff:g id="MMICARRIER">%s</xliff:g>)"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Հաղորդագրություն օպերատորից"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI կոդը մեկնարկել է"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD կոդը գործարկվում է..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI կոդը չեղարկված է"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Միայն NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Նախընտրելի ցանցի ռեժիմը՝ WCDMA նախընտրելի"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Նախընտրելի ցանցի ռեժիմը՝ միայն GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Նախընտրելի ցանցի ռեժիմը՝ LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Նախընտրելի ցանցի ռեժիմը՝ GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Նախընտրելի ցանցի ռեժիմը՝ CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Ցանցի նախընտրելի ռեժիմը՝ LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Նախընտրելի ցանցի ռեժիմը՝ Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Նախընտրելի ցանցի ռեժիմը՝ LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Ցանցի նախընտրելի ռեժիմը՝ LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Ցանցի նախընտրելի ռեժիմը՝ LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Ցանցի նախընտրելի ռեժիմը՝ TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Ցանցի նախընտրելի ռեժիմը՝ LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Ցանցի նախընտրելի ռեժիմը՝ միայն NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Ցանցի նախընտրելի ռեժիմը՝ NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Զանգ"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Ցանց"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Ընդլայնված 4G LTE ռեժիմ"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Բազմակարգ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Բազմակարգը միացված է"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Բազմակարգն անջատված է"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (խորհուրդ է տրվում)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (խորհուրդ է տրվում)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (խորհուրդ է տրվում)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDN-ը չթարմացվեց, քանի որ համարը գերազանցում է 20 նիշը:"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN-ը չթարմացվեց, քանի որ համարը գերազանցում է <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> նիշը:"</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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Հնարավոր չէ զանգել: <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> համարը արտակարգ իրավիճակի համար չէ:"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Հնարավոր չէ զանգել: Հավաքեք արտակարգ իրավիճակի որևէ համար:"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Շտապ կանչերը հասանելի չեն"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Միայն սարքի սեփականատերը կարող է մուտքագրել PIN/PUK կոդերը:"</string>
     <string name="police_type_description" msgid="2819533883972081757">"Ոստիկանություն"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Շտապ օգնություն"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Հրշեջ ծառայություն"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"RTT գործառույթը հասանելի չէ ռոումինգում"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY-ն անջատված է"</item>
     <item msgid="1449091874731375214">"Լիարժեք TTY"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Զանգերի արգելափակման կարգավորումներն անջատվեցին"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Փոխել գաղտնաբառը"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Փոխել զանգերի արգելափակման գաղտնաբառը"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Չհաջողվեց փոխել զանգերի արգելափակման գաղտնաբառը:"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Չհաջողվեց փոխել զանգերի արգելափակման գաղտնաբառը"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Գաղտնաբառերը չեն համընկնում"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Մուտքագրեք 4 թվից բաղկացած գաղտնաբառ"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Գաղտնաբառը փոխվեց"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Հաստատել գաղտնաբառը"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Մուտքագրեք գաղտնաբառը"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Զանգերի արգելափակման կարգավորումներ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Անջատե՞լ զանգերի արգելափակման բոլոր կարգավորումները"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Ցանցը զբաղված է: Ավելի ուշ նորից փորձեք զանգել:"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Ցանցը ծանրաբեռնված է: Օգնության համար դիմեք ձեր բջջային օպերատորին:"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Զանգը վերահասցեավորվեց:"</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Տեսազանգերի նախապատրաստում"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi զանգերի նախապատրաստում"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/ներկայության տրամադրում"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS տվյալներ"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Միացրեք DSDS-ը"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Բջջային ռադիոազդանշանի հզորությունը"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Դիտել SIM քարտի հասցեագիրքը"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Տեսնել ամրակցված հեռախոսահամարները"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Տեսնել ծառայությունների հեռախոսահամարները"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS ծառայության կարգավիճակը"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-ի կարգավիճակը"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Գրանցված է"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Գրանցված չէ"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Հասանելի"</string>
+    <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>\nVoice over LTE՝ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over 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_emergency" msgid="4763879891415016848">"Միայն շտապ կանչեր"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Ռադիոն անջատված է"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Ռոումինգ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ռոումինգում չէ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Անգործուն ռեժիմ"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Զանգ"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Զանգն ընթանում է"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Անջատված է"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Միացում"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Միացված է"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Անջատված է"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Անհայտ"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"բայթ"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Ընթացիկ հավելյալ ID՝"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SIM քարտի հավելյալ ID կանխադրված բջջային ինտերնետի համար՝"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL թողունակությունը (կբ/վ)՝"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL թողունակությունը (կբ/վ)՝"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Բջիջի տեղադրության տվյալներ (հնացած)՝"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ֆիզիկական ալիքի կարգավորում՝"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Բջիջի տվյալների թարմացման հաճախականությունը՝"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Բոլոր բջիջների չափման տվյալները՝"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Տվյալների ծառայություն՝"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Ռոումինգ`"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Զանգի վերահասցեավորում՝"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP վերակայումների քանակը նախորդ բեռնումից հետո`"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Ընթացիկ ցանցը`"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Ստացված տվյալները`"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Ձայնային ծառայություն՝"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Ազդանշանի հզորությունը`"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Ձայնային զանգի կարգավիճակը՝"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Ուղարկված տվյալները՝"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Հաղորդագրության սպասում՝"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Հեռախոսահամար`"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Փինգ հանգույցի անուն(www.google.com) IPv6՝"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP սպասառուի թեստ՝"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"Փոխարկել DNS ստուգումը"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-հատուկ տեղեկություններ/կարգավորումներ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Կարգավորել հաճախությունների շերտի ռեժիմը"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Շերտերի ցուցակը բեռնվում է…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Կարգավորել"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Խափանում"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Հաջող"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Պլանշետի տեղեկություններ"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Հեռախոսի տեղեկություններ"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Օպերատորի նախապատրաստման տվյալներ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Գործարկել օպերատորի նախապատրաստումը"</string>
 </resources>
diff --git a/res/values-in/config.xml b/res/values-in/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-in/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index eb4871d..ac4b8d2 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Nomor pribadi"</string>
     <string name="payphone" msgid="7936735771836716941">"Telepon Umum"</string>
     <string name="onHold" msgid="6132725550015899006">"Ditangguhkan"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Message"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Pesan Operator"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Kode MMI dimulai"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Kode USSD sedang berjalan…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Kode MMI dibatalkan"</string>
@@ -133,7 +135,7 @@
     <string name="stk_cc_ss_to_dial_error" msgid="5147693491690618704">"Permintaan SS diubah ke panggilan reguler"</string>
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"Permintaan SS diubah ke permintaan USSD"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"Diubah ke permintaan SS baru"</string>
-    <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"Permintaan SS diubah ke video call"</string>
+    <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"Permintaan SS diubah ke panggilan video"</string>
     <string name="fdn_check_failure" msgid="1833769746374185247">"Setelan Nomor Panggilan Tetap aplikasi Ponsel Anda diaktifkan. Akibatnya, beberapa fitur yang terkait dengan panggilan tidak bekerja."</string>
     <string name="radio_off_error" msgid="8321564164914232181">"Keluar dari mode pesawat sebelum melihat setelan ini."</string>
     <string name="close_dialog" msgid="1074977476136119408">"Oke"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Khusus NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Mode jaringan pilihan: WCDMA lebih disukai"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Mode jaringan pilihan: GSM saja"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Mode jaringan yang disukai: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Mode jaringan yang disukai: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Mode jaringan yang disukai: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Mode jaringan pilihan: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Mode jaringan yang disukai: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Mode jaringan yang disukai: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Mode jaringan pilihan: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Mode jaringan pilihan: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Mode jaringan pilihan: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Mode jaringan pilihan: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Mode jaringan pilihan: khusus NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Mode jaringan pilihan: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Mode jaringan pilihan: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Mode jaringan pilihan: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Mode jaringan pilihan: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Mode jaringan pilihan: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Mode jaringan pilihan: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Mode jaringan pilihan: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Mode jaringan pilihan: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Mode jaringan pilihan: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Mode jaringan pilihan: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Memanggil"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Jaringan"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Mode LTE 4G yang Ditingkatkan"</string>
@@ -261,7 +286,7 @@
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"Fungsi SIM terbatas"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"Layanan data dan panggilan <xliff:g id="CARRIER_NAME">%1$s</xliff:g> dapat diblokir saat menggunakan <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
     <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Layanan data dan panggilan <xliff:g id="CARRIER_NAME">%1$s</xliff:g> dapat diblokir saat menggunakan SIM lain."</string>
-    <string name="data_usage_title" msgid="8438592133893837464">"Penggunaan kuota aplikasi"</string>
+    <string name="data_usage_title" msgid="8438592133893837464">"Penggunaan data aplikasi"</string>
     <string name="data_usage_template" msgid="6287906680674061783">"<xliff:g id="ID_1">%1$s</xliff:g> data seluler digunakan pada <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="advanced_options_title" msgid="9208195294513520934">"Lanjutan"</string>
     <string name="carrier_settings_euicc" msgid="1190237227261337749">"Operator"</string>
@@ -274,7 +299,7 @@
     <string name="sim_change_data_title" msgid="9142726786345906606">"Ubah SIM data?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Gunakan <xliff:g id="NEW_SIM">%1$s</xliff:g> dan bukan <xliff:g id="OLD_SIM">%2$s</xliff:g> untuk data seluler?"</string>
     <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Panggilan Wi-Fi"</string>
-    <string name="video_calling_settings_title" msgid="342829454913266078">"Video call operator"</string>
+    <string name="video_calling_settings_title" msgid="342829454913266078">"Panggilan video operator"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"Opsi GSM//UMTS"</string>
     <string name="cdma_options" msgid="3669592472226145665">"Opsi CDMA"</string>
     <string name="throttle_data_usage" msgid="1944145350660420711">"Penggunaan kuota"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-kategori"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multi-kategori diaktifkan"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multi-kategori dinonaktifkan"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (direkomendasikan)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (disarankan)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (disarankan)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -420,7 +446,7 @@
     <string name="tty_mode_option_summary" msgid="4770510287236494371">"Setel Mode TTY"</string>
     <string name="auto_retry_mode_title" msgid="2985801935424422340">"Coba lagi otomatis"</string>
     <string name="auto_retry_mode_summary" msgid="2863919925349511402">"Aktifkan mode Coba lagi otomatis"</string>
-    <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"Perubahan Mode TTY tidak diizinkan selama video call"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"Perubahan Mode TTY tidak diizinkan selama panggilan video"</string>
     <string name="menu_add" msgid="5616487894975773141">"Tambahkan kontak"</string>
     <string name="menu_edit" msgid="3593856941552460706">"Edit kontak"</string>
     <string name="menu_delete" msgid="6326861853830546488">"Hapus kontak"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Menghapus nomor panggilan tetap..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Nomor panggilan tetap dihapus."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN tidak diperbarui karena Anda memasukkan PIN yang salah."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN tidak diupdate karena nomor melebihi 20 digit."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN tidak diupdate karena nomor melebihi <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digit."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN tidak diperbarui. PIN2 salah, atau nomor telepon ditolak."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operasi FDN gagal."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Membaca dari kartu SIM…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Tidak dapat menelepon. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bukan nomor darurat."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Tidak dapat menelepon. Panggil nomor darurat."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Panggilan darurat tidak tersedia"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Hanya pemilik perangkat yang dapat memasukkan kode PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Kantor Polisi"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulans"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Pemadam Kebakaran"</string>
@@ -545,7 +572,7 @@
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"Kelola panggilan"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"Kelola konferensi"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"Audio"</string>
-    <string name="onscreenVideoCallText" msgid="1743992456126258698">"Video call"</string>
+    <string name="onscreenVideoCallText" msgid="1743992456126258698">"Panggilan video"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"Impor"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"Impor semua"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"Mengimpor kontak dari SIM"</string>
@@ -556,7 +583,8 @@
     <string name="hac_mode_summary" msgid="7774989500136009881">"Aktifkan kompatibilitas alat bantu dengar"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Panggilan pesan real-time (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Izinkan pengiriman pesan pada saat panggilan suara berlangsung"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT membantu penelepon yang tunarungu, kesulitan mendengar, memiliki gangguan berbicara, atau memerlukan lebih dari sekadar suara.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Pelajari lebih lanjut&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Panggilan RTT disimpan sebagai transkrip pesan\n       &lt;br&gt; - RTT tidak tersedia untuk video call"</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT membantu penelepon yang tunarungu, kesulitan mendengar, memiliki gangguan berbicara, atau memerlukan lebih dari sekadar suara.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Pelajari lebih lanjut&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Panggilan RTT disimpan sebagai transkrip pesan\n       &lt;br&gt; - RTT tidak tersedia untuk panggilan video"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Catatan: RTT tidak tersedia saat melakukan roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY Nonaktif"</item>
     <item msgid="1449091874731375214">"TTY Penuh"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ya"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Tidak"</string>
     <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="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>
@@ -626,8 +660,8 @@
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Ubah PIN"</string>
     <string name="preference_category_ringtone" msgid="8787281191375434976">"Nada dering &amp; Getar"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"Kartu SIM internal"</string>
-    <string name="enable_video_calling_title" msgid="7246600931634161830">"Aktifkan video call"</string>
-    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Untuk mengaktifkan video call, Anda perlu mengaktifkan Mode LTE 4G yang Ditingkatkan di setelan jaringan."</string>
+    <string name="enable_video_calling_title" msgid="7246600931634161830">"Aktifkan panggilan video"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Untuk mengaktifkan panggilan video, Anda perlu mengaktifkan Mode LTE 4G yang Ditingkatkan di setelan jaringan."</string>
     <string name="enable_video_calling_dialog_settings" msgid="8697890611305307110">"Setelan jaringan"</string>
     <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Tutup"</string>
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"Panggilan darurat"</string>
@@ -642,8 +676,8 @@
     <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 tersambung, masukkan kartu SIM yang valid."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Sambungan Wi-Fi terputus. Panggilan diakhiri."</string>
-    <string name="dialFailed_low_battery" msgid="6857904237423407056">"Video call tidak bisa dilakukan karena daya baterai lemah."</string>
-    <string name="callFailed_low_battery" msgid="4056828320214416182">"Video call berakhir karena daya baterai lemah."</string>
+    <string name="dialFailed_low_battery" msgid="6857904237423407056">"Panggilan video tidak bisa dilakukan karena daya baterai lemah."</string>
+    <string name="callFailed_low_battery" msgid="4056828320214416182">"Panggilan video berakhir karena daya baterai lemah."</string>
     <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Panggilan darurat melalui panggilan Wi-Fi tidak tersedia di lokasi ini."</string>
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Panggilan Wi-Fi tidak tersedia di lokasi ini."</string>
     <string name="change_pin_title" msgid="3564254326626797321">"Ubah PIN Pesan Suara"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Pemblokiran panggilan dinonaktifkan"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Ubah sandi"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Ubah sandi pemblokiran panggilan"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Tidak dapat mengubah sandi pemblokiran panggilan."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Tidak dapat mengubah sandi pemblokiran panggilan"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Sandi tidak cocok"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Masukkan sandi dengan 4 angka"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Sandi diubah"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Konfirmasi sandi"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Masukkan sandi"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Setelan pemblokiran panggilan"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Nonaktifkan semua setelan pemblokiran panggilan?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Jaringan sedang sibuk. Coba hubungi lagi di lain waktu."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Jaringan sedang padat. Hubungi operator seluler Anda untuk mendapatkan bantuan."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Panggilan dialihkan."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, pastikan kuota internet dan roaming data diaktifkan untuk SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Anda dapat mengubahnya di setelan jaringan seluler."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Tutup"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Aktifkan Koneksi Data"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Nonaktifkan Koneksi Data"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Disediakan"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Panggilan Video Disediakan"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Panggilan Wi-Fi Disediakan"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence Disediakan"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Data Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Aktifkan DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Mulai Ulang Perangkat?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Lihat Nomor Panggilan Layanan"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status Layanan IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Status IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Terdaftar"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Tidak Terdaftar"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Tersedia"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Tidak tersedia"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Pendaftaran IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nSuara melalui LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nSuara melalui Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nPanggilan Video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nAntarmuka UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Dalam Layanan"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Di Luar Area Layanan"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Panggilan Darurat Saja"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio Nonaktif"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Tidak Roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Tidak ada aktivitas"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Berdering"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Panggilan sedang Berlangsung"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Terputus"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Menghubungkan"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Terhubung"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Ditangguhkan"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Tidak diketahui"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"byte"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"SubId saat ini:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId SIM data default:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Bandwidth DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Bandwidth UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Info Lokasi Sel (tidak digunakan lagi):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfigurasi Saluran Fisik LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Rasio Pembaruan Info Sel"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Semua Info Pengukuran Sel:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Layanan Data:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Pengalihan Panggilan:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Jumlah Setel Ulang PPP Sejak Boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Jaringan Saat Ini:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data Diterima:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Layanan Suara:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Kekuatan Sinyal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status Panggilan Suara:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data Terkirim:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Pesan Menunggu:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Nomor Telepon:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Uji Klien HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Jalankan Uji Ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"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="band_mode_title" msgid="7988822920724576842">"Setel Mode Band Radio"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Memuat Daftar Band…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Setel"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Gagal"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Berhasil"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Info tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Info telepon"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Info Provisioning Operator"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Memicu Provisioning Operator"</string>
 </resources>
diff --git a/res/values-is/config.xml b/res/values-is/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-is/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 2d88ceb..2beb290 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Leyninúmer"</string>
     <string name="payphone" msgid="7936735771836716941">"Símasjálfsali"</string>
     <string name="onHold" msgid="6132725550015899006">"Í bið"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Skilaboð"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Skilaboð frá símafyrirtæki"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-kóðaskipun ræst"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-kóðaskipun í gangi…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Hætt við MMI-kóðaskipun"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Aðeins NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Valin símkerfisstilling: WCDMA fyrsta val"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Valin símkerfisstilling: GSM eingöngu"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Valin símkerfisstilling: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Valin símkerfisstilling: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Valin símkerfisstilling: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Valin símkerfisstilling: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Valin símkerfisstilling: Alþjóðleg"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Valin símkerfisstilling: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Valið símkerfi: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Valin símkerfisstilling: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Valin símkerfisstilling: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Valin símkerfisstilling: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Valin símkerfisstilling: Aðeins NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Valin símkerfisstilling: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Valin símkerfisstilling: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Valin símkerfisstilling: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Valin símkerfisstilling: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Valin símkerfisstilling: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Valin símkerfisstilling: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Valin símkerfisstilling: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Valin símkerfisstilling: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Valin símkerfisstilling: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Valin símkerfisstilling: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Hringir"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Netkerfi"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"endurbætt 4G LTE-stilling"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Margir flokkar"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Kveikt á birtingu úr mörgum flokkum"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Slökkt á birtingu úr mörgum flokkum"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ráðlagt)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ráðlagt)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (ráðlagt)"</string>
     <string name="network_global" msgid="3289646154407617631">"Alþjóðlegt"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Eyða föstu númeravali…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Föstu númeravali eytt."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Fast númeraval var ekki uppfært því að þú slóst inn rangt PIN-númer."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Fast númeraval var ekki uppfært vegna þess að númerið er lengra en 20 tölustafir."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Fast númeraval var ekki uppfært vegna þess að númerið er lengra en <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> tölustafir."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Fast númeraval var ekki uppfært. PIN2-númerið var rangt eða símanúmerinu var hafnað."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Aðgerð fasts númeravals mistókst."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Les af SIM-korti…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Ekki hægt að hringja. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ekki neyðarnúmer."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Ekki hægt að hringja. Hringdu í neyðarnúmer."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Neyðarsímtöl eru ekki í boði"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Aðeins eigandi tækisins getur slegið inn PIN/PUK-kóða."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Lögregla"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Sjúkrabíll"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Eldur"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"RTT-símtal (með texta í rauntíma)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Leyfa skilaboðasendingar í símtölum"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT (símtöl með texta í rauntíma) aðstoðar heyrnarlausa og fólk með heyrnarskerðingu eða skerta talgetu og þá sem þurfa að styðja sig við meira en bara hljóð.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Frekari upplýsingar&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT-símtöl eru vistuð í umrituðum skilaboðum\n       &lt;br&gt; - RTT er ekki í boði fyrir myndsímtöl"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Athugaðu: RTT er ekki í boði í reiki"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Slökkt á TTY"</item>
     <item msgid="1449091874731375214">"TTY að fullu"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Já"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nei"</string>
     <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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Slökkt á útilokun símtala"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Breyta aðgangsorði"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Breyta aðgangsorði fyrir útilokun símtala"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Ekki var hægt að breyta aðgangsorði fyrir útilokun símtala."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Ekki var hægt að breyta aðgangsorði fyrir útilokun símtala"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Aðgangsorðin stemma ekki."</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Sláðu inn aðgangsorð sem inniheldur fjóra tölustafi."</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Aðgangsorði breytt"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Staðfesta aðgangsorð"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Slá inn aðgangsorð"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Stillingar fyrir útilokun símtala"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Slökkva á öllum stillingum fyrir útilokun símtala?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Símkerfið er upptekið. Reyndu að hringja aftur síðar."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Símkerfið er upptekið. Fáðu aðstoð hjá símafyrirtækinu þínu."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Símtal flutt."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Til að nota <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> skaltu ganga úr skugga um að kveikt sé á farsímagögnum og gagnareiki fyrir SIM-kortið <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Þú getur breytt þessu í stillingum farsímakerfis."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Hunsa"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Kveikja á gagnatengingu"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Slökkva á gagnatengingu"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-úthlutun"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Myndsímtali úthlutað"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi símtali úthlutað"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/viðveru úthlutað"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-gögn"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Virkja DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Endurræsa tæki?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Skoða þjónustunúmer"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Þjónustustaða IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Staða IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Skráð"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Ekki skráð"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Viðlátin(n)"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Ekki í boði"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Skráning IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nRödd með LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nRödd með Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nMyndsímtöl: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT viðmót: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Innan þjónustusvæðis"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Utan þjónustusvæðis"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Aðeins neyðarsímtöl"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Slökkt á loftneti"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Reiki"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ekki í reiki"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Óvirkt"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Hringir"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Símtal í gangi"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Aftengt"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Tengist"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Tengt"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Lokað tímabundið"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Óþekkt"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pk."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bæti"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Núverandi undirauðkenni:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Undirauðkenni sjálfgefins SIM-korts fyrir gögn:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Niðurhalsbandvídd (kb/sek.):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Upphleðslubandvídd (kb/sek.):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Staðsetningarupplýsingar loftneta (úrelt):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE-rásarstilling:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Endurnýjunartíðni loftnetaupplýsinga:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Allar mælingarupplýsingar loftneta:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Gagnaþjónusta:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Reiki:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Símtalsflutningur:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Fjöldi PPP-endurstillinga frá ræsingu:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Núverandi kerfi:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Gögn móttekin:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Raddþjónusta:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Sendistyrkur:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Staða símtals:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Gögn send:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Skilaboð í bið:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Símanúmer:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Prófun HTTP-biðlara:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Keyra ping-próf"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Uppfæra"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Velja útvarpstíðni"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Hleður lista yfir tíðnisvið…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Stilla"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Mistókst"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Heppnaðist"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Upplýsingar um spjaldtölvu"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Upplýsingar um síma"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Úthlutunarupplýsingar símafyrirtækis"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Kveikja á úthlutun símafyrirtækis"</string>
 </resources>
diff --git a/res/values-it/config.xml b/res/values-it/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-it/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 58488ff..9f53607 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Numero privato"</string>
     <string name="payphone" msgid="7936735771836716941">"Cabina telefonica"</string>
     <string name="onHold" msgid="6132725550015899006">"In attesa"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Messaggio <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Messaggio dell\'operatore"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Codice MMI avviato"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Esecuzione codice USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Codice MMI annullato"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Solo NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modalità di rete preferita: WCDMA (preferita)"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modalità di rete preferita: solo GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Modalità di rete preferita: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Modalità di rete preferita: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Modalità di rete preferita: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Modalità di rete preferita: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Modalità di rete preferita: globale"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Modalità di rete preferita: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modalità di rete preferita: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Modalità di rete preferita: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Modalità di rete preferita: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Modalità di rete preferita: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Modalità di rete preferita: solo NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Modalità di rete preferita: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Modalità di rete preferita: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Modalità di rete preferita: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Modalità di rete preferita: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Modalità di rete preferita: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Modalità di rete preferita: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Modalità di rete preferita: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Modalità di rete preferita: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Modalità di rete preferita: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Modalità di rete preferita: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Chiamata in corso"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Rete"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Modalità 4G LTE avanzata"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multicategoria"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multicategoria attivata"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multicategoria disattivata"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (consigliata)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (opzione consigliata)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (opzione consigliata)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globale"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Eliminazione numero selezione fissa..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Numero di selezione fissa eliminato."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Numeri consentiti non aggiornati perché il PIN inserito non è corretto."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"I numeri consentiti non sono stati aggiornati perché il numero supera le 20 cifre."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"I numeri consentiti non sono stati aggiornati perché il numero supera le <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> cifre."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Numeri consentiti non aggiornati. Il codice PIN2 non era corretto o il numero di telefono è stato rifiutato."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operazione numeri consentiti non riuscita."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lettura da SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Impossibile chiamare. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> non è un numero di emergenza."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Impossibile chiamare. Componi un numero di emergenza."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Chiamate di emergenza non disponibili"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Solo il proprietario del dispositivo può inserire i codici PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polizia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulanza"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Vigili del fuoco"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Chiamate con Real-time text (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Consenti l\'utilizzo di messaggi durante le chiamate vocali"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT aiuta i chiamanti con disabilità uditive o del linguaggio e le persone che hanno bisogno di un supporto scritto oltre alla voce.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Ulteriori informazioni&lt;/a&gt;\n &lt;br&gt;&lt;br&gt; - Le chiamate RTT vengono salvate come una trascrizione in messaggi\n &lt;br&gt; - RTT non è disponibile per le videochiamate"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Nota: la funzionalità RTT non è disponibile in roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY disattivato"</item>
     <item msgid="1449091874731375214">"TTY completo"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sì"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Blocco chiamate disattivato"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Modifica password"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Modifica la password di blocco chiamate"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Impossibile modificare la password di blocco chiamate."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Impossibile modificare la password di blocco chiamate"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Le password non corrispondono"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Inserisci una password con 4 numeri"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Password modificata"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Conferma password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Inserisci password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Impostazioni di blocco chiamate"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Disattivare tutte le impostazioni di blocco chiamate?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"La rete è occupata. Riprova a chiamare di nuovo più tardi."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"La rete è congestionata. Contatta il tuo gestore di telefonia mobile per ricevere assistenza."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Chiamata deviata."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Per utilizzare <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, assicurati che i dati mobili e il roaming dei dati siano attivi per la SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puoi modificare queste opzioni nelle impostazioni della rete mobile."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ignora"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Abilita connessione dati"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disabilita connessione dati"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Provisioning VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videochiamate fornite"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Chiamate tramite Wi-Fi fornite"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Provisioning EAB/Presence completato"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Dati CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Abilita DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Riavviare il dispositivo?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Visualizza numeri dell\'elenco dei numeri di servizio"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Stato del servizio IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Stato IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrato"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Non registrato"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponibile"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Non disponibile"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registrazione IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nChiamate tramite LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nChiamate tramite Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochiamata: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfaccia UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In servizio"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Fuori servizio"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Solo chiamate di emergenza"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Segnale radio off"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"In roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Non in roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inattivo"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Squillo in corso"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Chiamata in corso"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Disconnesso"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connessione"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connesso"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Sospeso"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Sconosciuto"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkt"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"byte"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"Sistema di identificazione contenuti"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ID secondario corrente:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ID secondario della SIM dati predefinita:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Larghezza di banda DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Larghezza di banda UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informazioni sulla posizione delle celle (obsoleto):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configurazione canale fisico LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Frequenza di aggiornamento delle informazioni sulle celle:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Informazioni sulla misurazione di tutte le celle:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Servizio dati:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Reindirizzamento chiamate:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Numero di PPP reimpostati dall\'avvio:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Rete corrente:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Dati ricevuti:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Servizio vocale:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Intensità del segnale:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Stato della chiamata vocale:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Dati inviati:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Messaggio in attesa:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Numero di telefono:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping nome host (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test client HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Invia ping di test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Aggiorna"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Imposta modalità banda radio"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Caricamento elenco bande…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Imposta"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Operazione non riuscita"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Operazione riuscita"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Info tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Info telefono"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informazioni sul provisioning operatore"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Attiva provisioning operatore"</string>
 </resources>
diff --git a/res/values-iw/config.xml b/res/values-iw/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-iw/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 4f42376..a2a2f69 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"מספר פרטי"</string>
     <string name="payphone" msgid="7936735771836716941">"טלפון ציבורי"</string>
     <string name="onHold" msgid="6132725550015899006">"בהמתנה"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"הודעה דרך <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"הודעה מהספק הסלולרי"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"‏קוד MMI הופעל"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"‏קוד USSD פועל…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"‏קוד MMI מבוטל"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"‏NR בלבד"</item>
+    <item msgid="2935877729588775187">"‏NR‏/LTE"</item>
+    <item msgid="8967513231424970529">"‏NR‏/LTE‏/CDMA‏/EvDo"</item>
+    <item msgid="1542643426479755015">"‏NR‏/LTE‏/GSM‏/WCDMA"</item>
+    <item msgid="5778162260258129841">"‏NR‏/LTE‏/CDMA‏/EvDo‏/GSM‏/WCDMA"</item>
+    <item msgid="8088614845214545367">"‏NR‏/LTE‏/WCDMA"</item>
+    <item msgid="6517428040626326776">"‏NR‏/LTE‏/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"‏NR‏/LTE‏/TDSCDMA‏/GSM"</item>
+    <item msgid="4130965694947056705">"‏NR/‏LTE/‏TDSCDMA‏/WCDMA"</item>
+    <item msgid="3869566732842046032">"‏NR‏/LTE‏/TDSCDMA‏/GSM‏/WCDMA"</item>
+    <item msgid="3942770927563146543">"‏NR‏/LTE‏/TDSCDMA‏/CDMA‏/EvDo‏/GSM‏/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"‏מצב רשת מועדפת: WCDMA מועדף"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"‏מצב רשת מועדפת: GSM בלבד"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"‏מצב רשת מועדף: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"‏מצב רשת מועדף: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"‏מצב רשת מועדף: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"‏מצב רשת מועדפת: LTE‏/CDMA‏/EvDo‏/GSM‏/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"מצב רשת מועדף: גלובלי"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"‏מצב רשת מועדף: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"‏מצב רשת מועדף: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"‏מצב רשת מועדף: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"‏מצב רשת מועדף: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"‏מצב רשת מועדף: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"‏מצב רשת מועדפת: NR בלבד"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"‏מצב רשת מועדפת: NR ‏/ LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"‏מצב רשת מועדפת: NR‏/LTE‏/CDMA‏/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"‏מצב רשת מועדפת: NR‏/LTE‏/GSM‏/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"‏מצב רשת מועדפת: NR‏/LTE‏/CDMA‏/EvDo‏/GSM‏/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"‏מצב רשת מועדפת: NR‏/LTE‏/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"‏מצב רשת מועדפת: NR‏/LTE‏/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"‏מצב רשת מועדפת: NR‏/LTE‏/TDSCDMA‏/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"‏מצב רשת מועדפת: NR‏/LTE‏/TDSCDMA‏/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"‏מצב רשת מועדפת: NR‏/LTE‏/TDSCDMA‏/GSM‏/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"‏מצב רשת מועדפת: NR‏/LTE‏/TDSCDMA‏/CDMA‏/EvDo‏/GSM‏/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"שיחות"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"רשת"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"‏מצב 4G LTE משופר"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ריבוי קטגוריות"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"ריבוי קטגוריות מופעל"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ריבוי קטגוריות מושבת"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (מומלץ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"‏LTE (מומלץ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"‏4G (מומלץ)"</string>
     <string name="network_global" msgid="3289646154407617631">"גלובלי"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"מוחק מספר חיוג קבוע..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"מספר חיוג קבוע נמחק."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"רשימת מספרי חיוג קבועים לא עודכנה מכיוון שקוד הגישה שגוי."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"‏ה-FDN לא עודכן בגלל שהמספר ארוך מ-20 תווים."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"‏מספר ה-FDN לא עודכן כי הוא מכיל יותר מ-<xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> ספרות."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"רשימת מספרי החיוג הקבועים לא עודכנה. קוד הגישה היה שגוי או שמספר הטלפון נדחה."</string>
     <string name="fdn_failed" msgid="216592346853420250">"‏פעולת FDN נכשלה."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"‏קורא מכרטיס SIM…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"לא ניתן להתקשר. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> אינו מספר חירום."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"לא ניתן להתקשר. חייג למספר חירום."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"אי אפשר לבצע שיחות חירום"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"‏רק הבעלים של המכשיר יכול להזין קודי אימות/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"משטרה"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"אמבולנס"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"אש"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"‏הערה: אי אפשר להשתמש ב-RTT בזמן נדידה"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"‏TTY כבוי"</item>
     <item msgid="1449091874731375214">"‏TTY מלא"</item>
@@ -613,6 +641,14 @@
     <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="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>
     <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>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"חסימת השיחות הושבתה"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"שינוי הסיסמה"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"שינוי הסיסמה לחסימת שיחות"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"אי אפשר לשנות את הסיסמה לחסימת שיחות."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"אי אפשר לשנות את הסיסמה לחסימת שיחות"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"הסיסמאות לא תואמות"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"צריך להזין סיסמה בת 4 ספרות"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"הסיסמה שונתה"</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"אישור הסיסמה"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"זה המקום להזין סיסמה"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ההגדרות של חסימת שיחות"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"להשבית את כל ההגדרות של חסימת שיחות?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"יש עומס על הרשת. אפשר לנסות להתקשר שוב מאוחר יותר."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"יש עומס על הרשת. אפשר לפנות לספק הסלולרי לקבלת עזרה."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"השיחה נותבה למספר אחר."</string>
@@ -791,4 +826,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ניהול תצורה של שיחות וידאו"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"‏ניהול תצורה של שיחות Wifi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"‏ניהול תצורה של נוכחות/EAB מופעל"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"‏נתוני CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"‏הפעלת DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"הפעלה של רדיו סלולרי"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏הצגת פנקס כתובות של SIM"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"הצגת מספרי חיוג קבועים"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"מספרי חיוג לשירות"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"‏סטטוס שירות IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"‏סטטוס IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"רשום"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"לא רשום"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"זמין"</string>
+    <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>\nVoice over LTE:‏ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi:‏ <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nשיחות וידאו: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nממשק UT:‏ <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_emergency" msgid="4763879891415016848">"שיחות חירום בלבד"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"כיבוי הרדיו"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"נדידה"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"לא בנדידה"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"לא פעיל"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"מושמע צלצול"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"שיחה מתבצעת"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"מנותק"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"מתבצעת התחברות"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"מקושר"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"בהשעיה"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"לא ידוע"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"בייטים"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"תת-מזהה נוכחי:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"‏תת-מזהה של כרטיס ה-SIM עם חבילת גלישה המוגדר כברירת מחדל:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"‏רוחב פס DL (ב-kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"‏רוחב פס UL (ב-kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"מידע על מיקום סלולרי (הוצא משימוש):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"‏תצורת ערוץ פיזי של LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"קצב רענון של מידע סלולרי:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"כל המידע של מדידה סלולרית:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"שירות נתונים:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"נדידה:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"הפניה מחדש של שיחה:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"‏מספר איפוסי PPP מאז ההפעלה:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"רשת נוכחית:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"הנתונים שהתקבלו:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"שירות קולי:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"עוצמת אות:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"סטטוס שיחה קולית:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"הנתונים נשלחו:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"הודעה ממתינה:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"מספר טלפון:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"‏נדנוד לשם המארח (www.google.com) מסוג IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"‏בדיקת לקוח HTTP:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"‏החלפת מצב של בדיקת DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"‏מידע/הגדרות ספציפיים ל-OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"הגדרת מצב תדרים של רדיו"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"טוען רשימת תדרים…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"הגדרה"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"נכשל"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"עבר בהצלחה"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"פרטי טאבלט"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"פרטי טלפון"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"פרטי ניהול תצורה של ספק סלולרי"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"הפעלת ניהול תצורה של ספק סלולרי"</string>
 </resources>
diff --git a/res/values-ja/config.xml b/res/values-ja/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ja/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index f286c38..e6e04d7 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"非通知設定"</string>
     <string name="payphone" msgid="7936735771836716941">"公衆電話"</string>
     <string name="onHold" msgid="6132725550015899006">"保留中"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> からのメッセージ"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"携帯通信会社独自のメッセージ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMIコードの開始"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSDコードを実行中..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMIコードはキャンセルされました"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE / TDSCDMA / GSM / WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA / CDMA / EV-DO / GSM / WCDMA"</item>
     <item msgid="6284311629324843506">"LTE / TDSCDMA / CDMA / EV-DO / GSM / WCDMA"</item>
+    <item msgid="4738087170533378966">"NR のみ"</item>
+    <item msgid="2935877729588775187">"NR / LTE"</item>
+    <item msgid="8967513231424970529">"NR / LTE / CDMA / EV-DO"</item>
+    <item msgid="1542643426479755015">"NR / LTE / GSM / WCDMA"</item>
+    <item msgid="5778162260258129841">"NR / LTE / CDMA / EV-DO / GSM / WCDMA"</item>
+    <item msgid="8088614845214545367">"NR / LTE / WCDMA"</item>
+    <item msgid="6517428040626326776">"NR / LTE / TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR / LTE / TDSCDMA / GSM"</item>
+    <item msgid="4130965694947056705">"NR / LTE / TDSCDMA / WCDMA"</item>
+    <item msgid="3869566732842046032">"NR / LTE / TDSCDMA / GSM / WCDMA"</item>
+    <item msgid="3942770927563146543">"NR / LTE / TDSCDMA / CDMA / EV-DO / GSM / WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"優先ネットワークモード: WCDMA優先"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"優先ネットワークモード: GSMのみ"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"優先ネットワークモード: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"優先ネットワークモード: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"優先ネットワークモード: CDMA+LTE/EV-DO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"優先ネットワーク モード: LTE / CDMA / CDMA / EV-DO / GSM / WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"優先ネットワークモード: グローバル"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"優先ネットワークモード: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"推奨ネットワークモード: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"優先ネットワーク モード: LTE / TDSCDMA / GSM / WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"優先ネットワーク モード: TDSCDMA / CDMA / EV-DO / GSM / WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"優先ネットワーク モード: LTE / TDSCDMA / CDMA / EV-DO / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"優先ネットワーク モード: NR のみ"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"優先ネットワーク モード: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"優先ネットワーク モード: NR / LTE / CDMA / EV-DO"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"優先ネットワーク モード: NR / LTE / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"優先ネットワーク モード: NR / LTE / CDMA / EV-DO / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"優先ネットワーク モード: NR / LTE / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"優先ネットワーク モード: NR / LTE / TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"優先ネットワーク モード: NR / LTE / TDSCDMA / GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"優先ネットワーク モード: NR / LTE / TDSCDMA / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"優先ネットワーク モード: NR / LTE / TDSCDMA / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"優先ネットワーク モード: NR / LTE / TDSCDMA / CDMA / EV-DO / GSM / WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"通話"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ネットワーク"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"4G LTE拡張モード"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"複数カテゴリ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"複数カテゴリは有効になっています"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"複数カテゴリは無効になっています"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (推奨)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE(推奨)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G(推奨)"</string>
     <string name="network_global" msgid="3289646154407617631">"グローバル"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"発信番号制限を削除しています..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"発信番号制限を削除しました。"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"発信番号制限は更新されませんでした。入力したPINは正しくありません。"</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN は更新されませんでした。20 桁を超える番号は指定できません。"</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">"発信番号制限は更新されませんでした。PIN2が正しくないか、電話番号が拒否されました。"</string>
     <string name="fdn_failed" msgid="216592346853420250">"発信番号制限操作に失敗しました。"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIMカードから読み取り中..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"発信できません。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>は緊急通報番号ではありません。"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"発信できません。緊急通報番号におかけください。"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"緊急通報はご利用いただけません"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"PIN コードと PUK コードを入力できるのはデバイスの所有者のみとなります。"</string>
     <string name="police_type_description" msgid="2819533883972081757">"警察"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"救急車"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"消防車"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"注: ローミング中に RTT を利用することはできません"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY OFF"</item>
     <item msgid="1449091874731375214">"TTY フル"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"サービス"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"セットアップ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未設定&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"通話制限が無効になりました"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"パスワードを変更"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"通話制限パスワードを変更"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"通話制限パスワードを変更できません。"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"通話制限パスワードを変更することはできません"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"パスワードが一致しません"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 桁の数字のパスワードを入力"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"パスワードが変更されました"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"パスワードを確認"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"パスワードを入力"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"通話制限設定"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"通話制限設定をすべて無効にしますか?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ネットワークがビジー状態です。しばらくしてからもう一度通話を発信してみてください。"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ネットワークが混雑しています。サポートが必要な場合は携帯通信会社にお問い合わせください。"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"通話が転送されました。"</string>
@@ -787,4 +820,91 @@
     <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>
     <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> のモバイルデータとデータ ローミングが ON になっている必要があります。これらの ON と OFF の切り替えは、モバイル ネットワーク設定で行えます。"</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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ビデオ通話プロビジョニング有効"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi 通話プロビジョニング有効"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB / プレゼンス プロビジョニング有効"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS データ"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS を有効にする"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"モバイル無線電力"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM のアドレス帳を表示"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"発信番号制限を表示"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"サービス電話番号を表示"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS サービスのステータス"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS ステータス"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"登録済み"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"未登録"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"使用可能"</string>
+    <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_emergency" msgid="4763879891415016848">"緊急通報のみ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"無線通信 OFF"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ローミング"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ローミングなし"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"アイドル状態"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"着信中"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"通話中"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"未接続"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"接続しています"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"接続済み"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"停止中"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"不明"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"バイト"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"現在の SUBID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"デフォルトのデータ SIM の SUBID:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL 帯域幅(kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL 帯域幅(kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"セルの位置情報(サポート終了):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE の物理チャネル設定:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"セル情報の更新間隔:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"すべてのセルの測定情報:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"データサービス:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ローミング:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"通話のリダイレクト:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"起動後の PPP リセット回数:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"現在のネットワーク:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"受信データ:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"音声サービス:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"電波強度:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"音声通話のステータス:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"送信データ:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"メッセージ待機中:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"電話番号:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ホスト名(www.google.com)の ping(IPv6):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP クライアント テスト:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"ping テストの実行"</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_toggle_dns_check_label" msgid="1394078554927787350">"DNS チェックを切り替え"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM 固有の情報 / 設定"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"無線バンドモードの設定"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"バンドリストを読み込み中…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"失敗"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"成功"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"タブレット情報"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"スマートフォン情報"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"携帯通信会社のプロビジョニング情報"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"携帯通信会社のプロビジョニングをトリガー"</string>
 </resources>
diff --git a/res/values-ka/config.xml b/res/values-ka/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ka/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index a779637..7a87211 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"დაფარული ნომერი"</string>
     <string name="payphone" msgid="7936735771836716941">"გადახდის ტელეფონი"</string>
     <string name="onHold" msgid="6132725550015899006">"შეყოვნების რეჟიმში"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>-ის შეტყობინება"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"ოპერატორის შეტყობინება"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI კოდი დაიწყო"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD კოდი გაშვებულია…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI კოდი გაუქმდა"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"მხოლოდ NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ქსელის სასურველი რეჟიმი: WCDMA უპირატესობა"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ქსელის სასურველი რეჟიმი: მხოლოდ GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ქსელის სასურველი რეჟიმი: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ქსელის სასურველი რეჟიმი: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ქსელის სასურველი რეჟიმი: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"ქსელის სასურველი რეჟიმი: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ქსელის სასურველი რეჟიმი: გლობალური"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ქსელის სასურველი რეჟიმი: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"სასურველი ქსელის რეჟიმი: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"ქსელის უპირატესი რეჟიმი: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"ქსელის უპირატესი რეჟიმი: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"ქსელის უპირატესი რეჟიმი: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"ქსელის სასურველი რეჟიმი: მხოლოდ NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"ქსელის სასურველი რეჟიმი: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"ქსელის სასურველი რეჟიმი: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"ქსელის სასურველი რეჟიმი: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"ქსელის სასურველი რეჟიმი: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"ქსელის სასურველი რეჟიმი: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"ქსელის სასურველი რეჟიმი: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"ქსელის სასურველი რეჟიმი: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"ქსელის სასურველი რეჟიმი: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"ქსელის სასურველი რეჟიმი: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"ქსელის სასურველი რეჟიმი: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"დარეკვა"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ქსელი"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"გაუმჯობესებული 4G LTE რეჟიმი"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"მრავალკატეგორიანი"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"მრავალი კატეგორია ჩართულია"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"მრავალი კატეგორია გამორთულია"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (რეკომენდებული)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (რეკომენდებული)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (რეკომენდებული)"</string>
     <string name="network_global" msgid="3289646154407617631">"გლობალური"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDN არ განახლებულა, რადგან რიცხვი 20 ციფრზე მეტს შეიცავს."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN არ განახლებულა, რადგან ნომერი <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> ციფრზე მეტს შეიცავს."</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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"არ ირეკება. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> არ არის საგანგებო ნომერი."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"დარეკვა ვერ ხორციელდება. აკრიფეთ საგანგებო ნომერი."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"გადაუდებელი ზარი მიუწვდომელია"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"PIN/PUK კოდების შეყვანა მხოლოდ მოწყობილობის მფლობელს შეუძლია."</string>
     <string name="police_type_description" msgid="2819533883972081757">"პოლიცია"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"სასწრაფო"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"სახანძრო"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"შენიშვნა: RTT მიუწვდომელია როუმინგის დროს"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY გამორთულია"</item>
     <item msgid="1449091874731375214">"TTY სრული"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"სერვისი"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"დაყენება"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;არ არის დაყენებული&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ზარების აკრძალვის დეაქტივაცია"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"პაროლის შეცვლა"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"ზარების აკრძალვის პაროლის შეცვლა"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"ზარების აკრძალვის პაროლის შეცვლა შეუძლებელია."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"ზარების აკრძალვის პაროლის შეცვლა შეუძლებელია"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"პაროლები არ ემთხვევა"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"შეიყვანეთ პაროლი 4 ციფრით"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"პაროლი შეიცვალა"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"დაადასტურეთ პაროლი"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"შეიყვანეთ პაროლი"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ზარების აკრძალვის პარამეტრები"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"გსურთ ზარების აკრძალვის ყველა პარამეტრის დეაქტივაცია?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ქსელი დაკავებულია. გთხოვთ, სცადოთ დარეკვა მოგვიანებით."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ქსელი დატვირთულია. დახმარებისთვის დაუკავშირდით თქვენს მობილურ ოპერატორს."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"მოხდა ზარის აცილება."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ვიდეოზარი უზრუნველყოფილია"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi დარეკვა უზრუნველყოფილია"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence უზრუნველყოფილია"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS მონაცემები"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS-ის ჩართვა"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"მობილური რადიოკავშირის ელკვება"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM-ის მისამართების წიგნის ნახვა"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"დაშვებული ნომრების ნახვა"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"სერვისის დარეკილი ნომრების ნახვა"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS სერვისის სტატუსი"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-ის სტატუსი"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"რეგისტრირებული"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"არარეგისტრირებული"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ხელმისაწვდომი"</string>
+    <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>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi: <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_emergency" msgid="4763879891415016848">"მხოლოდ გადაუდებელი ზარები"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"რადიოკავშირი გამორთულია"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"როუმინგი"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"როუმინგის გარეშე"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"უმოქმედო"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"ირეკება"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"მიმდინარეობს ზარი"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"კავშირი გაწყდა"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"მიმდინარეობს დაკავშირება"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"დაკავშირებულია"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"შეჩერებულია"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"უცნობი"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"პკტ."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ბაიტი"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ახლანდელი subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"მონაცემების ნაგულისხმევი SIM-ის subId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL-არხის გამტარუნარიანობა (კბიტ/წმ):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL-არხის გამტარუნარიანობა (კბიტ/წმ):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ფიჭური მდებარეობის ინფორმაცია (მოძველდა):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ფიზიკური არხის კონფიგურაცია:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"ფიჭური ინფორმაციის განახლების სიხშირე:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"სრული ინფორმაცია ფიჭური ქსელის შესახებ:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"მობილური ინტერნეტის სერვისი:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"როუმინგი:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"ზარების გადამისამართება:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP ჩამოყრების რაოდენობა ჩატვირთვის შემდეგ:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"გამოყენებული ქსელი:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"მიღებული მონაცემები:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ხმოვანი კავშირის სერვისი:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"სიგნალის სიმძლავრე:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ხმოვანი ზარის სტატუსი:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"გაგზავნილი მონაცემები:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"მომლოდინე შეტყობინება:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ტელეფონის ნომერი:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping-ის მოთხოვნა ჰოსტის სახელისთვის(www.google.com), IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP კლიენტის ტესტი:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ping ტესტის გაშვება"</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_toggle_dns_check_label" msgid="1394078554927787350">"DNS შემოწმების გადართვა"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"ინფორმაცია/პარამეტრები სპეციალურად OEM-ისთვის"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"რადიოდიაპაზონის რეჟიმის დაყენება"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"მიმდინარეობს დიაპაზონთა სიის ჩატვირთვა…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"დაყენება"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"წარუმატებლად დასრულდა"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"წარმატებით შესრულდა"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ინფორმაცია ტაბლეტის შესახებ"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ტელეფონის ინფორმაცია"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ოპერატორის უზრუნველყოფის ინფორმაცია"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"ოპერატორის უზრუნველყოფის გააქტიურება"</string>
 </resources>
diff --git a/res/values-kk/config.xml b/res/values-kk/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-kk/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 9bd6347..cfd4406 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Жеке нөмір"</string>
     <string name="payphone" msgid="7936735771836716941">"Автомат-телефон"</string>
     <string name="onHold" msgid="6132725550015899006">"Күтуде"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> хабары"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Оператордың хабары"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI коды басталды"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD коды қосулы…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI коды жарамсыздандырылған"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Тек NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Қалаулы желі режимі: WCDMA таңдалды"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Қалаулы желі режимі: GSM ғана"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Қалаулы желі режимі: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Қалаулы желі режимі: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Қалаулы желі режимі: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Оңтайлы желі режимі: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Қалаулы желі режимі: Жаһандық"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Қалаулы желі режимі: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Таңдаулы желі режимі: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Таңдалған желі режимі: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Таңдалған желі режимі: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Таңдалған желі режимі: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Оңтайлы желі режимі: тек NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Оңтайлы желі режимі: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Оңтайлы желі режимі: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Оңтайлы желі режимі: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Оңтайлы желі режимі: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Оңтайлы желі режимі: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Оңтайлы желі режимі: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Оңтайлы желі режимі: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Оңтайлы желі режимі: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Оңтайлы желі режимі: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Оңтайлы желі режимі: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Қоңырау"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Желі"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Жақсартылған 4G LTE режимі"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Бірнеше категориялы"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Бірнеше категория қосылған"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Бірнеше категория өшірілген"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ұсынылады)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ұсынылған)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4Г (ұсынылған)"</string>
     <string name="network_global" msgid="3289646154407617631">"Жаһандық"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Тұрақты теру нөмірін өшіруде…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Тұрақты теру нөмірі жойылды."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"ТТН жаңартылмады, себебі қате PIN код терілді."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN жаңартылмады, себебі нөмір 20 саннан аспауы тиіс."</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">"ТТН жаңартылмады. PIN2 қате болды немесе телефон нөмірі қабылданбады."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Тұрақты теру нөмірлерінің жұмысы орындалмады."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM картасынан оқу…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Қоңырау шалу мүмкін емес. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> жедел нөмір емес."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Қоңырау шалу мүмкін емес. Жедел нөмірді теріңіз."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Төтенше жағдай қызметіне қоңырау шалу мүмкіндігі жоқ"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"PIN/PUK кодтарын осы құрылғының иесі ғана енгізе алады."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Полиция"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Жедел жәрдем"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Өрт қызметі"</string>
@@ -557,6 +584,7 @@
     <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 функциясы керең немесе есту не сөйлеу қабілеті төмен адамдарға көмек ретінде не дауысқа қосымша функциялар қажет болғанда қолданылады. <xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>Толығырақ ақпарат\n RTT қоңыраулары хабар транскрипциясы ретінде сақталады\nRTT функциясы бейне қоңыраулар үшін қолданылмайды"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Ескертпе: роумингте RTT мүмкіндігі қолжетімсіз"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Tелетайп өшірулі"</item>
     <item msgid="1449091874731375214">"Tелетайп толық функциялы"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"Қызмет"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Орнату"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Реттелген жоқ&gt;"</string>
@@ -630,7 +664,7 @@
     <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Бейне қоңырауларды қосу үшін желі параметрлерінде жақсартылған 4G LTE режимін қосу керек."</string>
     <string name="enable_video_calling_dialog_settings" msgid="8697890611305307110">"Желі параметрлері"</string>
     <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Жабу"</string>
-    <string name="sim_label_emergency_calls" msgid="9078241989421522310">"Жедел қоңыраулар"</string>
+    <string name="sim_label_emergency_calls" msgid="9078241989421522310">"Құтқару қызметіне қоңырау шалу"</string>
     <string name="sim_description_emergency_calls" msgid="5146872803938897296">"Тек жедел қоңыраулар"</string>
     <string name="sim_description_default" msgid="7474671114363724971">"SIM картасы, ұяшық: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Арнайы мүмкіндіктер"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Қоңырау шектеу параметрлері өшірілді"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Кұпия сөзді өзгерту"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Қоңырау шектеу құпия сөзін өзгерту"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Қоңырау шектеу құпия сөзі өзгертілмеді"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Қоңырауды шектеу құпия сөзін өзгерту мүмкін емес."</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Құпия сөз сәйкес емес"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Құпия сөзде 4 сан болуы тиіс"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Құпия сөз өзгертілді"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Құпия сөзді растау"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Құпия сөзді енгізу"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Қоңырау шектеу параметрлері"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Қоңырау шектеу параметрлерінің барлығын өшіру қажет пе?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Желі бос емес. Кейінірек қайта қоңырау шалып көріңіз."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Желінің жүктемесі шамадан тыс. Көмек алу үшін операторыңызға хабарласыңыз."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Қоңырау басқа нөмірге жіберілді."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Бейнеқоңырау шалу қарастырылған"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi арқылы қоңырау шалу қарастырылған"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence қарастырылған"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS деректері"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS режимін іске қосу"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Радиосигнал күші"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM мекенжай кітапшасын көру"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Рұқсат нөмірлерді көру"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Қызметтік теру нөмірлерін көру"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS қызметінің күйі"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS күйі"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Тіркелген"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Тіркелмеген"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Қолжетімді"</string>
+    <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>\nLTE арқылы дауыстық қоңырау: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi арқылы дауыстық қоңырау: <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_emergency" msgid="4763879891415016848">"Құтқару қызметіне ғана қоңырау шалынады"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Радио өшірулі"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роуминг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Роуминг істеп тұрған жоқ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Бос"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Шылдырлауда"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Қоңырау шалынуда"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Ажыратылған"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Қосылуда"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Жалғанған"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Уақытша тоқтатылған"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Белгісіз"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"байт"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Ағымдағы қосалқы идентификатор:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Әдепкі деректер SIM картасының қосалқы идентификаторы:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL өткізу мүмкіндігі (кбит/сек):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL өткізу мүмкіндігі (кбит/сек):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Ұялы желінің орналасқан жері туралы ақпарат (қолданыстан шығарылды):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE физикалық арна конфигурациясы:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Ұялы желі туралы ақпаратты жаңарту жиілігі:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Барлық ұялы желі өлшемдері туралы ақпарат:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Деректер қызметі:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роуминг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Қоңырауды басқа нөмірге бағыттау:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Қосылғаннан бергі PPP протоколын қайтару саны:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Ағымдағы желі:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Қабылданған деректер:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Дауыстық қызмет:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Сигнал күші:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Дауыстық қоңырау күйі:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Жіберілген деректер:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Хабар күтуде:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Телефон нөмірі:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping хоста атауы (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP клиентін тексеру:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ping тексеруін іске қосу"</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_toggle_dns_check_label" msgid="1394078554927787350">"DNS тексерісін қосу/өшіру"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Өндірушіге қатысты ақпарат/параметрлер"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Радиожолақ режимін орнату"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Жолақтар тізімі жүктелуде…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Орнату"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Сәтсіз"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Сәтті"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Планшет ақпараты"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Телефон ақпараты"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Операторды инициализациялау туралы ақпарат"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Операторды инциализациялауды іске қосу"</string>
 </resources>
diff --git a/res/values-km/config.xml b/res/values-km/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-km/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 04fc9f0..6e37605 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"លេខ​ឯកជន"</string>
     <string name="payphone" msgid="7936735771836716941">"ទូរស័ព្ទសាធារណៈ"</string>
     <string name="onHold" msgid="6132725550015899006">"រង់ចាំ"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"សារ <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"សារ​ក្រុមហ៊ុន​សេវា​ទូរសព្ទ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"បាន​ចាប់ផ្ដើម​កូដ MMI"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"កូដ USSD កំពុង​ដំណើរការ…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"បាន​បោះបង់​កូដ MMI"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR តែ​ប៉ុណ្ណោះ"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"របៀប​បណ្ដាញ​ដែល​ចូលចិត្ត៖ WCDMA ដែល​ចូលចិត្ត"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"របៀប​បណ្ដាញ​ដែល​ចូលចិត្ត៖ តែ GSM ប៉ុណ្ណោះ"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"របៀប​បណ្ដាញ​ដែល​ចូលចិត្ត៖ LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"របៀប​បណ្ដាញ​ដែល​ចូលចិត្ត៖ GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"របៀប​បណ្ដាញ​ដែល​ចូលចិត្ត៖ CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"មុខងារ​បណ្ដាញ​អាទិភាព៖ LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"របៀប​បណ្ដាញ​ដែល​ចូលចិត្ត៖ សកល"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"របៀប​បណ្ដាញ​ដែល​ចូលចិត្ត៖ LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ប្រភេទបណ្តាញដែលពេញចិត្ត៖ LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"មុខងារ​បណ្ដាញ​ដែល​ប្រើ​ជា​អាទិភាព៖ LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"មុខងារ​បណ្ដាញ​ដែល​ប្រើ​ជា​អាទិភាព៖ TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"មុខងារ​បណ្ដាញ​ដែល​ប្រើ​ជា​អាទិភាព៖ LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR តែប៉ុណ្ណោះ"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"មុខងារ​បណ្ដាញអាទិភាព៖ NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"មុខងារបណ្ដាញ​អាទិភាព៖ NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"មុខងារ​បណ្ដាញ​អាទិភាព៖ NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"កំពុង​ហៅ"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"បណ្ដាញ"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"​របៀប 4G LTE ធ្វើឲ្យ​ប្រសើរ​ឡើង"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ប្រភេទ​ច្រើន"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"បាន​បើក​ប្រភេទ​ច្រើន"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"បាន​បិទ​ប្រភេទ​ច្រើន"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (បានណែនាំ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (បានណែនាំ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (បាន​ផ្ដល់​អនុសាសន៍)"</string>
     <string name="network_global" msgid="3289646154407617631">"សកល"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDN មិន​ត្រូវ​បាន​ធ្វើ​បច្ចុប្បន្នភាព​ទេ ដោយ​សារ​លេខ​លើស​ពី 20 ខ្ទង់។"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN មិន​ត្រូវ​បាន​ធ្វើ​បច្ចុប្បន្នភាព​ទេ ដោយ​សារ​លេខ​លើស​ពី <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> ខ្ទង់។"</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"មិន​បាន​ធ្វើ​បច្ចុប្បន្នភាព។ កូដ PIN2 មិន​ត្រឹមត្រូវ ឬ​លេខ​ទូរស័ព្ទ​ត្រូវ​បាន​ច្រានចោល។"</string>
     <string name="fdn_failed" msgid="216592346853420250">"បាន​បរាជ័យ​ក្នុង​ការ​ប្រតិបត្តិការ FDN ។"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"កំពុង​អាន​ពី​ស៊ីមកាត…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"មិនអាចហៅបានទេ។ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> មិនមានជាលេខអាសន្នទេ។"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"មិនអាចហៅបានទេ។ ចុចហៅលេខអាសន្ន។"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"មិន​អាច​ហៅ​បន្ទាន់​បាន​ទេ"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"មាន​តែ​ម្ចាស់​ឧបករណ៍​ប៉ុណ្ណោះ ដែល​អាច​បញ្ចូល​កូដ PIN/PUK បាន។"</string>
     <string name="police_type_description" msgid="2819533883972081757">"ប៉ូលិស"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"រថយន្ត​សង្គ្រោះ​បន្ទាន់"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"អគ្គិភ័យ"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"ការហៅ​តាម​សារ​ជា​អក្សរ​ក្នុង​ពេល​ជាក់ស្ដែង"</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="no_rtt_when_roaming" msgid="5268008247378355389">"ចំណាំ៖ RTT មិន​អាច​ប្រើ​បាន​ទេ ពេល​រ៉ូមីង"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"បិទ TTY"</item>
     <item msgid="1449091874731375214">"TTY ពេញ"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"សេវា"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"រៀបចំ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt; មិន​កំណត់ &gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"បាន​បិទ​ដំណើរការ​នៃការរារាំង​​ការហៅ​ទូរសព្ទ"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"ប្ដូរ​ពាក្យ​សម្ងាត់"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"ប្ដូរ​ពាក្យ​សម្ងាត់​រារាំង​ការហៅ"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"មិន​អាច​ប្ដូរ​ពាក្យ​សម្ងាត់​រារាំង​ការហៅ​បាន​ទេ"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"មិន​អាច​ប្ដូរ​ពាក្យ​សម្ងាត់​ដែល​រារាំង​ការហៅ​ទូរសព្ទ​បាន​ទេ"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"ពាក្យ​សម្ងាត់​មិន​ដូច​គ្នា"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"បញ្ចូល​ពាក្យ​សម្ងាត់​​​មាន 4 លេខ"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"បានប្តូរពាក្យសម្ងាត់"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"បញ្ជាក់ពាក្យសម្ងាត់"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"បញ្ចូល​ពាក្យសម្ងាត់"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ការកំណត់​​ការរារាំង​ការហៅ​ទូរសព្ទ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"បិទ​ដំណើរការ​នៃការកំណត់​ការរារាំង​ការហៅ​​ទូរសព្ទទាំងអស់​ដែរ​​ទេ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"បណ្ដាញ​កំពុង​រវល់។ សូម​ព្យាយាម​​ការ​ហៅ​ទូរសព្ទ​របស់​អ្នក​ម្ដង​ទៀត​នៅ​ពេល​ក្រោយ។"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"បណ្ដាញ​មាន​ការកក​ស្ទះ។ ទាក់ទង​ទៅ​ប្រតិបត្តិករ​ឧបករណ៍​ចល័ត​របស់​អ្នក​សម្រាប់​ជំនួយ។"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"បាន​ហៅ​ទៅ​លេខ​ផ្សេង។"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"ដើម្បី​ប្រើប្រាស់ <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> សូម​ប្រាកដថា​ទិន្នន័យទូរសព្ទ​​ចល័ត​ត្រូវ​បាន​បើក​សម្រាប់​ស៊ីម <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ។ អ្នក​អាចផ្លាស់​ប្ដូរ​​ជម្រើស​នេះ​​នៅ​ក្នុង​ការ​កំណត់​បណ្ដាញ​​ទូរសព្ទ​ចល័ត។"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"ដើម្បី​ប្រើប្រាស់ <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> សូម​ប្រាកដថា​ទិន្នន័យ​ទូរសព្ទ​ចល័ត និង​ការ​រ៉ូមីង​ទិន្នន័យ​ត្រូវ​បាន​បើក​សម្រាប់​ស៊ីម <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ។ អ្នក​អាចផ្លាស់​ប្ដូរ​​ជម្រើស​ទាំង​នេះ​នៅ​ក្នុង​ការ​កំណត់​បណ្ដាញ​​ទូរសព្ទ​ចល័ត។"</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"បានផ្តល់​ការហៅជាវីដេអូ"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"បាន​ផ្តល់​ការហៅ​ទូរសព្ទ​តាម Wifi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"បាន​ផ្តល់ជូន EAB/Presence"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"ទិន្នន័យ Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"បើក DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"ថាមពល​វិទ្យុ​ទូរសព្ទ​ចល័ត"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"មើលសៀវភៅអាសយដ្ឋានក្នុងស៊ីមកាត"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"មើល​លេខ​ហៅ​ថេរ"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"មើល​លេខ​ហៅ​សេវាកម្ម"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"សា្ថនភាពសេវាកម្ម IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"ស្ថានភាព IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"បានចុះឈ្មោះ"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"មិន​បាន​ចុះឈ្មោះ"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ទំនេរ"</string>
+    <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>\nផ្ទៃ UT ៖ <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_emergency" msgid="4763879891415016848">"ការហៅទៅលេខសង្គ្រោះបន្ទាន់​តែប៉ុណ្ណោះ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"វិទ្យុ​បាន​បិទ"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"រ៉ូមីង"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"មិនរ៉ូមីងទេ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"អសកម្ម"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"កំពុងរោទ៍"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"ការហៅ​ទូរសព្ទ​កំពុងដំណើរការ"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"បាន​ផ្ដាច់"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"កំពុងភ្ជាប់"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"បានភ្ជាប់"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"បាន​ផ្អាក"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"មិន​ស្គាល់"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"បៃ"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"លេខសម្គាល់រង​បច្ចុប្បន្ន៖"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"លេខសម្គាល់រង​របស់​ស៊ីម​ទិន្នន័យ​លំនាំដើម៖"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"កម្រិត​បញ្ជូន DL (kbps) ៖"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"កម្រិត​បញ្ជូន UL (kbps) ៖"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ព័ត៌មាន​ទីតាំង​ទូរសព្ទ​ចល័ត (បានបញ្ឈប់)៖"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"ការកំណត់​រចនាសម្ព័ន្ធបណ្ដាញរូបវ័ន្ត LTE ៖"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"អត្រា​ផ្ទុក​ឡើង​វិញ​នៃ​ព័ត៌មាន​ទូរសព្ទ​ចល័ត៖"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ព័ត៌មាន​វាស់​ទូរសព្ទ​ចល័ត​ទាំងអស់៖"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"សេវាកម្មទិន្នន័យ៖"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"រ៉ូមីង៖"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI ៖"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"បញ្ជូនការហៅ​ទូរសព្ទ​បន្ត៖"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"ចំនួននៃការកំណត់ PPP ឡើងវិញតាំងពីពេលចាប់ផ្ដើម៖"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"បណ្ដាញបច្ចុប្បន្ន៖"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"បានទទួលទិន្នន័យ៖"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"សេវាកម្មសំឡេង៖"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"កម្លាំងរលកសញ្ញា៖"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ស្ថានភាព​ការហៅ​ជា​សំឡេង៖"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"បានផ្ញើទិន្នន័យ៖"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"រង់ចាំសារ៖"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"លេខទូរសព្ទ៖"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ភីង​ឈ្មោះ​ម៉ាស៊ីន (www.google.com) IPv6 ៖"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"តេស្ត​កម្មវិធី​ភ្ញៀវ HTTP ៖"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"បិទ/បើកការពិនិត្យ DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"ការ​កំណត់/ព័ត៌មាន​ជាក់លាក់ OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"កំណត់​មុខងារ​កម្រិត​បញ្ជូន​វិទ្យុ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"កំពុងដំណើរការបញ្ជីក្រុម…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"កំណត់"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"មិនបាន​សម្រេច"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"ជោគជ័យ"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ព័ត៌មាន​ថេប្លេត"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ព័ត៌មាន​ទូរសព្ទ"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ព័ត៌មាន​អំពី​ការផ្តល់​ទិន្នន័យ​របស់​ក្រុមហ៊ុន​សេវា​ទូរសព្ទ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"នាំ​ឱ្យ​មាន​ការផ្តល់​ទិន្នន័យ​ពី​ក្រុមហ៊ុន​សេវា​ទូរសព្ទ"</string>
 </resources>
diff --git a/res/values-kn/config.xml b/res/values-kn/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-kn/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 6ef1eeb..fcbcf3d 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ಖಾಸಗಿ ಸಂಖ್ಯೆ"</string>
     <string name="payphone" msgid="7936735771836716941">"ಪೇಫೋನ್"</string>
     <string name="onHold" msgid="6132725550015899006">"ತಡೆಹಿಡಿಯಲಾಗಿದೆ"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> ಸಂದೇಶ"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"ವಾಹಕದ ಸಂದೇಶ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI ಕೋಡ್‌ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD ಕೋಡ್‌ ಚಾಲನೆಯಲ್ಲಿದೆ…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI ಕೋಡ್‌ ರದ್ದು ಮಾಡಲಾಗಿದೆ"</string>
@@ -139,7 +141,7 @@
     <string name="close_dialog" msgid="1074977476136119408">"ಸರಿ"</string>
     <string name="enable" msgid="2636552299455477603">"ಆನ್‌ ಮಾಡಿ"</string>
     <string name="disable" msgid="1122698860799462116">"ಆಫ್ ಮಾಡು"</string>
-    <string name="change_num" msgid="6982164494063109334">"ಅಪ್‌ಡೇಟ್‌ ಮಾಡು"</string>
+    <string name="change_num" msgid="6982164494063109334">"ಅಪ್‌ಡೇಟ್‌ ಮಾಡಿ"</string>
   <string-array name="clir_display_values">
     <item msgid="8477364191403806960">"ನೆಟ್‌ವರ್ಕ್ ಡಿಫಾಲ್ಟ್"</item>
     <item msgid="6813323051965618926">"ಸಂಖ್ಯೆಯನ್ನು ಮರೆಮಾಡು"</item>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR ಮಾತ್ರ"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌: WCDMA ಗೆ ಪ್ರಾಶಸ್ತ್ಯ ನೀಡಲಾಗಿದೆ"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌‌: GSM ಮಾತ್ರ"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌: ಜಾಗತಿಕ"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌‌: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌‌: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌‌: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"ಬಯಸಿದ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌‌: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR ಮಾತ್ರ"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"ಆದ್ಯತೆಯ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"ಕರೆಮಾಡಲಾಗುತ್ತಿದೆ"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ನೆಟ್‌ವರ್ಕ್"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"ವರ್ಧಿಸಲಾದ 4G LTE ಮೋಡ್"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ಬಹು-ವರ್ಗ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"ಬಹು ವರ್ಗವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ಬಹು ವರ್ಗವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
     <string name="network_global" msgid="3289646154407617631">"ಜಾಗತಿಕ"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"ಸ್ಥಿರ ಡಯಲಿಂಗ್‌‌ ಸಂಖ್ಯೆಯನ್ನು ಅಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"ಸ್ಥಿರ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಯನ್ನು ಅಳಿಸಲಾಗಿದೆ."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"ನೀವು ತಪ್ಪಾದ ಪಿನ್‌ ಟೈಪ್‌ ಮಾಡಿರುವ ಕಾರಣ ಎಫ್‌ಡಿಎನ್‌ ಅನ್ನು ನವೀಕರಿಸಲಾಗಲಿಲ್ಲ."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"ಸಂಖ್ಯೆಯು 20 ಅಂಕೆಗಳನ್ನು ಮೀರಿರುವುದರಿಂದ 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">"ಎಫ್‌ಡಿಎನ್‌ ಅನ್ನು ನವೀಕರಿಸಲಾಗಲಿಲ್ಲ. PIN2 ತಪ್ಪಾಗಿದೆ ಅಥವಾ ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ತಿರಸ್ಕರಿಸಲಾಗಿದೆ."</string>
     <string name="fdn_failed" msgid="216592346853420250">"ಎಫ್‌ಡಿಎನ್‌ ಕಾರ್ಯಾಚರಣೆ ವಿಫಲವಾಗಿದೆ."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ನಿಂದ ಓದಲಾಗುತ್ತಿದೆ…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ಇದು ತುರ್ತು ಸಂಖ್ಯೆಯಲ್ಲ."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ತುರ್ತು ಸಂಖ್ಯೆಯನ್ನು ಡಯಲ್ ಮಾಡಿ."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"ತುರ್ತು ಕರೆ ಮಾಡುವಿಕೆ ಲಭ್ಯವಿಲ್ಲ"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"ಸಾಧನದ ಮಾಲೀಕರು ಮಾತ್ರ PIN/PUK ಕೋಡ್‌ಗಳನ್ನು ನಮೂದಿಸಬಹುದು."</string>
     <string name="police_type_description" msgid="2819533883972081757">"ಪೊಲೀಸ್"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ಆಂಬುಲೆನ್ಸ್"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"ಬೆಂಕಿ"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"ಗಮನಿಸಿ: ರೋಮಿಂಗ್‌ನಲ್ಲಿ RTT ಲಭ್ಯವಿಲ್ಲ"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ಆಫ್"</item>
     <item msgid="1449091874731375214">"TTY ಪೂರ್ಣ"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ಕರೆ ನಿಷೇಧಿಸುವಿಕೆ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸಿ"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"ಕರೆ ನಿಷೇಧಿಸುವಿಕೆ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬದಲಾಯಿಸಿ"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"ಕರೆ ನಿಷೇಧಿಸುವಿಕೆ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"ಕರೆ ನಿಷೇಧಿಸುವಿಕೆ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 ಸಂಖ್ಯೆಯ ಪಾಸ್‌ವರ್ಡ್‌ ನಮೂದಿಸಿ"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"ಪಾಸ್‌ವರ್ಡ್ ಬದಲಾವಣೆಯಾಗಿದೆ"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"ಪಾಸ್‌ವರ್ಡ್‌ ದೃಢೀಕರಿಸಿ"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"ಪಾಸ್‌ವರ್ಡ್ ನಮೂದಿಸಿ"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ಕರೆ ನಿಷೇಧಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"ಎಲ್ಲಾ ಕರೆ ನಿಷೇಧಿಸುವಿಕೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದೇ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ನೆಟ್‌ವರ್ಕ್ ಕಾರ್ಯನಿರತವಾಗಿದೆ ನಿಮ್ಮ ಕರೆಯನ್ನು ಪುನಃ ನಂತರ ಪ್ರಯತ್ನಿಸಿ"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ನೆಟ್‌ವರ್ಕ್ ದಟ್ಟಣೆಯಿದೆ. ಸಹಾಯಕ್ಕಾಗಿ ನಿಮ್ಮ ಮೊಬೈಲ್ ಆಪರೇಟರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"ಕರೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗಿದೆ."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ಅನ್ನು ಬಳಸಲು, <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ಸಿಮ್‌ಗಾಗಿ ಮೊಬೈಲ್ ಡೇಟಾ ಆನ್‌ ಆಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ನೀವು ಇದನ್ನು ಮೊಬೈಲ್‌ ನೆಟ್‌ವರ್ಕ್‌ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ಅನ್ನು ಬಳಸಲು, <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ಸಿಮ್ ಗಾಗಿ ಮೊಬೈಲ್ ಡೇಟಾ ಮತ್ತು ಡೇಟಾ ರೋಮಿಂಗ್ ಆನ್‌ ಆಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ನೀವು ಇದನ್ನು ಮೊಬೈಲ್‌ ನೆಟ್‌ವರ್ಕ್‌ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು."</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ವೀಡಿಯೊ ಕರೆ ಸೌಲಭ್ಯ ಕಲ್ಪಿಸಲಾಗಿದೆ"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"ವೈಫೈ ಕರೆ ಸೌಲಭ್ಯ ಕಲ್ಪಿಸಲಾಗಿದೆ"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/ಪ್ರಸ್ತುತ ಸಿದ್ಧವಾಗಿದೆ"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ಡೇಟಾ"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"ಮೊಬೈಲ್ ರೇಡಿಯೋ ಪವರ್"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ಸಿಮ್ ವಿಳಾಸ ಪುಸ್ತಕವನ್ನು ವೀಕ್ಷಿಸಿ"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ಸ್ಥಿರ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"ಸೇವಾ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS ಸೇವೆ ಸ್ಥಿತಿ"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS ಸ್ಥಿತಿ"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ನೋಂದಾಯಿಸಲಾಗಿದೆ"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"ನೋಂದಣಿಯಾಗಿಲ್ಲ"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ಲಭ್ಯವಿದೆ"</string>
+    <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ವಾಯ್ಸ್ ಓವರ್ ವೈ-ಫೈ: <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_emergency" msgid="4763879891415016848">"ತುರ್ತು ಕರೆಗಳು ಮಾತ್ರ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ರೇಡಿಯೋ ಆಫ್ ಮಾಡಿ"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ರೋಮಿಂಗ್"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ರೋಮಿಂಗ್‌ನಲ್ಲಿ ಇಲ್ಲ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"ತಟಸ್ಥ"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"ರಿಂಗ್‌ ಆಗುತ್ತಿದೆ"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"ಕರೆ ಪ್ರಗತಿಯಲ್ಲಿದೆ"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"ಕನೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"ಅಮಾನತುಗೊಳಿಸಲಾಗಿದೆ"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"ಅಪರಿಚಿತ"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ಬೈಟ್‌ಗಳು"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ಪ್ರಸ್ತುತ ವಿಷಯಐಡಿ:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ಡೀಫಾಲ್ಟ್ ಡೇಟಾ ಸಿಮ್‌ನ ವಿಷಯಐಡಿ:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ಸೆಲ್ ಸ್ಥಳ ಮಾಹಿತಿ (ತಡೆಹಿಡಿಯಲಾಗಿದೆ):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ಭೌತಿಕ ಚಾನೆಲ್ ಕಾನ್ಫಿಗರೇಶನ್:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"ಸೆಲ್ ಮಾಹಿತಿ ರಿಫ್ರೆಶ್ ದರ:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ಎಲ್ಲಾ ಸೆಲ್ ಮಾಪನ ಮಾಹಿತಿ:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ಡೇಟಾ ಸೇವೆ:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ರೋಮಿಂಗ್:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"ಕರೆ ಮರುನಿರ್ದೇಶನ:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"ಬೂಟ್ ಆದಾಗಿನಿಂದ PPP ಮರುಹೊಂದಿಕೆಯ ಸಂಖ್ಯೆ:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"ಪ್ರಸ್ತುತ ನೆಟ್‌ವರ್ಕ್‌:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ಡೇಟಾ ಸ್ವೀಕರಿಸಲಾಗಿದೆ:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ಧ್ವನಿ ಸೇವೆ:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"ಸಿಗ್ನಲ್ ಸಾಮರ್ಥ್ಯ:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ಧ್ವನಿ ಕರೆ ಸ್ಥಿತಿ:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ಡೇಟಾ ಕಳುಹಿಸಲಾಗಿದೆ:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"ಸಂದೇಶ ನಿರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ಫೋನ್ ಸಂಖ್ಯೆ:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ಹೋಸ್ಟ್‌ ಹೆಸರನ್ನು ಪಿಂಗ್ ಮಾಡಿ(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP ಕ್ಲೈಂಟ್ ಪರೀಕ್ಷೆ:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS ಪರಿಶೀಲನೆ ಟಾಗಲ್ ಮಾಡಿ"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-ನಿರ್ದಿಷ್ಟ ಮಾಹಿತಿ/ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಮೋಡ್ ಹೊಂದಿಸಿ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ಬ್ಯಾಂಡ್ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"ಹೊಂದಿಸಿ"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ವಿಫಲಗೊಂಡಿದೆ"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"ಯಶಸ್ವಿಯಾಗಿದೆ"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ಟ್ಯಾಬ್ಲೆಟ್ ಮಾಹಿತಿ"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ಫೋನ್ ಮಾಹಿತಿ"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ವಾಹಕ ಪೂರೈಕೆಯ ಮಾಹಿತಿ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"ಟ್ರಿಗರ್‌ ವಾಹಕ ಪೂರೈಕೆ"</string>
 </resources>
diff --git a/res/values-ko/config.xml b/res/values-ko/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ko/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index a0ad341..c68ffa4 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"비공개 번호"</string>
     <string name="payphone" msgid="7936735771836716941">"공중전화"</string>
     <string name="onHold" msgid="6132725550015899006">"대기 중"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> 메시지"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"이동통신사 메시지"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI 코드 시작됨"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD 코드 실행 중..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI 코드 취소됨"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR 전용"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"기본 네트워크 모드: WCDMA 선호"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"기본 네트워크 모드: GSM 전용"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"기본 네트워크 모드: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"기본 네트워크 모드: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"기본 네트워크 모드: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"기본 네트워크 모드: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"기본 네트워크 모드: 글로벌"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"기본 네트워크 모드: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"기본 네트워크 모드: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"기본 네트워크 모드: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"기본 네트워크 모드: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"기본 네트워크 모드: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"기본 네트워크 모드: NR 전용"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"기본 네트워크 모드: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"기본 네트워크 모드: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"기본 네트워크 모드: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"기본 네트워크 모드: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"기본 네트워크 모드: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"기본 네트워크 모드: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"기본 네트워크 모드: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"기본 네트워크 모드: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"기본 네트워크 모드: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"기본 네트워크 모드: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"통화"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"네트워크"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"향상된 4G LTE 모드"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"다중 카테고리"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"다중 카테고리 사용"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"다중 카테고리 사용 중지"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (권장)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE(권장)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G(권장)"</string>
     <string name="network_global" msgid="3289646154407617631">"전체"</string>
@@ -439,7 +465,7 @@
     <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="fdn_invalid_number" msgid="155512764412225645">"숫자가 20자리를 초과하여 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="fdn_failed" msgid="216592346853420250">"FDN 작업이 실패했습니다."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM 카드에서 읽는 중..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"전화를 걸 수 없습니다. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g>은(는) 긴급 번호가 아닙니다."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"전화를 걸 수 없습니다. 긴급 번호를 사용하세요."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"긴급 전화를 사용할 수 없음"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"기기 소유자만 PIN/PUK 코드를 입력할 수 있습니다."</string>
     <string name="police_type_description" msgid="2819533883972081757">"경찰서"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"구급차"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"화재"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"참고: 로밍 중에는 RTT를 사용할 수 없습니다."</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY 사용 안함"</item>
     <item msgid="1449091874731375214">"TTY 전체"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"서비스"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"설정"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;설정 안됨&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"착발신 제한 비활성화됨"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"비밀번호 변경"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"착발신 제한 비밀번호 변경"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"착발신 제한 비밀번호를 변경할 수 없습니다."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"착발신 제한 비밀번호를 변경할 수 없습니다."</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"비밀번호가 일치하지 않습니다."</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4자리 숫자로 비밀번호를 입력하세요."</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"비밀번호 변경됨"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"비밀번호 확인"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"비밀번호 입력"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"착발신 제한 설정"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"모든 착발신 제한 설정을 비활성화하시겠습니까?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"네트워크 사용량이 많습니다. 나중에 다시 전화해 주세요."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"네트워크 사용량이 많습니다. 이동통신사에 지원을 요청해 보세요."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"통화가 착신전환되었습니다."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"화상 통화 프로비저닝됨"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi 통화 프로비저닝됨"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/상태 프로비저닝됨"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS 데이터"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS 사용 설정"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"모바일 무선 전력"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM 주소록 보기"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"발신 허용 번호 보기"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"SDN(Service Dialing Numbers) 보기"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS 서비스 상태"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS 상태"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"등록됨"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"등록 안됨"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"사용 가능"</string>
+    <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>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi: <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_emergency" msgid="4763879891415016848">"긴급 통화만 허용"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"무선 연결 끊김"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"로밍"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"로밍 안함"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"없음"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"전화 수신 중"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"통화 진행 중"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"연결 끊김"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"연결 중"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"연결됨"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"정지됨"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"알 수 없음"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"패킷"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"바이트"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"현재 subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"기본 데이터 SIM의 subId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL 대역폭(kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL 대역폭(kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"셀 위치 정보(사용 중단됨):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE 물리적 채널 구성:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"셀 정보 새로고침 빈도:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"모든 셀 측정 정보:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"데이터 서비스:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"로밍:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"통화 리디렉션:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"부팅 후 PPP 재설정 횟수:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"현재 네트워크:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"받은 데이터:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"음성 서비스:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"신호 강도:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"음성 통화 상태:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"보낸 데이터:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"메시지 대기 중:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"전화번호:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"핑 호스트 이름(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP 클라이언트 테스트:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS 확인 전환"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM별 정보/설정"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"무선 주파수 대역 모드 설정"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"대역 목록 로드 중…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"설정"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"실패"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"성공"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"태블릿 정보"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"휴대전화 정보"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"이동통신사 프로비저닝 정보"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"이동통신사 프로비저닝 실행"</string>
 </resources>
diff --git a/res/values-ky/config.xml b/res/values-ky/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ky/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 34d7dfa..17fe829 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Купуя номер"</string>
     <string name="payphone" msgid="7936735771836716941">"Таксофон"</string>
     <string name="onHold" msgid="6132725550015899006">"Күтүлүүдө"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Билдирүү"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Байланыш операторунун билдирүүсү"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI код иштетилди"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD коду иштеп жатат…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI код жокко чыгарылды"</string>
@@ -46,7 +48,7 @@
     <string name="no_vm_number_msg" msgid="5165161462411372504">"SIM-картада сакталган үн почтасынын номери жок."</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"Номер кошуу"</string>
     <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"Үн почта жөндөөлөрүн алгачкы колдонуучу гана өзгөртө алат."</string>
-    <string name="puk_unlocked" msgid="4627340655215746511">"SIM-картаңыз бөгөттөн чыгарылган. Телефонуңуздун кулпусу ачылууда…"</string>
+    <string name="puk_unlocked" msgid="4627340655215746511">"SIM картаңыз бөгөттөн чыгарылган. Телефонуңуздун кулпусу ачылууда…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"SIM-карта тармагынын кулпусун ачуучу PIN код"</string>
     <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"Кулпусун ачуу"</string>
     <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"Этибарга албоо"</string>
@@ -168,7 +170,7 @@
     <string name="empty_networks_list" msgid="9216418268008582342">"Эч тармак табылган жок."</string>
     <string name="network_query_error" msgid="3862515805115145124">"Тармактар табылбай койду. Кайталап көрүңүз."</string>
     <string name="register_on_network" msgid="4194770527833960423">"<xliff:g id="NETWORK">%s</xliff:g> тармагына катталууда…"</string>
-    <string name="not_allowed" msgid="8541221928746104798">"Сиздин SIM-картаңыз бул түйүнгө кошулганга жол бербейт."</string>
+    <string name="not_allowed" msgid="8541221928746104798">"Сиздин SIM картаңыз бул түйүнгө кошулганга жол бербейт."</string>
     <string name="connect_later" msgid="1950138106010005425">"Бул түйүнгө азыр кошулуу мүмкүн эмес. Бир аздан соң кайра аракеттениңиз."</string>
     <string name="registration_done" msgid="5337407023566953292">"Тармакка катталды."</string>
     <string name="already_auto" msgid="8607068290733079336">"Мурунтан эле автоматтык түрдө тандоодо."</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR гана"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Тандалган тармак режими: WCDMA тандалган"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Тандалган тармак режими: GSM гана"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Артыкчылыктуу желе тартиби: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Артыкчылыктуу желе тартиби: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Артыкчылыктуу желе тартиби: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Тандалган тармак режими: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Тандалган тармак режими: Дүйнө жүзү"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Артыкчылыктуу желе тартиби: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Жаккан режим: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Тандалган тармак режими: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Тандалган тармак режими: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Тандалган тармак режими: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Тандалган тармак режими: NR only"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Тандалган тармак режими: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Тандалган тармак режими: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Тандалган тармак режими: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Тандалган тармак режими: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Тандалган тармак режими: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Тандалган тармак режими: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Тандалган тармак режими: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Тандалган тармак режими: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Тандалган тармак режими: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Тандалган тармак режими: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Чалуулар"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Тармак"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Жакшыртылган 4G LTE режими"</string>
@@ -249,8 +274,8 @@
     <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>
-    <string name="roaming_disable" msgid="8856224638624592681">"Роуминг учурунда мобилдик Интернетке туташат"</string>
+    <string name="roaming_enable" msgid="6853685214521494819">"Роуминг учурунда дайын-даректерди өткөрүүчү кызматтарга туташуу"</string>
+    <string name="roaming_disable" msgid="8856224638624592681">"Роуминг учурунда дайын-даректерди өткөрүүчү кызматтарга туташуу"</string>
     <string name="roaming_reenable_message" msgid="1951802463885727915">"Интернет-роуминг өчүрүлгөн. Күйгүзүү үчүн басыңыз."</string>
     <string name="roaming_enabled_message" msgid="9022249120750897">"Роуминг акысын төлөп калышыңыз мүмкүн. Өзгөртүү үчүн таптап коюңуз."</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"Мобилдик интернет туташуусу үзүлдү"</string>
@@ -260,7 +285,7 @@
     <string name="roaming_alert_title" msgid="5689615818220960940">"Интернет-роумингди иштетесизби?"</string>
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"SIM-картанын функциялары чектелген"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"<xliff:g id="PHONE_NUMBER">%2$s</xliff:g> номерин колдонгондо <xliff:g id="CARRIER_NAME">%1$s</xliff:g> чалуулары жана дайындар кызматтары бөгөттөлүшү мүмкүн."</string>
-    <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Башка SIM-картаны колднгндо <xliff:g id="CARRIER_NAME">%1$s</xliff:g> чалуулары жана дайындар кызмттары бөгөттлшү мүмкүн."</string>
+    <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Башка SIM картаны колднгндо <xliff:g id="CARRIER_NAME">%1$s</xliff:g> чалуулары жана дайындар кызмттары бөгөттлшү мүмкүн."</string>
     <string name="data_usage_title" msgid="8438592133893837464">"Колдонмолордун трафиги"</string>
     <string name="data_usage_template" msgid="6287906680674061783">"<xliff:g id="ID_2">%2$s</xliff:g> аралыгында <xliff:g id="ID_1">%1$s</xliff:g> мобилдик трафик колдонулду"</string>
     <string name="advanced_options_title" msgid="9208195294513520934">"Өркүндөтүлгөн"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Мульти-категория"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Мульти-категория иштетилген"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Мульти-категория өчүрүлгөн"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (сунушталган)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (сунушталат)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (сунушталат)"</string>
     <string name="network_global" msgid="3289646154407617631">"Дүйнө жүзү"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Туруктуу терүү номери жок кылынууда…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Туруктуу терүү номери өчүрүлдү."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"БНТ жаңыртылган жок, анткени туура эмес PIN-код киргизилди."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Уруксат берилген номер жаңыртылган жок, себеби жазылган номердин саны 20дан ашпашы керек."</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">"БНТ жаңыртылган жок. PIN2 туура эмес, же телефон номуру жараксыз."</string>
     <string name="fdn_failed" msgid="216592346853420250">"БНТ иши кыйрады."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM-картадан окулууда…"</string>
@@ -517,7 +543,7 @@
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Чалууну кармап туруу мүмкүн эмес."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Чалуу үчүн зымсыз тармакка туташыңыз."</string>
     <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Wi-Fi аркылуу чалыңыз."</string>
-    <string name="emergency_information_hint" msgid="9208897544917793012">"Өзгөчө кырдаал маалыматы"</string>
+    <string name="emergency_information_hint" msgid="9208897544917793012">"Кырсыктаганда керек болчу маалымат"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Ээси"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Маалыматты көрүү үчүн кайра таптап коюңуз"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"Шашылыш чалуу"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Чалынбай жатат. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> өзгөчө кырдаал номери эмес."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Чалынбай жатат. Өзгөчө кырдаалдар кызматынын номерин териңиз."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Шашылыш чалуу жеткиликсиз"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Түзмөктүн ээси гана PIN/PUK коддорун киргизе алат."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Полиция"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Тез жардам машинасы"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Өрт"</string>
@@ -548,7 +575,7 @@
     <string name="onscreenVideoCallText" msgid="1743992456126258698">"Видео чалуу"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"Импорттоо"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"Баарын импорттоо"</string>
-    <string name="importingSimContacts" msgid="4995457122107888932">"SIM-картадагы байланыштардан импорттоо"</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>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Эскертүү: Роуминг учурунда RTT жеткиликсиз"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Телетайп түзмөгү өчүк"</item>
     <item msgid="1449091874731375214">"Телетайп түзмөгү толуп калды"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"Кызмат"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Жөндөө"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Коюлган эмес&gt;"</string>
@@ -640,7 +674,7 @@
     <string name="message_decode_error" msgid="1061856591500290887">"Билдирүү дешифрленип жатканда ката кеткен."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-карта кызматыңызды жандырып, телефонуңуздун роуминг мүмкүнчүлүктөрүн жаңыртты."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Учурда жигердүү чалуулар өтө көп. Чалуу үчүн учурдагы чалууларды бүтүрүңүз же бириктириңиз."</string>
-    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Байланышуу мумкүн эмес. Жарактуу SIM-картаны салыңыз."</string>
+    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Байланышуу мумкүн эмес. Жарактуу SIM картаны салыңыз."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Wi-Fi туташуусу үзүлүп калды. Чалуу аяктады."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Батареянын заряды төмөн болгондуктан, видео режиминде чала албайсыз."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Батареянын заряды төмөн болгондуктан, видео чалуу аяктады."</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Чалууларга тыюу салуу функциясы өчүрүлдү"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Сызсөздү өзгөртүү"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Чалууларга тыюу салуу функциясынын сырсөзүн өзгөртүү"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Чалууларга тыюу салуу функциясынын сырсөзү өзгөртүлбөй койду"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Чалууларга тыюу салуу сырсөзү өзгөртүлбөй койду"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Сырсөздөр дал келбейт"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 сандан турагн сырсөздү киргизиңиз"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Сырсөз өзгөртүлдү"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Сырсөздү ырастоо"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Сырсөздү киргизиңиз"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Чалууларга тыюу салуу функциясынын жөндөөлөрү"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Чалууларга тыюу салуу функциясынын жөндөөлөрү өчүрүлсүнбү?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Тармак бош эмес. Кийинчерээк кайра чалыңыз."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Тармак ашыкча жүктөлгөн. Жардам алуу үчүн мобилдик операторуңуз менен байланышыңыз."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Чалуу кабыл алынган жок."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> колдонуу үчүн <xliff:g id="SIM_NUMBER">%2$d</xliff:g> SIM-картасында мобилдик Интернет жана Интернет-роуминг күйгүзүлгөнүн текшериңиз. Муну мобилдик тармак жөндөөлөрүнөн өзгөртсөңүз болот."</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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Видео чалуу камсыздалган"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi аркылуу чалуу камсыздалган"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Катышуу камсыздалган"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Жарандык радио кызматынын дайындары"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS\'ти иштетүү"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Мобилдик радионун кубаты"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM картадагы дарек китепчесин көрүү"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Туруктуу терүү номерлерин көрүү"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Кызматтык терүү номерлерин көрүү"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS кызматынын абалы"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS абалы"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Катталды"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Катталган эмес"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Жеткиликтүү"</string>
+    <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>\nLTE аркылуу аудио чалуу: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi аркылуу аудио чалуу: <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_emergency" msgid="4763879891415016848">"Кырсыктаганда гана чалууга болот"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Радио өчүк"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роуминг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Роумингде эмес"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Күтүү режиминде"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Шыңгыроодо"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Чалуу аткарылууда"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Ажыратылган"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Туташууда"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Туташты"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Убактылуу токтотулду"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Белгисиз"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"байттар"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Учурдагы көз салуу идентификатору:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Демейки оператордун SIM картасынын көз салуу идентификатору:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL өткөрүү жөндөмдүүлүгү (кб/сек.):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL өткөрүү жөндөмдүүлүгү (кб/сек.):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Уюлдук тармакта жайгашкан жери тууралуу маалымат (жоюлган):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE физикалык каналынын конфигурациясы:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Уюлдук маалыматты жаңылоо ылдамдыгы:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Уюлдук чен-өлчөм маалыматтары:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Мобилдик туташуу кызматы:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роуминг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Чалуу багытын буруу:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Күйгүзгөндөн бери баштапкы абалга келтирилген PPP саны:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Учурдагы тармак:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Дайындар алынды:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Үн кызматы:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Сигналдын күчү:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Үн менен чалуунун абалы:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Дайындар жөнөтүлдү:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Күтүүдөгү билдирүү:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Телефон номери:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"www.google.com, IPv6 үчүн ping сурамы:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP кардарын сыноо:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS текшерүүнү которуштуруу"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM\'ге тиешелүү Маалымат/Жөндөөлөр"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Радио жыштыгынын режимин коюу"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Жыштык режиминин тизмеси жүктөлүүдө…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Жөндөө"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Ийгиликсиз"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Ийгиликтүү"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Планшеттин маалыматы"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Телефондун маалыматы"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Байланыш оператору жөнүндө маалымат"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Байланыш операторун өзгөртүү"</string>
 </resources>
diff --git a/res/values-lo/config.xml b/res/values-lo/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-lo/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 16892b0..0534a5f 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ເບີສ່ວນໂຕ"</string>
     <string name="payphone" msgid="7936735771836716941">"ຕູ້​ໂທ​ລະ​ສັບ​ສາ​ທາ​ລະ​ນະ"</string>
     <string name="onHold" msgid="6132725550015899006">"ພັກສາຍຊົ່ວຄາວ"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"ຂໍ້ຄວາມ <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"ຂໍ້ຄວາມຜູ້ໃຫ້ບໍລິການ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"ເລີ່ມລະຫັດ MMI ແລ້ວ"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"ກຳລັງແລ່ນລະຫັດ USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"ຍົກເລີກລະຫັດ MMI ແລ້ວ"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR ເທົ່ານັ້ນ"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: ຕ້ອງການ WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: GSM ເທົ່ານັ້ນ"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: ທົ່ວໂລກ"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ຮູບແບບເຄືອຂ່າຍທີ່ຕ້ອງການ: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ໂໝດ​ເຄືອ​ຂ່າຍ​ທີ່​ເລືອກ: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR ເທົ່ານັ້ນ"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"ໂໝດເຄືອຂ່າຍທີ່ຕ້ອງການ: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"ກຳລັງໂທ"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ເຄືອຂ່າຍ"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"ໂໝດ Enhanced 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ຫຼາຍໝວດໝູ່"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"ເປີດການນຳໃຊ້ຫຼາຍໝວດໝູ່ແລ້ວ"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ປິດການນຳໃຊ້ຫຼາຍໝວດໝູ່ແລ້ວ"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ແນະນຳ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ແນະ​ນໍາ​)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (ແນະ​ນໍາ​)"</string>
     <string name="network_global" msgid="3289646154407617631">"ທົ່ວໂລກ"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"ບໍ່ໄດ້ອັບເດດ FDN ເນື່ອງຈາກເບີໂທເກີນ 20 ຕົວເລກ."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"ບໍ່ໄດ້ອັບເດດ FDN ເນື່ອງຈາກເບີໂທເກີນ <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> ຕົວເລກ."</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 card..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"ບໍ່​ສາ​ມາດ​ໂທ​ໄດ້. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ບໍ່​ແມ່ນ​ເບີ​ໂທ​ສຸກ​ເສີນ."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"ບໍ່​ສາ​ມາດ​ໂທ​ໄດ້. ກົດ​ເບີ​ໂທ​ສຸກ​ເສີນ."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"ບໍ່ສາມາດໂທສຸກເສີນໄດ້"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"ມີພຽງເຈົ້າຂອງອຸປະກອນທີ່ສາມາດໃສ່ລະຫັດ PIN/PUK ໄດ້."</string>
     <string name="police_type_description" msgid="2819533883972081757">"ຕຳຫຼວດ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ລົດໂຮງໝໍ"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"ໄຟ"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"ການໂທ Real-time text (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="no_rtt_when_roaming" msgid="5268008247378355389">"ໝາຍເຫດ: ບໍ່ສາມາດໃຊ້ RTT ໃນເວລາໂຣມມິງໄດ້"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ປິດ"</item>
     <item msgid="1449091874731375214">"TTY ເຕັມ"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"ບໍລິການ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ຕັ້ງຄ່າ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ຍັງບໍ່ໄດ້ຕັ້ງ&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ປິດການຍົກເລີກການໂທແລ້ວ"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"ປ່ຽນລະຫັດຜ່ານ"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"ປ່ຽນລະຫັດຜ່ານການຍົກເວັ້ນການໂທ"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"ບໍ່ສາມາດປ່ຽນລະຫັດຜ່ານການຍົກເວັ້ນການໂທໄດ້."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"ບໍ່ສາມາດປ່ຽນລະຫັດຜ່ານການຍົກເວັ້ນການໂທໄດ້"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"ລະຫັດຜ່ານບ່ກົງກັນ"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"ໃສ່ລະຫັດຜ່ານ 4 ຕົວເລກ"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"ປ່ຽນລະຫັດຜ່ານແລ້ວ"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"ຢືນຢັນລະຫັດຜ່ານ"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"ໃສ່ລະຫັດຜ່ານ"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ການຕັ້ງຄ່າການຍົກເລີກການໂທ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"ປິດການຕັ້ງຄ່າການຍົກເລີກການໂທທັງໝົດບໍ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ເຄືອຂ່າຍບໍ່ຫວ່າງ. ກະລຸນາລອງໂທໃໝ່ໃນພາຍຫຼັງ."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ເຄືອຂ່າຍແອອັດ. ກະລຸນາຕິດຕໍ່ຜູ້ໃຫ້ບໍລິການມືຖືຂອງທ່ານສຳລັບຄວາມຊ່ວຍເຫຼືອ."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"ໂອນສາຍມາແລ້ວ."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"ເພື່ອໃຊ້ <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, ກະລຸນາກວດສອບວ່າເປີດໃຊ້ອິນເຕີເນັດມືຖືສຳລັບຊິມ <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ແລ້ວ. ທ່ານສາມາດປ່ຽນໄດ້ໃນການຕັ້ງຄ່າເຄືອຂ່າຍ."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"ເພື່ອໃຊ້ <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, ກະລຸນາກວດສອບວ່າເປີດໃຊ້ອິນເຕີເນັດມືຖື ແລະ ການໂຣມມິງອິນເຕີເນັດສຳລັບຊິມ <xliff:g id="SIM_NUMBER">%2$d</xliff:g> ແລ້ວ. ທ່ານສາມາດປ່ຽນໄດ້ໃນການຕັ້ງຄ່າເຄືອຂ່າຍ."</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ຈັດຫາການໂທດ້ວຍວິດີໂອແລ້ວ"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"ຈັດຫາການໂທດ້ວຍ Wi-Fi ແລ້ວ"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"ຈັດຫາ EAB/Presence ແລ້ວ"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"ຂໍ້ມູນ Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"ເປີດໃຊ້ DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"ພະລັງງານວິທະຍຸມືຖື"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ເບິ່ງສະໝຸດທີ່ຢູ່ໃນຊິມ"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ເບິ່ງໝາຍເລກໂທອອກທີ່ກຳນົດ"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"ເບິ່ງໝາຍເລກບໍລິການໂທອອກ"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"ສະຖານະບໍລິການ IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"ສະຖານະ IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ລົງທະບຽນແລ້ວ"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"ບໍ່ໄດ້ລົງທະບຽນ"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ຫວ່າງ"</string>
+    <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>\nສ່ວນຕິດຕໍ່ UT: <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_emergency" msgid="4763879891415016848">"ໂທສຸກເສີນເທົ່ານັ້ນ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ສັນຍານປິດຢູ່"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ໂຣມມິງ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ບໍ່ໄດ້ໂຣມມິງ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"ບໍ່ເຮັດວຽກ"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"ກຳລັງດັງ"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"ກຳລັງຢູ່ໃນສາຍ"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"ກຳລັງເຊື່ອມຕໍ່"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"ເຊື່ອມຕໍ່ແລ້ວ"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"ລະງັບໄວ້ແລ້ວ"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"ບໍ່ຮູ້ຈັກ"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ໄບຕ໌"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"subId ປັດຈຸບັນ:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId ຂອງຊິມອິນເຕີເນັດເລີ່ມຕົ້ນ:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"ແບນວິດ DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"ແບນວິດ UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ຂໍ້ມູນສະຖານທີ່ມືຖື (ສິ້ນສຸດການສະໜັບສະໜຸນແລ້ວ):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"ການຕັ້ງຄ່າຊ່ອງ LTE ກາຍະພາບ:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"ອັດຕາການໂຫຼດຄືນໃໝ່ຂອງຂໍ້ມູນມືຖື:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ຂໍ້ມູນການວັດແທກມືຖືທັງໝົດ:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ບໍລິການຂໍ້ມູນ:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ໂຣມມິງ​:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI​:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"ການປ່ຽນເສັ້ນທາງການໂທ:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"ຈຳນວນການຣີເຊັດຂອງ PPP ຕັ້ງແຕ່ເປີດເຄື່ອງມາ:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"ເຄືອຂ່າຍປັດຈຸບັນ:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ຂໍ້ມູນທີ່ໄດ້ຮັບ:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ບໍລິການສຽງ:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"ຄວາມແຮງສັນຍານ:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ສະຖານະການໂທ:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ຂໍ້ມູນສົ່ງໄປແລ້ວ:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"ຂໍ້ຄວາມທີ່ຖ້າຢູ່:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ເບີໂທລະສັບ:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"ທົດສອບລູກຂ່າຍ HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"ເລີ່ມທົດສອບ ping"</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_toggle_dns_check_label" msgid="1394078554927787350">"ເປີດ/ປິດ ການກວດ DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"ຂໍ້ມູນ/ການຕັ້ງຄ່າສະເພາະ OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ຕັ້ງໂໝດແຖບຄວາມຖີ່ວິທະຍຸ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ກຳລັງດາວໂຫລດລາຍຊື່ແຖບຄວາມຖີ່..."</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"ກຳນົດ"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ບໍ່ສຳເລັດ"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"ສຳເລັດ"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ຂໍ້​ມູນ​ແທັບເລັດ"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ຂໍ້​ມູນ​ໂທລະ​ສັບ"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ຂໍ້ມູນການເປີດນຳໃຊ້ເຄືອຂ່າຍ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"ກະຕຸ້ນການຈັດຫາຜູ້ໃຫ້ບໍລິການ"</string>
 </resources>
diff --git a/res/values-lt/config.xml b/res/values-lt/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-lt/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 6c7b1b6..15a9e35 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privatus numeris"</string>
     <string name="payphone" msgid="7936735771836716941">"Taksofonas"</string>
     <string name="onHold" msgid="6132725550015899006">"Sulaikyta"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"„<xliff:g id="MMICARRIER">%s</xliff:g>“ pranešimas"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operatoriaus pranešimas"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Paleistas MMI kodas"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Paleistas USSD kodas..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Atšauktas MMI kodas"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE / TDSCDMA / GSM / WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA / CDMA / EVDO / GSM / WCDMA"</item>
     <item msgid="6284311629324843506">"LTE / TDSCDMA / CDMA / EVDO / GSM / WCDMA"</item>
+    <item msgid="4738087170533378966">"Tik NR"</item>
+    <item msgid="2935877729588775187">"NR / LTE"</item>
+    <item msgid="8967513231424970529">"NR / LTE / CDMA / „EvDo“"</item>
+    <item msgid="1542643426479755015">"NR / LTE / GSM / WCDMA"</item>
+    <item msgid="5778162260258129841">"NR / LTE / CDMA / „EvDo“ / GSM / WCDMA"</item>
+    <item msgid="8088614845214545367">"NR / LTE / WCDMA"</item>
+    <item msgid="6517428040626326776">"NR / LTE / TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR / LTE / TDSCDMA / GSM"</item>
+    <item msgid="4130965694947056705">"NR / LTE / TDSCDMA / WCDMA"</item>
+    <item msgid="3869566732842046032">"NR / LTE / TDSCDMA / GSM / WCDMA"</item>
+    <item msgid="3942770927563146543">"NR / LTE / TDSCDMA / CDMA / „EvDo“ / GSM / WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Pageidaujamas tinklo režimas: pageidautina WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Pageidaujamas tinklo režimas: tik GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Pageidaujamas tinklo režimas: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Pageidaujamas tinklo režimas: GSM / WCDMA / LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Pageidaujamas tinklo režimas: CDMA ir LTE / EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Pageidaujamas tinklo režimas: LTE / CDMA / „EvDo“ / GSM / WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Pageidaujamas tinklo režimas: pasaulinis"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Pageidaujamas tinklo režimas: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Pageidautinas tinklo režimas: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Pageidaujamas tinklo režimas: LTE / TDSCDMA / GSM / WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Pageidaujamas tinklo režimas: TDSCDMA / CDMA / „EvDo“ / GSM / WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Pageidaujamas tinklo režimas: LTE / TDSCDMA / CDMA / „EvDo“ / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Pageidaujamas tinklo režimas: tik NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Pageidaujamas tinklo režimas: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Pageidaujamas tinklo režimas: NR / LTE / CDMA / „EvDo“"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Pageidaujamas tinklo režimas: NR / LTE / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Pageidaujamas tinklo režimas: NR / LTE / CDMA / „EvDo“ / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Pageidaujamas tinklo režimas: NR / LTE / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Pageidaujamas tinklo režimas: NR / LTE / TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Pageidaujamas tinklo režimas: NR / LTE / TDSCDMA / GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Pageidaujamas tinklo režimas: NR / LTE / TDSCDMA / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Pageidaujamas tinklo režimas: NR / LTE / TDSCDMA / GSM / WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Pageidaujamas tinklo režimas: NR / LTE / TDSCDMA / CDMA / „EvDo“ / GSM / WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Skambinama"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Tinklas"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Patobulintas 4G LTE režimas"</string>
@@ -377,6 +402,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Kelios kategorijos"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Įgalintos kelios kategorijos"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Išjungtos kelios kategorijos"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (rekomenduojama)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (rekomenduojamas)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (rekomenduojamas)"</string>
     <string name="network_global" msgid="3289646154407617631">"Visuotinis"</string>
@@ -441,7 +467,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Trinamas fiksuoto rinkimo numeris..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Ištrintas fiksuoto rinkimo numeris."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN neatnaujintas, nes įvedėte neteisingą PIN kodą."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN neatnaujintas, nes numeris viršija 20 skaitmenų apribojimą."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FRN neatnaujintas, nes numeris viršija <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> skaitm. apribojimą."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN nebuvo atnaujintas. Įvestas PIN2 kodas buvo netinkamas arba telefono numeris buvo atmestas."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Nepavyko atlikti FDN operacijos."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Skaitoma iš SIM kortelės..."</string>
@@ -532,6 +558,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Nepavyko paskambinti. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nėra pagalbos numeris."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nepavyko paskambinti. Surinkite pagalbos numerį."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Skambučių pagalbos numeriu paslauga nepasiekiama"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Tik įrenginio savininkas gali įvesti PIN / PUK kodus."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policija"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Greitoji medicinos pagalba"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Gaisras"</string>
@@ -559,6 +586,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Tikralaikių teksto pranešimų (RTT) skambutis"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Leisti susirašinėti dalyvaujant balso skambutyje"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT padeda skambintojams, kurie yra kurti, neprigirdintys, sunkiai kalba arba kuriems reikia ne tik kalbėti.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Sužinokite daugiau&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT skambučiai išsaugomi kaip pranešimų nuorašai\n       &lt;br&gt; – RTT paslauga nepasiekiama dalyvaujant vaizdo skambučiuose"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Pastaba: RTT paslauga nepasiekiama, kai naudojamas tarptinklinis ryšys"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY išjungta"</item>
     <item msgid="1449091874731375214">"TTY pilnas"</item>
@@ -615,6 +643,14 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Taip"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ne"</string>
     <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>
     <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>
@@ -754,7 +790,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Skambučių blokavimas išaktyvintas"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Pakeisti slaptažodį"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Pakeisti skambučių blokavimo slaptažodį"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Nepavyko pakeisti skambučių blokavimo slaptažodžio."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Nepavyko pakeisti skambučių blokavimo slaptažodžio"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Slaptažodžiai neatitinka"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Įveskite 4 skaičių slaptažodį"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Slaptažodis pakeistas"</string>
@@ -763,7 +799,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Patvirtinti slaptažodį"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Įveskite slaptažodį"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Skambučių blokavimo nustatymai"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Išaktyvinti visus skambučių blokavimo nustatymus?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Tinklas užimtas. Vėliau pabandykite dar kartą paskambinti."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Tinklas perpildytas. Dėl pagalbos susisiekite su mobiliojo ryšio operatoriumi."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Skambutis nukreiptas."</string>
@@ -793,4 +828,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Norėdami naudoti paslaugą (<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>), įsitikinkite, kad <xliff:g id="SIM_NUMBER">%2$d</xliff:g> SIM kortelės 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_dialog_dismiss" msgid="5934541487903081652">"Atsisakyti"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Įgalinti duomenų ryšį"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Išjungti duomenų ryšį"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"„VoLTE“ aprūpinimas"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Vaizdo skambučių aprūpinimas"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Skambinimo naudojant „Wi-Fi“ ryšį aprūpinimas"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB / veiklos aprūpinimas"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS duomenys"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Įgalinti DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Paleisti įrenginį iš naujo?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Žiūrėti paslaugos renkamus numerius"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS paslaugos būsena"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS būsena"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Užregistruota"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Neregistruoti naudotojai"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Pasiekiama"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nepasiekiama"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registracija: <xliff:g id="STATUS">%1$s</xliff:g>\nBalso skambučiai naudojant LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nBalso skambučiai naudojant „Wi-Fi“: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVaizdo skambučiai: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT sąsaja: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Aptarnaujama"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Paslaugos neteikiamos"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Tik skambučiai pagalbos numeriu"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radijas išjungtas"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Tarptinklinis ryšys"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Neveikia tarptinklinis ryšys"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Neaktyvus"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Skambinama"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Skambutis vykdomas"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Atsijungta"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Prisijungiama"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Prisijungta"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Laikinai sustabdyta"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Nežinoma"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pakuot."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"B"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Dabartinis papildomas ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Numatytųjų duomenų SIM kortelės papildomas ID:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL pralaidumas (Kb/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL pralaidumas (Kb/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobiliojo ryšio vietovės informacija (nebenaudojama):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE fizinio kanalo konfigūracija:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobiliojo ryšio informacijos atnaujinimo dažnis:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Visų mobiliųjų ryšių įvertinimo informacija:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Duomenų paslauga:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Tarptinklinis ryšys:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Skambučio peradresavimas:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP nustatymų iš naujo skaičius po įkrovos:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Dabartinis tinklas:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Gauti duomenys:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Balso paslauga:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signalo stiprumas:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Balso skambučio būsena:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Duomenys išsiųsti:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Laukiantis pranešimas:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefono numeris:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ryšio patikros prieglobos serverio pavadinimas (www.google.com) „IPv6“:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP kliento bandymas:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Paleisti ryšio patikros bandymą"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Atnaujinti"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Nustatyti"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Nepavyko"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Pavyko"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Planšetinio kompiuterio informacija"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefono informacija"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operatoriaus aprūpinimo informacija"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Aktyviklio operatoriaus aprūpinimas"</string>
 </resources>
diff --git a/res/values-lv/config.xml b/res/values-lv/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-lv/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 89195a0..eea7b3a 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privāts numurs"</string>
     <string name="payphone" msgid="7936735771836716941">"Maksas tālrunis"</string>
     <string name="onHold" msgid="6132725550015899006">"Aizturēts"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Īsziņa"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mobilo sakaru operatora ziņojums"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI kods ir startēts."</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD kods darbojas…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI kods ir atcelts"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Tikai NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Ieteicamais tīkla režīms: WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Ieteicamais tīkla režīms: tikai GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Vēlamais tīkla režīms: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Vēlamais tīkla režīms: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Vēlamais tīkla režīms: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Ieteicamais tīkla režīms: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Vēlamais tīkla režīms: Globāls"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Vēlamais tīkla režīms: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Vēlamais tīkla režīms: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Ieteicamais tīkla režīms: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Ieteicamais tīkla režīms: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Ieteicamais tīkla režīms: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Ieteicamais tīkla režīms: tikai NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Ieteicamais tīkla režīms: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Ieteicamais tīkla režīms: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Ieteicamais tīkla režīms: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Ieteicamais tīkla režīms: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Ieteicamais tīkla režīms: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Ieteicamais tīkla režīms: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Ieteicamais tīkla režīms: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Ieteicamais tīkla režīms: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Ieteicamais tīkla režīms: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Ieteicamais tīkla režīms: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Zvanīšana"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Tīkls"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Uzlabota 4G LTE režīms"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Vairākas kategorijas"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Vairāku kategoriju režīms ir iespējots."</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Vairāku kategoriju režīms ir atspējots."</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ieteicams)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ieteicams)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (ieteicams)"</string>
     <string name="network_global" msgid="3289646154407617631">"Visā pasaulē"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Notiek fiksētā numuru sastādīšanas numura dzēšana…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fiksētais numuru sastādīšanas numurs ir atspējots."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"IZSN nav atjaunināts, jo tika ievadīts nepareizs PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"IZSN netika atjaunināts, jo numurā ir vairāk par 20 cipariem."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"IZSN netika atjaunināts, jo numurā ir vairāk par <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> cipariem."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"IZSN netika atjaunināts. Ievadītais PIN2 nebija pareizs, vai tālruņa numurs tika noraidīts."</string>
     <string name="fdn_failed" msgid="216592346853420250">"IZSN ievadīšana neizdevās."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Notiek lasīšana no SIM kartes..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Nevar veikt zvanu. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nav ārkārtas numurs."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nevar veikt zvanu. Zvaniet ārkārtas numuram."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Ārkārtas izsaukumi nav pieejami"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Tikai ierīces īpašnieks var ievadīt PIN/PUK kodu."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policija"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ātrā palīdzība"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Ugunsgrēks"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Reāllaika teksta (RTT) zvans"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Atļaut ziņojumapmaiņu balss zvanā"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT funkcionalitāte palīdz nedzirdīgiem un vājdzirdīgiem zvanītājiem, kā arī zvanītājiem, kuriem ir runas traucējumi vai ir nepieciešama ne tikai balss skaņa.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Uzzināt vairāk&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT zvani tiek saglabāti ziņojumu transkripcijas formātā.\n       &lt;br&gt; - RTT funkcionalitāte nav pieejama videozvaniem."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Piezīme. RTT nav pieejams viesabonēšanas laikā."</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Teletaips ir izslēgts"</item>
     <item msgid="1449091874731375214">"Viss teletaips"</item>
@@ -611,6 +639,13 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Jā"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nē"</string>
     <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>
     <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>
@@ -750,7 +785,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Zvanu aizliegšana deaktivizēta"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Mainīt paroli"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Mainīt zvanu aizliegšanas paroli"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Nevar mainīt zvanu aizliegšanas paroli."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Nevar mainīt zvanu aizliegšanas paroli"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Paroles neatbilst"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Ievadiet paroli, kas sastāv no 4 cipariem"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Parole nomainīta"</string>
@@ -759,7 +794,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Apstiprināt paroli"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Ievadiet paroli"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Zvanu aizliegšanas iestatījumi"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Vai deaktivizēt visus zvanu aizliegšanas iestatījumus?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Tīkls ir aizņemts. Lūdzu, vēlāk mēģiniet zvanīt vēlreiz."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Tīkls ir pārpildīts. Lai saņemtu palīdzību, sazinieties ar savu mobilo sakaru operatoru."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Zvans novirzīts."</string>
@@ -789,4 +823,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Lai izmantotu pakalpojumu <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, jāieslēdz mobilie dati un datu viesabonēšana SIM kartei <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Tos var ieslēgt mobilā tīkla iestatījumos."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Nerādīt"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Iespējot datu savienojumu"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Atspējot datu savienojumu"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE nodrošināts"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videozvani nodrošināti"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi zvani nodrošināti"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/klātbūtne nodrošināta"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS dati"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Iespējot DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Vai restartēt ierīci?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Pakalpojuma iezvanes numuru skatīšana"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Tūlītējās ziņojumapmaiņas pakalpojuma statuss"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Tūlītējās ziņojumapmaiņas statuss"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Reģistrēts"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Nav reģistrēts"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Pieejams"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nav pieejama"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Tūlītējās ziņojumapmaiņas reģistrācija: <xliff:g id="STATUS">%1$s</xliff:g>\nBalss pārraide ar LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nBalss pārraide ar Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideozvani: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT saskarne: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Darbojas"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Nedarbojas"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Tikai ārkārtas izsaukumi"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio izslēgts"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Viesabonēšana"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Bez viesabonēšanas"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Dīkstāvē"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Notiek zvanīšana"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Notiek zvans"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Savienojums pārtraukts"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Notiek savienojuma izveide"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Savienojums izveidots"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Darbība apturēta"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Nezināms"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"baiti"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Pašreizējais papildu ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Noklusējuma datu SIM kartes papildu ID:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL joslas platums (kb/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL joslas platums (kb/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobilā tālruņa atrašanās vietas informācija (novecojusi):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE fiziskā kanāla konfigurācija:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobilā tīkla informācijas atsvaidzināšanas biežums:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Visa mobilā tīkla mērījumu informācija:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datu pakalpojums:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Viesabonēšana:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Zvana novirzīšana:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Protokola PPP atiestatīšanas reižu skaits kopš palaišanas:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Pašreizējais tīkls:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Saņemtie dati:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Balss pakalpojums:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signāla stiprums:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Balss zvana statuss:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Dati nosūtīti:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Ziņojums gaida:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Tālruņa numurs:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ehotestēšanas saimniekdatora nosaukuma (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP klienta tests:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Veikt ehotestēšanu"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Atjaunināt"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Iestatīt"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Neizdevās"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Izdevās"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informācija par planšetdatoru"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Tālruņa informācija"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informācija par mobilo sakaru operatora nodrošināšanu"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Aktivizēt operatora nodrošināšanu"</string>
 </resources>
diff --git a/res/values-mcc208-mnc10-fr/strings.xml b/res/values-mcc208-mnc10-fr/strings.xml
index ac5ef59..eae41e9 100644
--- a/res/values-mcc208-mnc10-fr/strings.xml
+++ b/res/values-mcc208-mnc10-fr/strings.xml
@@ -3,4 +3,5 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="enhanced_4g_lte_mode_summary">Utiliser la fonction Voix 4G (HD) lorsqu\'elle est disponible</string>
     <string name="enhanced_4g_lte_mode_title">Activer Voix 4G (HD)</string>
+    <string name="wifi_calling">Activer Appels Wi-Fi</string>
 </resources>
diff --git a/res/values-mk/config.xml b/res/values-mk/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-mk/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index da177d0..6b27de9 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Приватен број"</string>
     <string name="payphone" msgid="7936735771836716941">"Говорница"</string>
     <string name="onHold" msgid="6132725550015899006">"На чекање"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Порака на <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Порака од оператор"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI кодот е стартуван"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD кодот се извршува..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI кодот е откажан"</string>
@@ -72,7 +74,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Конфигурирајте ги поставките на сметка"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"Сите сметки за повици"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Изберете кои сметки може да повикуваат"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Повикување преку Wi-Fi"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Повик преку Wi-Fi"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Вградена услуга на поврзување"</string>
     <string name="voicemail" msgid="7697769412804195032">"Говорна пошта"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Говорна пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Само NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Претпочитан режим на мрежа: се претпочита WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Претпочитан режим на мрежа: само GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Претпочитан режим на мрежа: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Претпочитан режим на мрежа: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Претпочитан режим на мрежа: CDMA + LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Претпочитан режим на мрежа: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Претпочитан режим на мрежа: глобален"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Претпочитан режим на мрежа: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Претпочитан режим на мрежа: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Претпочитан режим на мрежа: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Претпочитан режим на мрежа: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Претпочитан режим на мрежа: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Претпочитан режим на мрежа: само NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Претпочитан режим на мрежа: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Претпочитан режим на мрежа: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Претпочитан режим на мрежа: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Претпочитан режим на мрежа: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Претпочитан режим на мрежа: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Претпочитан режим на мрежа: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Претпочитан режим на мрежа: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Претпочитан режим на мрежа: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Претпочитан режим на мрежа: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Претпочитан режим на мрежа: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Повикување"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Мрежа"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Режим на подобрени 4G LTE"</string>
@@ -273,7 +298,7 @@
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Треба да се избере"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Да се промени SIM за интернет?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Да се користи <xliff:g id="NEW_SIM">%1$s</xliff:g> наместо <xliff:g id="OLD_SIM">%2$s</xliff:g> за мобилен интернет?"</string>
-    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Повикување преку Wi-Fi"</string>
+    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Повик преку Wi-Fi"</string>
     <string name="video_calling_settings_title" msgid="342829454913266078">"Видеоповикување преку оператор"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"Опции за GSM/UMTS"</string>
     <string name="cdma_options" msgid="3669592472226145665">"Опции на CDMA"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Мултикатегорија"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Мултикатегоријата е овозможена"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Мултикатегоријата е оневозможена"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (препорачано)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (препорачано)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (препорачано)"</string>
     <string name="network_global" msgid="3289646154407617631">"Глобална"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDN не е ажуриран затоа што бројот содржи повеќе од 20 цифри."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN не е ажуриран затоа што бројот содржи повеќе од <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> цифри."</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>
@@ -517,7 +543,7 @@
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Не може да се задржат повици."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Поврзете се на безжична мрежа за да повикате."</string>
     <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Овозможете повикување преку Wi-Fi за воспоставување повик."</string>
-    <string name="emergency_information_hint" msgid="9208897544917793012">"Информации за итни случаи"</string>
+    <string name="emergency_information_hint" msgid="9208897544917793012">"Податоци за итни случаи"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Сопственик"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Допрете повторно за приказ на информации"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"Повик за итни случаи"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Не може да повика. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не е број за итни повици."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Не може да повика. Бирајте го бројот за итни повици."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Итните повици не се достапни"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Само сопственикот на уредот може да внесува кодови PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Полиција"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Брза помош"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Пожарна"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Напомена: RTT не е достапна во роаминг"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY исклучени"</item>
     <item msgid="1449091874731375214">"TTY целосни"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Забраната на повици е деактивирана"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Променете ја лозинката"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Променете ја лозинката за забрана на повици"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Не може да се промени лозинката за забрана на повици."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Не може да се промени лозинката за забрана на повици"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Лозинките не се совпаѓаат"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Внесете лозинка со 4 броеви"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Лозинката е променета"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Потврдете ја лозинката"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Внесете лозинка"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Поставки за забрана на повици"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Да се деактивираат сите поставки за забрана на повици?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Мрежата е зафатена. Обидете се да повикате повторно подоцна."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Мрежата е презафатена. Контактирајте со вашиот мобилен оператор за помош."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Повикот е пренасочен."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Овозможено е видеоповикување"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Овозможено е повикување преку Wi-Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Овозможен е подобрен адресар"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Податоци на Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Овозможете DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Радио-напојување на мобилен"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Прикажи именик на SIM-картичката"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прикажи броеви со ограничено бирање"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Прикажи броеви за бирање служби"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Статус на услугата IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Статус на IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Регистриран"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Не е регистриран"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Достапен"</string>
+    <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Комуникација преку Wi-Fi: <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_emergency" msgid="4763879891415016848">"Само итни повици"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Радиото е исклучено"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роаминг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Надвор од роаминг"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Мирување"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ѕвонење"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Повик во тек"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Исклучен"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Се поврзува"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Поврзан"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Суспендиран"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Непознат"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"бајти"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Тековен SUBID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SUBID на стандардната SIM за мобилен интернет:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Брзина на пренос при преземање (кбит/с):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Брзина на пренос при прикачување (кбит/с):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Информации за локација на мобилен (неподдржано):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Конфигурација на физички канал на LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Стапка на освежување на информациите за мобилниот:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Сите информации за мерењата на мобилниот:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Услуга за мобилен интернет:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роаминг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Пренасочен повик:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Број на ресетирања PPP од подигање:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Тековна мрежа:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Примени податоци:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Гласовна услуга:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Јачина на сигнал:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Статус на гласовен повик:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Испратени податоци:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Порака на чекање:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Телефонски број:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Пингај го хостот (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Тестирање HTTP-клиент:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"Префрли на DNS-проверка"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Информации/Поставки карактеристични за ОЕМ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Поставете режим на појас на радио"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Се вчитува список на појаси…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Постави"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Неуспешно"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Успешно"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Информации за таблет"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Информации за телефонот"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Информации за обезбедување оператор"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Активирајте обезбедување оператор"</string>
 </resources>
diff --git a/res/values-ml/config.xml b/res/values-ml/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ml/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 2d94f67..d2d03e5 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"സ്വകാര്യ നമ്പർ"</string>
     <string name="payphone" msgid="7936735771836716941">"പണം നൽകി ഉപയോഗിക്കുന്ന ഫോൺ"</string>
     <string name="onHold" msgid="6132725550015899006">"ഹോള്‍ഡിലാണ്"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> സന്ദേശം"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"സേവനദാതാവിന്റെ സന്ദേശം"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI കോഡ് ആരംഭിച്ചു"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD കോഡ് പ്രവർത്തിക്കുന്നു…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI കോഡ് റദ്ദാക്കി"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR മാത്രം"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: WCDMA തിരഞ്ഞെടുത്തു"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: GSM മാത്രം"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: ഗ്ലോബൽ"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് മോഡ്: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR only"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് മോഡ്: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"കോൾചെയ്യുന്നു"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"നെറ്റ്‌വർക്ക്"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"മെച്ചപ്പെടുത്തിയ 4G LTE മോഡ്"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ഒന്നിലധികം വിഭാഗം"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"ഒന്നിലധികം വിഭാഗം പ്രവർത്തനക്ഷമമാക്കി"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ഒന്നിലധികം വിഭാഗം പ്രവർത്തനരഹിതമാക്കി"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (നിർദ്ദേശിക്കുന്നത്)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ശുപാർശചെയ്‌തത്)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (ശുപാർശചെയ്‌തത്)"</string>
     <string name="network_global" msgid="3289646154407617631">"ഗ്ലോബൽ"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"സ്ഥിര ഡയലിംഗ് നമ്പർ ഇല്ലാതാക്കുന്നു…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"സ്ഥിര ഡയലിംഗ് നമ്പർ ഇല്ലാതാക്കി."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"നിങ്ങൾ തെറ്റായ പിൻ നൽകിയതിനാൽ FDN അപ്‌ഡേറ്റുചെയ്‌തില്ല."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"നമ്പർ 20 അക്കങ്ങൾ കവിഞ്ഞതിനാൽ 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="fdn_failed" msgid="216592346853420250">"FDN പ്രവർത്തനം പരാജയപ്പെട്ടു."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"സിം കാർഡിൽ നിന്നും റീഡുചെയ്യുന്നു…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"കോൾ ചെയ്യാനാവില്ല. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> എന്നത് ഒരു അടിയന്തിര നമ്പരല്ല."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"കോൾ ചെയ്യാനാവില്ല. ഒരു അടിയന്തിര കോൾ നമ്പർ ഡയൽചെയ്യുക."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"എമർജൻസി കോളിംഗ് ലഭ്യമല്ല"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"ഉപകരണത്തിന്റെ ഉടമയ്ക്ക് മാത്രമേ പിൻ/PUK കോഡുകൾ നൽകാനാകൂ."</string>
     <string name="police_type_description" msgid="2819533883972081757">"പോലീസ്"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ആംബുലൻസ്"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"തീ"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"കുറിപ്പ്: റോമിംഗിലായിരിക്കുമ്പോൾ RTT ലഭ്യമല്ല"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ഓഫാണ്"</item>
     <item msgid="1449091874731375214">"TTY പൂർണ്ണം"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"സേവനം"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"സജ്ജമാക്കുക"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;സജ്ജീകരിച്ചിട്ടില്ല&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"കോൾ തടയൽ നിർജ്ജീവമാക്കി"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"പാസ്‌വേഡ് മാറ്റുക"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"കോൾ തടയൽ പാസ്‌വേഡ് മാറ്റുക"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"കോൾ തടയൽ പാസ്‌വേഡ് മാറ്റാനാവില്ല."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"കോൾ തടയൽ പാസ്‌വേഡ് മാറ്റാനാവില്ല"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"പാസ്‌വേഡുകള്‍ പൊരുത്തപ്പെടുന്നില്ല"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 അക്കങ്ങളുള്ള പാസ്‌വേഡ് നൽകുക"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"‍പാസ്‌വേഡ് മാറ്റി"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"പാസ്‌വേഡ് സ്ഥിരീകരിക്കുക"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"പാസ്‌വേഡ് നൽകുക"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"കോൾ തടയൽ ക്രമീകരണം"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"എല്ലാ കോൾ തടയൽ ക്രമീകരണവും നിർജ്ജീവമാക്കണോ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"നെറ്റ്‌വർക്ക് തിരക്കിലാണ്. കോൾ ചെയ്യാൻ പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"നെറ്റ്‌വർക്ക് തിരക്കിലാണ്. സഹായത്തിനായി നിങ്ങളുടെ മൊബൈൽ ഓപ്പറേറ്ററെ ബന്ധപ്പെടുക."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"കോൾ വഴി തിരിച്ചുവിട്ടു."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"വീഡിയോ കോളിംഗ് ഏർപ്പെടുത്തി"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"വൈഫൈ കോളിംഗ് ഏർപ്പെടുത്തി"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/സാന്നിധ്യം ഏർപ്പെടുത്തി"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ഡാറ്റ"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"മൊബൈൽ റേഡിയോ പവർ"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"സിം വിലാസ പുസ്‌തകം കാണുക"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"സ്ഥിര ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"സർവീസ് ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS സേവന നില"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS നില"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"രജിസ്റ്റർ ചെയ്‌തു"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"രജിസ്‌റ്റർ ചെയ്‌തിട്ടില്ല"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ലഭ്യമാണ്"</string>
+    <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>\nLTE വഴി ശബ്ദം: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nവൈഫൈ വഴി ശബ്ദം: <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_emergency" msgid="4763879891415016848">"അടിയന്തര കോളുകൾ മാത്രം"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"റേഡിയോ ഓഫാണ്"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"റോമിംഗ്"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"റോമിംഗ് അല്ല"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"നിഷ്ക്രിയം"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"റിംഗ് ചെയ്യുന്നു"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"കോൾ പുരോഗതിയിലാണ്"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"വിച്ഛേദിച്ചു"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"കണക്‌റ്റ് ചെയ്യുന്നു"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"കണക്‌റ്റ് ചെയ്‌തു"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"താൽക്കാലികമായി റദ്ദാക്കി"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"അജ്ഞാതം"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ബൈറ്റുകൾ"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"നിലവിലെ ഉപ‌ഐഡി:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ഡിഫോൾട്ട് ഡാറ്റാ സിമ്മിന്റെ ഉപഐഡി:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL ബാൻഡ്‌വിത്ത് (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL ബാൻഡ്‍വിത്ത് (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"സെൽ ലൊക്കേഷൻ വിവരങ്ങൾ (അവസാനിപ്പിച്ചു):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ഫിസിക്കൽ ചാനൽ കോൺഫിഗറേഷൻ:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"സെൽ വിവരങ്ങൾ പുതുക്കിയെടുക്കൽ നിരക്ക്:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"എല്ലാ സെൽ അളവ് വിവരങ്ങളും:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ഡാറ്റ സേവനം:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"റോമിംഗ്:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"കോൾ റീഡയറക്‌ട് ചെയ്യുക:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"ബൂട്ട് ചെയ്‌തതിന് ശേഷമുള്ള PPP റീസെറ്റ് ചെയ്തതിന്റെ എണ്ണം:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"നിലവിലെ നെറ്റ്‌വർക്ക്:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ലഭിച്ച ഡാറ്റ:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ശബ്ദ സേവനം:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"സിഗ്‌നൽ ശക്തി:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"വോയ്‌സ് കോൾ നില:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"അയച്ച ഡാറ്റ:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"സന്ദേശം കാത്തിരിക്കുന്നു:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ഫോൺ നമ്പർ:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ഹോസ്റ്റുനാമം(www.google.com) IPv6 പിംഗ് ചെയ്യുക:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP ക്ലയന്റ് പരിശോധന:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS പരിശോധന മാറ്റുക"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-നിർദ്ദിഷ്‌ട വിവരം/ക്രമീകരണം"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"റേഡിയോ ബാൻഡ് മോഡ് സജ്ജീകരിക്കുക"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ബാൻഡ് ലിസ്‌റ്റ് ലോഡ് ചെയ്യുന്നു…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"സജ്ജീകരിക്കുക"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"പരാജയപ്പെട്ടു"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"വിജയകരം"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ടാബ്‌ലെറ്റ് വിവരം"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ഫോൺ വിവരം"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"കാരിയർ പ്രൊവിഷനിംഗ് വിവരം"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"കാരിയർ പ്രൊവിഷനിംഗ് തുടങ്ങുക"</string>
 </resources>
diff --git a/res/values-mn/config.xml b/res/values-mn/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-mn/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index e966e06..ab3790c 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Нууцлагдсан дугаар"</string>
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"Хүлээлгэнд"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Мессеж"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Оператор компанийн мессеж"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI код эхэллээ"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD код ажиллаж байна…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI код цуцлагдсан"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Зөвхөн NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Давуу сүлжээний төлөв: WCDMA давуутай"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Давуу сүлжээний төлөв: зөвхөн GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Давуу сүлжээний төлөв: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Давуу сүлжээний төлөв: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Давуу сүлжээний төлөв: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Давуу эрхтэй сүлжээний горим: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Давуу сүлжээний төлөв: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Давуу сүлжээний төлөв: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Хамгийн тохиромжтой горимууд: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Давуу сүлжээний горим: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Давуу сүлжээний төлөв: CDMA/EvDo/GSM/WCDMAj"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Давуу сүлжээний горим: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Давуу эрхтэй сүлжээний горим: зөвхөн NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Давуу эрхтэй сүлжээний горим: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Давуу эрхтэй сүлжээний горим: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Давуу эрхтэй сүлжээний горим: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Давуу эрхтэй сүлжээний горим: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Давуу эрхтэй сүлжээний горим: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Давуу эрхтэй сүлжээний горим: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Давуу эрхтэй сүлжээний горим: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Давуу эрхтэй сүлжээний горим: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Давуу эрхтэй сүлжээний горим: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Давуу эрхтэй сүлжээний горим: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Залгаж байна"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Сүлжээ"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Сайжруулсан 4G LTE горим"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Олон ангилал"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Олон-ангилал идэвхжсэн"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Олон-ангилал идэвхгүйжсэн"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (санал болгосон)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (зөвлөмж болгосон)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (зөвлөмж болгосон)"</string>
     <string name="network_global" msgid="3289646154407617631">"Глобал"</string>
@@ -439,7 +465,7 @@
     <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="fdn_invalid_number" msgid="155512764412225645">"Дугаар 20 цифрээс хэтэрсэн учир 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="fdn_failed" msgid="216592346853420250">"ФДН ажиллуулах амжилтгүй."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM картаас уншиж байна…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Дуудлага хийх боломжгүй. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> нь түргэн тусламжийн дугаар биш байна."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Дуудлага хийх боломжгүй. Түргэн тусламжийн дугаар луу залга."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Яаралтай тусламжийн дуудлага хийх боломжгүй"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Зөвхөн төхөөрөмжийн эзэмшигч ПИН/PUK код оруулах боломжтой."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Цагдаа"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Түргэн тусламж"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Гал"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Санамж: RTT (Тухайн агшины текст) роуминг үйлчилгээний үед боломжгүй байна"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY Унтраасан"</item>
     <item msgid="1449091874731375214">"TTY Дүүрэн"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"Үйлчилгээ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"Тохиргоо"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;Тохируулаагүй&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Дуудлага хаахыг идэвхгүй болгосон"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Нууц үг солих"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Дуудлага хаах нууц үгийг өөрчлөх"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Дуудлага хаах нууц үгийг өөрчлөх боломжгүй."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Дуудлага хаах нууц үгийг өөрчлөх боломжгүй"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Нууц үг таарахгүй байна"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 дугаартай нууц үг оруулна уу"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Нууц үгийг өөрчилсөн"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Нууц үг баталгаажуулах"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Нууц үг оруулна уу"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Дуудлага хаах тохиргоо"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Бүх дуудлага хаах тохиргоог идэвхгүй болгох уу?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Сүлжээ завгүй байна. Та дуудлагаа дараа дахин оролдоно уу."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Сүлжээ ачаалалтай байна. Туслалцаа авахын тулд мобайл оператортойгоо холбогдоно уу."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Дуудлагыг шилжүүлсэн."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Видео дуудлагыг бэлтгэсэн"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi дуудлагыг бэлтгэсэн"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence-г бэлтгэсэн"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs Дата"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS-г идэвхжүүлэх"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Мобайл радио цахилгаан"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM хаягийн лавлахыг харах"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Залгахаар тохируулсан дугаарыг харах"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Үйлчилгээний залгах дугаарыг харах"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS үйлчилгээний төлөв"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS төлөв"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Бүртгэсэн"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Бүртгээгүй"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Боломжтой"</string>
+    <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>\nLTE-н дуу оруулалт: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi-н дуу оруулалт: <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_emergency" msgid="4763879891415016848">"Зөвхөн яаралтай дуудлага"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Радио унтраалттай"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роуминг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Роуминг биш"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Идэвхгүй"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Хонх дуугарч байна"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Дуудлага хийж байна"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Холболт салсан"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Холбогдож байна"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Холбогдсон"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Түр хаасан"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Тодорхойгүй"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"байт"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Одоогийн subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Өгөгдмөл дата SIM-н SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DLзурвасын өргөн (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL Зурвасын өргөн (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Үүрэн байршлын мэдээлэл (цуцалсан):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE Сувгийн бодит тохиргоо:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Үүрэн мэдээлэл сэргээх тариф:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Бүх үүрэн хэмжилтийн мэдээлэл:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Дата үйлчилгээ:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роуминг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Дуудлагыг дахин чиглүүлэх:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Асааснаас хойш дахин шинэчилсэн PPP-н тоо:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Одоогийн сүлжээ:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Хүлээн авсан дата:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Дуут үйлчилгээ:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Дохионы хүч:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Дуут дуудлагын төлөв:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Дата илгээсэн:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Зурвасыг хүлээж байна:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Утасны дугаар:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Пинг хостны нэр(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP Үйлчлүүлэгчийн тест:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS шалгалтыг унтраах/асаах"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-тодорхой Мэдээлэл/Тохиргоо"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Радио зурвасын горимыг тохируулах"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Зурвасын жагсаалтыг ачаалж байна…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Тохируулах"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Амжилтгүй"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Амжилттай"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Таблетын мэдээлэл"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Утасны мэдээлэл"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Оператор компанийн хангалтын мэдээлэл"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Оператор компанийн хангалтыг эхлүүлэх"</string>
 </resources>
diff --git a/res/values-mr/config.xml b/res/values-mr/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-mr/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 0f8c2d2..8cb48c4 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -25,8 +25,10 @@
     <string name="private_num" msgid="4487990167889159992">"खाजगी नंबर"</string>
     <string name="payphone" msgid="7936735771836716941">"सार्वजनिक फोन"</string>
     <string name="onHold" msgid="6132725550015899006">"होल्ड वर"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> मेसेज"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"वाहक मेसेज"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI कोड प्रारंभ केला"</string>
-    <string name="ussdRunning" msgid="1163586813106772717">"USSD कोड चालू…"</string>
+    <string name="ussdRunning" msgid="1163586813106772717">"USSD कोड सुरू…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI कोड रद्द केला"</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>
@@ -35,7 +37,7 @@
     <string name="audio_mode_speaker" msgid="243689733219312360">"स्पीकर"</string>
     <string name="audio_mode_earpiece" msgid="2823700267171134282">"हँडसेट इअरपीस"</string>
     <string name="audio_mode_wired_headset" msgid="5028010823105817443">"वायर्ड हेडसेट"</string>
-    <string name="audio_mode_bluetooth" msgid="25732183428018809">"ब्लूटुथ"</string>
+    <string name="audio_mode_bluetooth" msgid="25732183428018809">"ब्लूटूथ"</string>
     <string name="wait_prompt_str" msgid="5136209532150094910">"खालील टोन पाठवायचे?\n"</string>
     <string name="pause_prompt_str" msgid="2308897950360272213">"टोन पाठवित आहे\n"</string>
     <string name="send_button" msgid="5070379600779031932">"पाठवा"</string>
@@ -103,7 +105,7 @@
     <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" 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>
@@ -134,10 +136,10 @@
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"SS विनंती USSD विनंतीवर बदलली"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"नवीन SS विनंतीवर बदलली"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS विनंती व्हिडिओ कॉलवर बदलली"</string>
-    <string name="fdn_check_failure" msgid="1833769746374185247">"आपल्‍या फोन अ‍ॅप्‍सचे निश्चित डायलिंग नंबर सेटिंग चालू केले. परिणामी, काही कॉल संबंधित वैशिष्‍ट्ये कार्य करीत नाहीत."</string>
-    <string name="radio_off_error" msgid="8321564164914232181">"या सेटिंग्‍ज पाहण्‍यापूर्वी रेडिओ चालू करा."</string>
+    <string name="fdn_check_failure" msgid="1833769746374185247">"आपल्‍या फोन अ‍ॅप्‍सचे निश्चित डायलिंग नंबर सेटिंग सुरू केले. परिणामी, काही कॉल संबंधित वैशिष्‍ट्ये कार्य करीत नाहीत."</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"या सेटिंग्‍ज पाहण्‍यापूर्वी रेडिओ सुरू करा."</string>
     <string name="close_dialog" msgid="1074977476136119408">"ठीक"</string>
-    <string name="enable" msgid="2636552299455477603">"चालू करा"</string>
+    <string name="enable" msgid="2636552299455477603">"सुरू करा"</string>
     <string name="disable" msgid="1122698860799462116">"बंद करा"</string>
     <string name="change_num" msgid="6982164494063109334">"अपडेट करा"</string>
   <string-array name="clir_display_values">
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"फक्त NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"प्राधान्‍यकृत नेटवर्क मोड: WCDMA प्राधान्‍यकृत"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"प्राधान्‍यकृत नेटवर्क मोड: केवळ GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"प्राधान्‍यकृत नेटवर्क मोड: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"प्राधान्‍यकृत नेटवर्क मोड: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"प्राधान्‍यकृत नेटवर्क मोड: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"प्राधान्‍यकृत नेटवर्क प्रकार: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"प्राधान्‍यकृत नेटवर्क मोड: जागतिक"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"प्राधान्‍यकृत नेटवर्क मोड: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"प्राधान्यीकृत नेटवर्क मोड: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"प्राधान्यकृत नेटवर्क मोड: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"प्राधान्यकृत नेटवर्क मोड: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"प्राधान्यकृत नेटवर्क मोड: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"प्राधान्‍यकृत नेटवर्क प्रकार: फक्त NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"प्राधान्‍यकृत नेटवर्क प्रकार: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"प्राधान्‍यकृत नेटवर्क प्रकार: NR/LTE/CDME/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"प्राधान्‍यकृत नेटवर्क प्रकार: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"प्राधान्‍यकृत नेटवर्क प्रकार: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"प्राधान्‍यकृत नेटवर्क प्रकार: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"प्राधान्‍यकृत नेटवर्क प्रकार: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"प्राधान्‍यकृत नेटवर्क प्रकार: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"प्राधान्‍यकृत नेटवर्क प्रकार: LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"प्राधान्‍यकृत नेटवर्क प्रकार: LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"प्राधान्‍यकृत नेटवर्क प्रकार: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"कॉलिंग"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"नेटवर्क"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"वर्धित 4G LTE मोड"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"एकाधिक-वर्गवारी"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"एकाधिक-वर्गवारी सक्षम केली"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"एकाधिक-वर्गवारी अक्षम केली"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (शिफारस केलेले)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (शिफारस केलेले)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (शिफारस केलेले)"</string>
     <string name="network_global" msgid="3289646154407617631">"जागतिक"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"निश्चित डायलिंग नंबर हटवित आहे..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"निश्चित डायलिंग नंबर हटवला."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"तुम्ही चुकीचा पिन टाईप केल्‍याने FDN अपडेट केले नव्‍हते."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN अपडेट केलेले नाही, कारण क्रमांक २० अंकांनी जास्‍त होत आहेत."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN अपडेट केलेले नाही, कारण नंबर <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> अंकांपेक्षा जास्‍त आहेत."</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">"सिक कार्डमधून वाचत आहे..."</string>
@@ -496,7 +522,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_ecm_emergency_only" msgid="5622379058883722080">"आणीबाणी नसलेला कॉल करण्‍यासाठी आणीबाणी कॉलबॅक मोडमधून बाहेर पडा."</string>
@@ -514,7 +540,7 @@
     <string name="incall_error_supp_service_conference" msgid="27578082433544702">"कॉल विलीन करता आले नाहीत."</string>
     <string name="incall_error_supp_service_reject" msgid="3044363092441655912">"कॉल नाकारू शकत नाही."</string>
     <string name="incall_error_supp_service_hangup" msgid="836524952243836735">"कॉल रिलीज करू शकत नाही."</string>
-    <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"कॉल सुरु ठेवू शकत नाही."</string>
+    <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"कॉल सुरू ठेवू शकत नाही."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"कॉल करण्‍यासाठी वायरलेस नेटवर्कशी कनेक्‍ट करा."</string>
     <string name="incall_error_promote_wfc" msgid="9164896813931363415">"कॉल करण्यासाठी वाय-फाय कॉलिंग सक्षम करा."</string>
     <string name="emergency_information_hint" msgid="9208897544917793012">"अतिमहत्त्वाची माहिती"</string>
@@ -524,12 +550,13 @@
     <string name="single_emergency_number_title" msgid="8413371079579067196">"आणीबाणी नंबर"</string>
     <string name="numerous_emergency_numbers_title" msgid="8972398932506755510">"आणीबाणी नंबर"</string>
     <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"<xliff:g id="EMERGENCY_NUMBER">%s</xliff:g> ला कॉल करण्यासाठी पुन्हा टॅप करा"</string>
-    <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"रेडिओ चालू करत आहे..."</string>
+    <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"रेडिओ सुरू करत आहे..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"सेवा नाही. पुन्हा प्रयत्न करत आहे…"</string>
     <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"आणीबाणी कॉलदरम्यान विमान मोडमध्ये प्रवेश करू शकत नाही."</string>
     <string name="dial_emergency_error" msgid="825822413209026039">"कॉल करू शकत नाही. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> हा आणीबाणी नंबर नाहीये."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"कॉल करू शकत नाही. आणीबाणी नंबर डायल करा."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"आणीबाणी कॉलिंग उपलब्‍ध नाही"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"फक्त या डिव्हाइसचा मालक पिन/PUK कोड एंटर करू शकतो."</string>
     <string name="police_type_description" msgid="2819533883972081757">"पोलीस"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"रुग्णवाहिका"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"आग"</string>
@@ -553,10 +580,11 @@
     <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="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;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;अधिक जाणून घ्‍या&lt;a&gt;\n       &lt;br/&gt; - RTT cकॉल मेसेज प्रतिलेख म्‍हणून सेव्‍ह केले आहेत\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>
     <item msgid="1449091874731375214">"TTY पूर्ण"</item>
@@ -576,7 +604,7 @@
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"सक्रिय करत आहे..."</string>
     <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"फोन तुमची मोबाइल डेटा सेवा सक्रिय करत आहे.\n\nयास सुमारे 5 मिनिटे लागतील."</string>
     <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"सक्रिय करणे वगळायचे?"</string>
-    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"तुम्ही सक्रिय करणे वगळल्‍यास, तुम्ही कॉल करू शकत नाही किंवा मोबाइल डेटा नेटवर्कशी कनेक्‍ट करू शकत नाही (तुम्ही वाय-फाय नेटवर्कशी कनेक्‍ट करू शकत असला तरीही). तुम्ही तुमचा फोन सक्रिय करेपर्यंत, तुम्ही तो प्रत्‍येक वेळी चालू करताना आपल्‍याला तो सक्रिय करण्‍यास सांगितले जाईल."</string>
+    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"तुम्ही सक्रिय करणे वगळल्‍यास, तुम्ही कॉल करू शकत नाही किंवा मोबाइल डेटा नेटवर्कशी कनेक्‍ट करू शकत नाही (तुम्ही वाय-फाय नेटवर्कशी कनेक्‍ट करू शकत असला तरीही). तुम्ही तुमचा फोन सक्रिय करेपर्यंत, तुम्ही तो प्रत्‍येक वेळी सुरू करताना आपल्‍याला तो सक्रिय करण्‍यास सांगितले जाईल."</string>
     <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"वगळा"</string>
     <string name="ota_activate" msgid="7939695753665438357">"सक्रिय करा"</string>
     <string name="ota_title_activate_success" msgid="1272135024761004889">"फोन सक्रिय केला आहे."</string>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"सेवा"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"सेटअप"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;सेट नाही&gt;"</string>
@@ -626,8 +660,8 @@
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"पिन बदला"</string>
     <string name="preference_category_ringtone" msgid="8787281191375434976">"रिंगटोन आणि कंपन"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"अंगभूत सिम कार्डे"</string>
-    <string name="enable_video_calling_title" msgid="7246600931634161830">"व्हिडिओ कॉलिंग चालू करा"</string>
-    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"व्हिडिओ कॉल करणे चालू करण्‍यासाठी, आपल्‍याला नेटवर्क सेटिंग्ज मधील वर्धित 4G LTE मोड सक्षम करणे आवश्‍यक आहे."</string>
+    <string name="enable_video_calling_title" msgid="7246600931634161830">"व्हिडिओ कॉलिंग सुरू करा"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"व्हिडिओ कॉल करणे सुरू करण्‍यासाठी, आपल्‍याला नेटवर्क सेटिंग्ज मधील वर्धित 4G LTE मोड सक्षम करणे आवश्‍यक आहे."</string>
     <string name="enable_video_calling_dialog_settings" msgid="8697890611305307110">"नेटवर्क सेटिंग्ज"</string>
     <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"बंद करा"</string>
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"आणीबाणी कॉल"</string>
@@ -651,7 +685,7 @@
     <string name="change_pin_cancel_label" msgid="2301711566758827936">"रद्द करा"</string>
     <string name="change_pin_ok_label" msgid="6861082678817785330">"ठीक आहे"</string>
     <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"आपल्या जुन्या पिनची पुष्टी करा"</string>
-    <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"सुरु ठेवण्‍यासाठी तुमचा व्हॉइसमेल पिन प्रविष्‍ट करा."</string>
+    <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"सुरू ठेवण्‍यासाठी तुमचा व्हॉइसमेल पिन प्रविष्‍ट करा."</string>
     <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"नवीन पिन सेट करा"</string>
     <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"पिन <xliff:g id="MIN">%1$d</xliff:g>-<xliff:g id="MAX">%2$d</xliff:g> अंकी असणे आवश्‍यक आहे."</string>
     <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"आपल्या पिनची पुष्टी करा"</string>
@@ -659,7 +693,7 @@
     <string name="change_pin_succeeded" msgid="2504705600693014403">"व्हॉइसमेल पिन अपडेट केला"</string>
     <string name="change_pin_system_error" msgid="7772788809875146873">"पिन सेट करण्यात अक्षम"</string>
     <string name="mobile_data_status_roaming_turned_off_subtext" msgid="6840673347416227054">"डेटा रोमिंग बंद केलेले आहे"</string>
-    <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"डेटा रोमिंग चालू केलेले आहे"</string>
+    <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"डेटा रोमिंग सुरू केलेले आहे"</string>
     <string name="mobile_data_status_roaming_without_plan_subtext" msgid="6536671968072284677">"सध्या रोमिंग, डेटा योजना आवश्यक आहे"</string>
     <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"सध्या रोमिंग, डेटा योजना सक्रिय आहे"</string>
     <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"मोबाइल डेटा शिल्लक नाही"</string>
@@ -673,7 +707,7 @@
     <string name="mobile_data_activate_button" msgid="1139792516354374612">"डेटा जोडा"</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_powerOff_txt" msgid="8279934912560765361">"विमान मोड सुरू आहे"</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">"तुम्ही डायल करायचा प्रयत्न करत असलेल्या फोन नंबरमध्ये समस्या आहे. एरर कोड 1."</string>
@@ -726,7 +760,7 @@
     <string name="clh_callFailed_protocol_Error_unspecified_txt" msgid="9203320572562697755">"कॉल पूर्ण करता आला नाही. एरर कोड १११."</string>
     <string name="clh_callFailed_interworking_unspecified_txt" msgid="7969686413930847182">"कॉल पूर्ण करता आला नाही. एरर कोड १२७."</string>
     <string name="labelCallBarring" msgid="4180377113052853173">"कॉल बारिंग"</string>
-    <string name="sum_call_barring_enabled" msgid="5184331188926370824">"चालू"</string>
+    <string name="sum_call_barring_enabled" msgid="5184331188926370824">"सुरू"</string>
     <string name="sum_call_barring_disabled" msgid="5699448000600153096">"बंद"</string>
     <string name="call_barring_baoc" msgid="7400892586336429326">"सर्व जाणारे"</string>
     <string name="call_barring_baoc_enabled" msgid="3131509193386668182">"सर्व जाणारे कॉल ब्लॉक करणे बंद करायचे का?"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"कॉल बारिंग बंद केले"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"पासवर्ड बदला"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"कॉल बारिंगचा पासवर्ड बदला"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"कॉल बारिंगचा पासवर्ड बदलू शकत नाही."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"कॉल बारिंगचा पासवर्ड बदलू शकत नाही"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"पासवर्ड जुळत नाहीत"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 अंक असलेला एखादा पासवर्ड टाका"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"पासवर्ड बदलला"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"पासवर्ड निश्चित करा"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"पासवर्ड टाका"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"कॉल बारिंग सेटिंग्ज"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"सर्व कॉल बारिंग़ सेटिंग्ज बंद करायच्या का?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"नेटवर्क व्यस्त आहे कृपया तुमचा कॉल नंतर पुन्हा करण्याचा प्रयत्न करा."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"नेटवर्क उपलब्ध नाही. साहाय्यासाठी तुमच्या मोबाइल ऑपरेटरशी संपर्क साधा."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"कॉल वळवला."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> वापरण्यासाठी, सिम <xliff:g id="SIM_NUMBER">%2$d</xliff:g> साठी मोबाइल डेटा सुरू केलेला आहे याची खात्री करा. तुम्ही हे मोबाइल नेटवर्क सेटिंग्जमध्ये बदलू शकता."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> वापरण्यासाठी, सिम <xliff:g id="SIM_NUMBER">%2$d</xliff:g> साठी मोबाइल डेटा आणि डेटा रोमिंग सुरू केलेले आहेत याची खात्री करा. तुम्ही हे मोबाइल नेटवर्क सेटिंग्जमध्ये बदलू शकता."</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"व्हिडिओ कॉलिंगची सुविधा दिली आहे"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"वायफाय कॉलिंगची सुविधा दिली आहे"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/उपस्थितीची सुविधा दिली आहे"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs डेटा"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS सुरू करा"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडिओ पॉवर"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"सिम ॲड्रेस बुक पाहा"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"निश्चित डायलिंग नंबर पाहा"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"सर्व्हिस डायलिंग नंबर पहा"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS सेवा स्थिती"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS स्थिती"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"नोंदणीकृत"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"नोंदणीकृत नाही"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"उपलब्ध आहे"</string>
+    <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>\nLTE वरून व्हॉइस: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\n वाय-फाय वरून व्हॉइस: <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_emergency" msgid="4763879891415016848">"फक्त आणीबाणी कॉल"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"रेडिओ बंद"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"रोमिंग"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"रोमिंग नाही"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"निष्क्रिय"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"रिंग होत आहे"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"कॉल सुरू आहे"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"डिस्कनेक्ट केले आहे"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"कनेक्ट करत आहे"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"कनेक्ट केले"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"निलंबित केले"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"अज्ञात"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"बाइट"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"सध्याचा subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"डीफॉल्ट डेटा सिम SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL बँडविड्थ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL बँडविड्थ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"सेल स्थान माहिती (कालबाह्य झाली):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE फिजिकल चॅनेल कॉंफिगरेशन:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"सेल माहिती रिफ्रेश रेट:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"सर्व सेल परिमाण माहिती:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"डेटा सर्व्हिस:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"रोमिंग:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"कॉल रीडिरेक्ट करा:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"बूट केल्यापासून PPP रीसेटची संख्या:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"सध्याचे नेटवर्क:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"डेटा मिळाला:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"व्हॉइस सेवा:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"सिग्नल स्ट्रेंथ:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"व्हॉइस कॉल स्थिती:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"डेटा पाठवला:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"मेसेज वेटिंग:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"फोन नंबर:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"पिंग होस्ट नाव(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP क्लायंट चाचणी:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS तपासणी टॉगल करा"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-विशिष्ट माहिती/सेटिंग्ज"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"रेडिओ बँड मोड सेट करा"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"बँड सूची लोड करत आहे…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"सेट करा"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"करता आले नाही"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"यशस्वी"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"टॅबलेट माहिती"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"फोनची माहिती"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"वाहक सुविधा माहिती"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"वाहक सुविधा ट्रिगर करा"</string>
 </resources>
diff --git a/res/values-ms/config.xml b/res/values-ms/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ms/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 9c2a8d2..121081f 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Nombor peribadi"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefon Awam"</string>
     <string name="onHold" msgid="6132725550015899006">"Ditunda"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mesej <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mesej Pembawa"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Kod MMI dimulakan"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Kod USSD dijalankan..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Kod MMI dibatalkan"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR sahaja"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Mod rangkaian pilihan: WCDMA diutamakan"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Mod rangkaian pilihan: GSM sahaja"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Mod rangkaian pilihan: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Mod rangkaian pilihan: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Mod rangkaian pilihan: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Mod rangkaian pilihan: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Mod rangkaian pilihan: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Mod rangkaian pilihan: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Mod rangkaian pilihan: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Mod rangkaian pilihan: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Mod rangkaian pilihan: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Mod rangkaian pilihan: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Mod rangkaian pilihan: NR sahaja"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Mod rangkaian pilihan: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Mod rangkaian pilihan: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Mod rangkaian pilihan: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Mod rangkaian pilihan: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Mod rangkaian pilihan: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Mod rangkaian pilihan: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Mod rangkaian pilihan: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Mod rangkaian pilihan: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Mod rangkaian pilihan: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Mod rangkaian pilihan: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Memanggil"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Rangkaian"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Mod 4G LTE Dipertingkat"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Berbilang kategori"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Berbilang kategori didayakan"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Berbilang kategori dilumpuhkan"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (disyorkan)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (disyorkan)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (disyorkan)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Memadamkan nombor dailan tetap..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Nombor dailan tetap dipadamkan."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN tidak dikemaskini kerana anda telah menaip PIN yang salah."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN tidak dikemas kini kerana nombor melebihi 20 digit."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN tidak dikemas kini kerana nombornya melebihi <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digit."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN tidak dikemaskini. PIN2 salah atau nombor telefon telah ditolak."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operasi FDN gagal."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Membaca daripada kad SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Tidak dapat memanggil. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bukan nombor kecemasan."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Tidak dapat memanggil. Dail nombor kecemasan."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Panggilan kecemasan tidak tersedia"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Hanya pemilik peranti yang boleh memasukkan kod PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polis"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulans"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Bomba"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Panggilan teks masa nyata (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Benarkan pemesejan dalam panggilan suara"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Pemanggil dibantu RTT yang pekak, kurang pendengaran, mengalami kesukaran bertutur atau memerlukan ciri selain suara.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Ketahui lebih lanjut&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Panggilan RTT disimpan sebagai transkrip mesej\n       &lt;br&gt; - RTT tidak tersedia untuk panggilan video"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Nota: RTT tidak tersedia semasa dalam perayauan"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY Dimatikan"</item>
     <item msgid="1449091874731375214">"TTY Penuh"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ya"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Tidak"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Sekatan panggilan dinyahaktifkan"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Tukar kata laluan"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Tukar kata laluan sekatan panggilan"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Tidak boleh menukar kata laluan sekatan panggilan."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Tidak boleh menukar kata laluan sekatan panggilan"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Kata laluan tidak sepadan"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Masukkan kata laluan dengan 4 nombor"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Kata laluan ditukar"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Sahkan kata laluan"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Masukkan kata laluan"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Tetapan sekatan panggilan"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Nyahaktifkan semua tetapan sekatan panggilan?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Rangkaian sibuk. Cuba buat panggilan sebentar lagi."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Rangkaian sesak. Hubungi operator mudah alih anda untuk mendapatkan bantuan."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Panggilan dipesongkan."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Untuk menggunakan <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, pastikan data mudah alih dan perayauan data dihidupkan bagi SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Anda boleh menukar tetapan ini dalam tetapan rangkaian mudah alih."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ketepikan"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Dayakan Sambungan Data"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Lumpuhkan Sambungan Data"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Diperuntukkan"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Panggilan Video Diperuntukkan"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Panggilan Wi-Fi Diperuntukkan"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Kehadiran Diperuntukkan"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Data Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Dayakan DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Mulakan Semula Peranti?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Lihat Nombor Dailan Perkhidmatan"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status Perkhidmatan IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Status IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Berdaftar"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Tidak Berdaftar"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Tersedia"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Tidak tersedia"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Pendaftaran IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nSuara melalui LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nSuara melalui Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nPanggilan Video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nAntara Muka UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Berfungsi"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Rosak"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Panggilan Kecemasan Sahaja"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio Dimatikan"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Perayauan"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Tidak Merayau"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Melahu"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Berdering"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Panggilan Sedang Berlangsung"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Diputuskan sambungan"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Menyambung"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Disambungkan"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Digantung"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Tidak diketahui"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"bgksn"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bait"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"SubId semasa:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId SIM data lalai:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Lebar Jalur DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Lebar Jalur UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Maklumat Lokasi Selular (ditamatkan):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfigurasi Saluran Fizikal LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Kadar Muat Semula Maklumat Selular:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Semua Maklumat Ukuran Selular:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Perkhidmatan Data:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Perayauan:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Pengubahhalaan Panggilan:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Bilangan Tetapan Semula PPP Sejak Proses But:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Rangkaian Semasa:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data Diterima:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Perkhidmatan Suara:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Kekuatan Isyarat:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status Panggilan Suara:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data Dihantar:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mesej Menunggu:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Nombor Telefon:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Nama Hos(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Ujian Klien HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Jalankan Ujian Ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Kemas kini"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Tetapkan Mod Jalur Radio"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Memuatkan Senarai Jalur…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Tetapkan"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Tidak berjaya"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Berjaya"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Maklumat tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Maklumat telefon"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Maklumat Peruntukan Pembawa"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Cetus Peruntukan Pembawa"</string>
 </resources>
diff --git a/res/values-my/config.xml b/res/values-my/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-my/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 3d8c5ab..60f2da8 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"လျို့ဝှက် နံပါတ်"</string>
     <string name="payphone" msgid="7936735771836716941">"ငွေပေးရသည့်ဖုန်း"</string>
     <string name="onHold" msgid="6132725550015899006">"ခဏ ကိုင်ထားစဉ်"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> မက်ဆေ့ဂျ်"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"ဖုန်းလိုင်းဝန်ဆောင်မှု မက်ဆေ့ဂျ်"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMIကုတ်နံပါတ်ကို စတင်ပြီးပါပြီ"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD ကုဒ် လုပ်ဆောင်နေပါသည်…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMIကုတ်နံပါတ်ကို ပယ်ဖျက်ပြီးပါပြီ"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR သီးသန့်"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်-WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်-GSM သာ"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ပိုမိုကြိုက်သော ကွန်ယက်အခြေအနေ: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်- GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်- CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"ဦးစားပေး ကွန်ရက်စနစ်− LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်-တစ်ကမ်ဘာလုံးဆိုင်ရာ"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ပိုမိုကြိုက်သော ကွန်ယက်စနစ်- LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ပိုနှစ်သက်သည့် ကွန်ရက်မုဒ်: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"အသုံးပြုလိုသော ကွန်ရက်မုဒ်− LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"အသုံးပြုလိုသော ကွန်ရက်မုဒ်− TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"အသုံးပြုလိုသော ကွန်ရက်မုဒ်− LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"ဦးစားပေး ကွန်ရက်စနစ်− NR သီးသန့်"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"ဦးစားပေး ကွန်ရက်စနစ်− NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"ဦးစားပေး ကွန်ရက်မုဒ်- NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"ဦးစားပေး ကွန်ရက်စနစ်− NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"ခေါ်ဆိုခြင်း"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ကွန်ရက်"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"မြှင့်တင်ထား 4G LTE မုဒ်"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"များစွာသော အမျိုးအစားမျိုး"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"မျိုးစုံသောအတန်းအစားများကို  ရရှိနိုင်သည်"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"မျိုးစုံသောအတန်းအစားများကို ပိတ်ထားသည်"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (အကြံပြုထားသည်)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (အကြံပြုထား)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (အကြုံပြု)"</string>
     <string name="network_global" msgid="3289646154407617631">"တစ်ကမ္ဘာလုံးဆိုင်ရာ"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားဖျက်နေသည်"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"ပုံသေ ခေါ်ဆိုမှု နံပါတ် ဖျက်ပြီး"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"ပင်နံပါတ် မမှန်သောကြောင့် FDNကို အဆင့်မြှင့်တင်ခြင်းမပြုလုပ်နိုင်ပါ"</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"နံပါတ်တွင် ဂဏန်းအလုံး ၂၀ ကျော်နေသဖြင့် 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 ပြောင်းလဲမှု မဖြစ်ပါ။ ပင်နံပါတ် ၂ မှားယွင်းခြင်း သို့မဟုတ် ဖုန်းနံပါတ်ကို ငြင်းဖယ်ခံရခြင်း တစ်ခုခုဖြစ်ပါသည်"</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN လုပ်ဆောင်ချက် မအောင်မြင်ပါ"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"ဆင်းမ်ကဒ်မှ ဖတ်နေပါသည်..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"မခေါ်ဆိုနိုင်ပါ။ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> က အရေးပေါ်နံပါတ် မဟုတ်ပါ။"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"မခေါ်ဆိုနိုင်ပါ။ အရေးပေါ်ဖုန်းနံပါတ်တစ်ခုကို နှိပ်ပါ။"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"အရေးပေါ် ခေါ်ဆို၍ မရပါ"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"ဤစက်ပစ္စည်း၏ ပိုင်ရှင်ကသာလျှင် ပင်နံပါတ်/ပင်နံပါတ် ပြန်ဖွင့်သည့် ကုဒ်များကို ထည့်နိုင်ပါသည်။"</string>
     <string name="police_type_description" msgid="2819533883972081757">"ရဲ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"လူနာတင်ယာဉ်"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"မီး"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"သတိပြုရန် - ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်ထားစဉ် RTT ကို အသုံးမပြုနိုင်ပါ"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ပိတ်ထားသည်"</item>
     <item msgid="1449091874731375214">"TTY အပြည့်"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</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="voicemail_provider" msgid="4158806657253745294">"ဝန်ဆောင်မှု"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"စနစ်သတ်မှတ်ခြင်း"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"သတ်မှတ်မထားပါ"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ခေါ်ဆိုမှုပိတ်ပင်ခြင်းကို ပယ်ဖျက်ပြီးပါပြီ"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"စကားဝှက် ပြောင်းရန်"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"ခေါ်ဆိုမှုပိတ်ပင်သော စကားဝှက်ကို ပြောင်းပါ"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"ခေါ်ဆိုမှုပိတ်ပင်သော စကားဝှက်ကို မပြောင်းနိုင်ပါ။"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"ခေါ်ဆိုမှုပိတ်ပင်သော စကားဝှက်ကို မပြောင်းနိုင်ပါ"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"စကားဝှက်များက ထပ်တူမကျပါ"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"နံပါတ် ၄ လုံးနှင့် စကားဝှက် ထည့်ရန်"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"စကားဝှက်ကို ပြောင်းလိုက်ပါပြီ"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"စကားဝှက်ကို အတည်ပြုရန်"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"စကားဝှက် ထည့်ရန်"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ခေါ်ဆိုမှုပိတ်ပင်သော ဆက်တင်များ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"ခေါ်ဆိုမှုပိတ်ပင်သော  ဆက်တင်အားလုံးကို ပယ်ဖျက်မလား။"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ကွန်ရက် မအားပါ။ ဖုန်းခေါ်ဆိုမှုကို နောက်မှ ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ကွန်ရက် ပြည့်ကျပ်နေသည်။ အကူအညီရယူရန် သင်၏ မိုဘိုင်း အော်ပရေတာကို ဆက်သွယ်ပါ။"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"ခေါ်ဆိုမှုကို လွှဲထားပါသည်။"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> အသုံးပြုရန် ဆင်းမ်ကတ် <xliff:g id="SIM_NUMBER">%2$d</xliff:g> အတွက် မိုဘိုင်းဒေတာကို ဖွင့်ထားကြောင်း သေချာပါစေ။ ဤအရာကို မိုဘိုင်းကွန်ရက် ဆက်တင်များတွင် ပြောင်းနိုင်ပါသည်။"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> အသုံးပြုရန် ဆင်းမ်ကတ် <xliff:g id="SIM_NUMBER">%2$d</xliff:g> အတွက် မိုဘိုင်းဒေတာနှင့် ကွန်ရက်ပြင်ပဒေတာ အသုံးပြုခြင်းတို့ကို ဖွင့်ထားကြောင်း သေချာပါစေ။ ဤအရာများကို မိုဘိုင်းကွန်ရက် ဆက်တင်များတွင် ပြောင်းနိုင်ပါသည်။"</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ဗီဒီယိုခေါ်ဆိုမှု ပံ့ပိုးထားပါသည်"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi ဖြင့် ခေါ်ဆိုမှုကို ပံ့ပိုးထားပါသည်"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/လက်ရှိ ထောက်ပံ့ပေးခြင်း"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ဒေတာ"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS ကို ဖွင့်ရန်"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"မိုဘိုင်း ရေဒီယိုစွမ်းအား"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM ထဲရှိ လိပ်စာ စာအုပ်ကိုကြည့်ပါ"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ခေါ်ဆိုရန် ကန့်သတ် နံပါတ်ကို ကြည့်မည်"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"ခေါ်ဆိုသည့်ဝန်ဆောင်မှုနံပါတ်အားကြည့်မည်"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS ဝန်ဆောင်မှု အခြေအနေ"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS အခြေအနေ"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"မှတ်ပုံတင်ထားသည်"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"မှတ်ပုံတင်ထားခြင်း မရှိပါ"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"အသုံးပြုနိုင်သည်"</string>
+    <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>\nLTE ကို အသုံးပြု၍ ခေါ်ဆိုခြင်း − <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi ကို အသုံးပြု၍ ခေါ်ဆိုခြင်း − <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_emergency" msgid="4763879891415016848">"အရေးပေါ်ခေါ်ဆိုမှုများသာ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ရေဒီယို ပိတ်ထားသည်"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ပြင်ပကွန်ရက်သို့ ချိတ်ဆက်ခြင်း"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်မထားပါ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"အလုပ်မလုပ်"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"အသံမြည်နေသည်"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"ခေါ်ဆိုနေဆဲ"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ချိတ်ဆက်မှုပြတ်တောက်သွားသည်"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"ချိတ်ဆက်နေသည်"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"ချိတ်ဆက်ထားသည်"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"ဆိုင်းငံ့ထားသည်"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"မသိရသေးပါ"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ဘိုက်"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"လက်ရှိ Id အခွဲ−"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"မူရင်း ဒေတာဆင်းမ်ကဒ်အတွက် Id အခွဲ −"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL မြန်နှုန်း (kbps)−"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL မြန်နှုန်း (kbps)−"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ဆဲလ်လူလာတည်နေရာ အချက်အလက် (ကန့်ကွက်ထားသည်) −"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ရုပ်ပိုင်းဆိုင်ရာ ချန်နယ်စီစဉ်သတ်မှတ်မှု−"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"ဆဲလ်လူလာ အချက်အလက် ရယူမှုနှုန်း −"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ဆဲလ်လူလာတိုင်းတာမှု အချက်အလက် အားလုံး −"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ဒေတာ ဝန်ဆောင်မှု −"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်ခြင်း"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"ခေါ်ဆိုမှု လမ်းကြောင်းလွှဲပေးခြင်း −"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"စတင်သည့်အချိန်မှစ၍ PPP ပြန်လည်သတ်မှတ်သည့် အခေါက်ရေ −"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"လက်ရှိ ကွန်ရက် −"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"လက်ခံရရှိထားသော ဒေတာ −"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"အသံဝန်ဆောင်မှု −"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"လိုင်းဆွဲအား −"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"အသံခေါ်ဆိုမှု အခြေအနေ −"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ဒေတာ ပို့လိုက်ပါပြီ −"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"မက်ဆေ့ဂျ်ကို စောင့်နေသည် −"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ဖုန်းနံပါတ် −"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ပင်ကို လက်ခံဝန်ဆောင်ပေးသူအမည် (www.google.com) IPv6 -"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP ကလိုင်းယင့် စမ်းသပ်မှု −"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS စစ်ဆေးမှုခလုတ်ကို နှိပ်ပါ"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"ထုတ်လုပ်သူနှင့် သက်ဆိုင်သော အချက်အလက်/ဆက်တင်များ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ရေဒီယိုလိုင်းမုဒ်အဖြစ် သတ်မှတ်ပါ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ရေဒီယိုလိုင်းစာရင်းကို ဖွင့်နေသည်…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"သတ်မှတ်ရန်"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ပို့၍မရပါ"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"အောင်မြင်ပါသည်"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"တက်ဘလက် အချက်အလက်"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ဖုန်းအချက်အလက်"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ဝန်ဆောင်မှုပေးသူက ပေးထားသည့် အချက်အလက်များ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"အစပျိုးပေးသော ဖုန်းကုမ္ပဏီ ပံ့ပိုးမှု"</string>
 </resources>
diff --git a/res/values-nb/config.xml b/res/values-nb/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-nb/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 12049cc..6629893 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Hemmelig nummer"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefonkiosk"</string>
     <string name="onHold" msgid="6132725550015899006">"Parkert"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>-melding"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operatørmelding"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-kode påbegynt"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-kode kjører…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-kode avbrutt"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Bare NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Foretrukket nettverksmodus: WCDMA foretrekkes"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Foretrukket nettverksmodus: kun GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Foretrukket nettverksmodus: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Foretrukket nettverksmodus: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Foretrukket nettverksmodus: CDMA + LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Foretrukket nettverksmodus: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Foretrukket nettverksmodus: Overordnet"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Foretrukket nettverksmodus: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Foretrukket nettverksmodus: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Foretrukket nettverksmodus: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Foretrukket nettverksmodus: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Foretrukket nettverksmodus: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Foretrukket nettverksmodus: bare NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Foretrukket nettverksmodus: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Foretrukket nettverksmodus: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Foretrukket nettverksmodus: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Foretrukket nettverksmodus: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Foretrukket nettverksmodus: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Foretrukket nettverksmodus: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Foretrukket nettverksmodus: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Foretrukket nettverksmodus: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Foretrukket nettverksmodus: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Foretrukket nettverksmodus: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Anrop"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Nettverk"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Forbedret 4G LTE-modus"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multikategori"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multikategori aktivert"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multikategori deaktivert"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (anbefalt)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (anbefales)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (anbefales)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globalt"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Sletter programmert telefonnummer ..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Programmert telefonnummer er slettet."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN er ikke oppdatert fordi du skrev inn feil PIN-kode."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN ble ikke oppdatert fordi tallet er lengre enn 20 sifre."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN ble ikke oppdatert fordi tallet er lengre enn <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> sifre."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Fast nummer ble ikke oppdatert. PIN2 var feil, eller telefonnummeret ble avvist."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN-handlingen mislyktes."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Leser fra SIM-kort …"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Kan ikke ringe. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> er ikke et nødnummer."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Kan ikke ringe. Ring et nødnummer."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Nødanrop er ikke tilgjengelig"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Det er bare eieren av enheten som kan skrive inn PIN-/PUK-koder."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Politi"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulanse"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Brann"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Sanntidstekst-anrop (STT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Tillat meldingsutveksling i talesamtaler"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"STT er til hjelp for brukere som er døve, tunghørte, har talefunksjonshemning eller trenger mer enn bare tale.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Finn ut mer&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – STT-anrop lagres som meldingstranskripsjoner\n       &lt;br&gt; – STT er ikke tilgjengelig for videoanrop"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Merk: RTT er ikke tilgjengelig ved roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY av"</item>
     <item msgid="1449091874731375214">"TTY full"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nei"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Anropsblokkering er deaktivert"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Endre passord"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Endre passord for anropsblokkering"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Kan ikke endre passordet for anropsblokkering."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Kan ikke endre passordet for anropsblokkering"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Passordene stemmer ikke overens"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Skriv inn et passord med fire sifre"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Passordet er endret"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Bekreft passordet"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Skriv inn passordet"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Innstillinger for anropsblokkering"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Vil du deaktivere alle innstillinger for anropsblokkering?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Nettverket er opptatt. Prøv å ringe på nytt senere."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Nettverket er for travelt. Kontakt mobiloperatøren din for å få hjelp."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Anropet er omdirigert."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Før du bruker <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, må du sørge for at mobildata og data-roaming er slått på for SIM-kortet <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Du kan endre dette i mobilnettverksinnstillingene."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Lukk"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Slå på datatilkobling"</string>
+    <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="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>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Start enhet på nytt?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Vis tjenestenumre"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status for IMS-tjeneste"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrert"</string>
+    <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="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>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radioen er av"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ingen roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Ledig"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringer"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Anrop pågår …"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Frakoblet"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Kobler til"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Tilkoblet"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Sperret midlertidig"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Ukjent"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pakker"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"byte"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Nåværende under-ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Under-ID for standard-SIM-kort for data:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Båndbredde for nedlasting (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Båndbredde for opplasting (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informasjon om celleposisjonen (avviklet):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfigurering av fysisk LTE-kanal:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Oppdateringsfrekvens for celleinformasjon:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All informasjon for cellemåling:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datatjeneste:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Viderekobling av anrop:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Antall PPP-tilbakestillinger siden oppstart:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Nåværende nettverk:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data mottatt:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Taletjeneste:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signalstyrke:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status på taleanrop:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sendt:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Melding venter:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonnummer:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping vertsnavn(www.google.no) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test av HTTP-klient:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Kjør ping-test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Oppdater"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Angi båndmodus for radio"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Laster inn båndlisten …"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Angi"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Mislykket"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Vellykket"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informasjon om nettbrettet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefoninformasjon"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informasjon om operatørhåndtering"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Utløs operatørhåndtering"</string>
 </resources>
diff --git a/res/values-ne/config.xml b/res/values-ne/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ne/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index aeb2592..b7fe2fc 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"निजी नम्बर"</string>
     <string name="payphone" msgid="7936735771836716941">"पेफोन"</string>
     <string name="onHold" msgid="6132725550015899006">"होल्डमा"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> को सन्देश"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"सेवा प्रदायकको सन्देश"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI कोड सुरु भयो"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD कोड चल्दै..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI कोड रद्द गरियो।"</string>
@@ -134,7 +136,7 @@
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"SS अनुरोध USSD अनुरोधमा परिवर्तन गरियो"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"नयाँ SS अनुरोधमा परिवर्तन गरियो"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS अनुरोध भिडियो कलमा परिवर्तन गरियो"</string>
-    <string name="fdn_check_failure" msgid="1833769746374185247">"तपाईंको फोन अनुप्रयोग स्थिर डायल गर्ने नम्बर सेटिङहरू खोलिएको छ। केही कल-सम्बन्धित विशेषताहरूले कार्य गरिरहेका छैनन्।"</string>
+    <string name="fdn_check_failure" msgid="1833769746374185247">"तपाईंको फोन एप स्थिर डायल गर्ने नम्बर सेटिङहरू खोलिएको छ। केही कल-सम्बन्धित विशेषताहरूले कार्य गरिरहेका छैनन्।"</string>
     <string name="radio_off_error" msgid="8321564164914232181">"यी सेटिङहरू हेर्नु पहिले रेडियो खोल्नुहोस्।"</string>
     <string name="close_dialog" msgid="1074977476136119408">"ठिक छ"</string>
     <string name="enable" msgid="2636552299455477603">"सकृय पार्नुहोस्"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR मात्र"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"रुचाइएको नेटवर्क मोड: WCDMA रुचाइएको"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"रुचाइएको नेटवर्क मोड: GSM मात्र"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"रुचाइएको नेटवर्क मोड: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"रुचाइएको नेटवर्क मोड: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"रुचाइएको नेटवर्क मोड: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"रुचाइएको नेटवर्क मोड: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"रुचाइएको नेटवर्क मोड: विश्वव्यापी"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"रुचाइएको नेटवर्क मोड: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"रुचाइएको सञ्जाल मोड: LTE /GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"रुचाइएको नेटवर्क मोड: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"रुचाइएको नेटवर्क मोड: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"रुचाइएको नेटवर्क मोड: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"रुचाइएको नेटवर्क मोड: NR मात्र"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"रुचाइएको नेटवर्क मोड: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"रुचाइएको नेटवर्क मोड: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"रुचाइएको नेटवर्क मोड: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"रुचाइएको नेटवर्क मोड: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"रुचाइएको नेटवर्क मोड: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"रुचाइएको नेटवर्क मोड: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"रुचाइएको नेटवर्क मोड: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"रुचाइएको नेटवर्क मोड: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"रुचाइएको नेटवर्क मोड: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"रुचाइएको नेटवर्क मोड: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"कल गर्दै"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"नेटवर्क"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Enhanced 4G LTE Mode"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"बहु-श्रेणी"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"बहुप्रकार सक्षम भयो"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"बहु-कोटी अक्षम भयो"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (सिफारिस गरिएको)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (सिफारिस गरिएको)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (सिफारिस गरिएको)"</string>
     <string name="network_global" msgid="3289646154407617631">"विश्वव्यापी"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"उक्त सङ्ख्याले २० अङ्कको अधिकतम सीमा नाघेकाले 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="fdn_failed" msgid="216592346853420250">"FDN कार्य बिफल भयो।"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM कार्ड पढ्दै..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"कल गर्न सकिँदैन। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> आपतकालीन नम्बर होइन।"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"कल गर्न सकिँदैन। आपतकालीन नम्बर डायल गर्नुहोस्।"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"आपतकालीन कल सेवा उपलब्ध छैन"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"यन्त्रका मालिक मात्र PIN/PUK कोडहरू प्रविष्टि गर्न सक्नुहुन्छ।"</string>
     <string name="police_type_description" msgid="2819533883972081757">"प्रहरी"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"एम्बुलेन्स सेवा"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"दमकल सेवा"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"टिपोट: रोमिङमा हुँदा RTT उपलब्ध हुँदैन"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY बन्द"</item>
     <item msgid="1449091874731375214">"TTY भरी"</item>
@@ -595,10 +623,10 @@
     <string name="phone_entered_ecm_text" msgid="8431238297843035842">"आपतकालीन कलब्याक मोड प्रविष्टि गरियो"</string>
     <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>
+    <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>
+      <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>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"सेवा"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"सेटअप"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"सेट गरेको छैन"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"कल ब्यारिङ निष्क्रिय पारियो"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"पासवर्ड परिवर्तन गर्नुहोस्‌"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"कल ब्यारिङको पासवर्ड परिवर्तन गर्नुहोस्"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"कल ब्यारिङको पासवर्ड परिवर्तन गर्न सकिएन।"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"कल ब्यारिङको पासवर्ड परिवर्तन गर्न सकिँदैन"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"पासवर्डहरू मेल खाँदैनन्"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"कुनै ४ अङ्कको पासवर्ड प्रविष्टि गर्नुहोस्"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"पासवर्ड परिवर्तन गरियो"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"पासवर्ड निश्चित गर्नुहोस्"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"पासवर्ड प्रविष्टि गर्नुहोस्"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"कल ब्यारिङसम्बन्धी सेटिङहरू"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"कल ब्यारिङसम्बन्धी सबै सेटिङहरू निष्क्रिय पार्ने हो?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"नेटवर्क व्यस्त छ। कृपया पछि फेरि कल गरी हेर्नुहोस्।"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"नेटवर्कका पर्याप्त स्रोतहरू छैनन्। सहायताका लागि आफ्नो मोबाइल अपरेटरसँग सम्पर्क गर्नुहोस्।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"कल अर्को नम्बरमा स्थानान्तरण गरियो।"</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"भिडियो कलिङसम्बन्धी प्रावधानलाई सक्रिय गरिएको छ"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi कलिङसम्बन्धी प्रावधानलाई सक्रिय गरिएको छ"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/उपस्थितिको प्रावधानलाई सक्रिय गरिएको छ"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs डेटा"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS सक्षम पार्नुहोस्"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडियोको पावर"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM को ठेगाना पुस्तिका हेर्नुहोस्"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"स्थिर डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"सेवामा डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS सेवाको स्थिति"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS को स्थिति"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"दर्ता गरियो"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"दर्ता नगरिएको"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"उपलब्ध छ"</string>
+    <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_emergency" msgid="4763879891415016848">"आपतकालीन कल मात्र"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"रेडियो निष्क्रिय छ"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"रोमिङ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"रोमिङमा छैन"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"निष्क्रिय"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"घन्टी बज्दै छ"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"कल जारी छ"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"विच्छेद गरियो"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"जोडिँदै"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"जडान गरियो"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"निलम्बित"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"अज्ञात"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"बाइटहरू"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"हालको subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"पूर्वनिर्धारित डेटा SIM को SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL ब्यान्डविथ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL व्यान्डविथ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"सेलको स्थानबारे जानकारी (चल्तीबाट हटाइएको):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE को भौतिक च्यानलको कन्फिगरेसन:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"सेलसम्बन्धी जानकारीलाई पुनः ताजा गरिने दर:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"सेलको मापनसम्बन्धी सबै जानकारी:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"डेटा सम्बन्धी सेवा:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"रोमिङ:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"कल रिडिरेक्ट:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"बुट गरेदेखि PPP रिसेट गरिएको संख्या:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"हालको नेटवर्क:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"प्राप्त गरिएको डेटा:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice सम्बन्धी सेवा:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"सिग्नलको क्षमता:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice कलको स्थिति:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"डेटा पठाइयो:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"सन्देशलाई कुर्दै:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"फोन नम्बर:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"होस्टनाम (www.google.com) IPv6 पिङ गर्नुहोस्:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP क्लाइन्टको परीक्षण:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS को जाँचलाई टगल गर्नुहोस्"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-विशिष्ट जानकारी/सेटिङ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"रेडियोको ब्यान्डसम्बन्धी मोडलाई सेट गर्नुहोस्"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ब्यान्डको सूची लोड गर्दै…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"सेट गर्नुहोस्"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"असफल"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"सफल"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ट्याब्लेटको जानकारी"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"फोनसम्बन्धी जानकारी"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"सेवा प्रदायकको प्रावधानसम्बन्धी जानकारी"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"सेवा प्रदायकको प्रावधानलाई ट्रिगर गर्नुहोस्"</string>
 </resources>
diff --git a/res/values-night/styles.xml b/res/values-night/styles.xml
index fa5c8a1..f7d831b 100644
--- a/res/values-night/styles.xml
+++ b/res/values-night/styles.xml
@@ -27,31 +27,31 @@
         <item name="android:dialogTheme">@style/DialerAlertDialogTheme</item>
     </style>
 
-    <style name="EmergencyInfoNameTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="EmergencyInfoNameTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@android:color/white</item>
         <item name="android:textSize">@dimen/emergency_info_name_text_size</item>
     </style>
 
-    <style name="EmergencyInfoHintTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="EmergencyInfoHintTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@color/white_70_percent</item>
         <item name="android:textSize">@dimen/emergency_info_hint_text_size</item>
     </style>
 
-    <style name="EmergencyInfoTapHintTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="EmergencyInfoTapHintTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@android:color/white</item>
         <item name="android:textSize">@dimen/emergency_info_tap_hint_text_size</item>
     </style>
 
-    <style name="ShortcutViewHintTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="ShortcutViewHintTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@android:color/white</item>
     </style>
 
-    <style name="PhoneNumberTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="PhoneNumberTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@android:color/white</item>
         <item name="android:textSize">@dimen/emergency_shortcut_number_text_size</item>
     </style>
@@ -62,8 +62,8 @@
         <item name="android:textSize">@dimen/emergency_shortcut_type_text_size</item>
     </style>
 
-    <style name="PhoneNumberTapHintAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="PhoneNumberTapHintAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@android:color/white</item>
         <item name="android:textSize">@dimen/emergency_shortcut_tap_hint_text_size</item>
     </style>
diff --git a/res/values-nl/config.xml b/res/values-nl/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-nl/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 5459c85..7bb79d2 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privénummer"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefooncel"</string>
     <string name="onHold" msgid="6132725550015899006">"In de wacht"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Bericht van <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Bericht van provider"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-code gestart"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-code uitvoeren..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-code geannuleerd"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Alleen NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Voorkeursnetwerkmodus: voorkeur voor WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Voorkeursnetwerkmodus: alleen GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Voorkeursnetwerkmodus: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Voorkeursnetwerkmodus: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Voorkeursnetwerkmodus: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Voorkeursnetwerkmodus: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Voorkeursnetwerkmodus: Wereldwijd"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Voorkeursnetwerkmodus: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Voorkeursmodus voor netwerk: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Voorkeursnetwerkmodus: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Voorkeursnetwerkmodus: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Voorkeursnetwerkmodus: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Voorkeursnetwerkmodus: alleen NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Voorkeursnetwerkmodus: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Voorkeursnetwerkmodus: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Voorkeursnetwerkmodus: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Voorkeursnetwerkmodus: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Voorkeursnetwerkmodus: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Voorkeursnetwerkmodus: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Voorkeursnetwerkmodus: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Voorkeursnetwerkmodus: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Voorkeursnetwerkmodus: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Voorkeursnetwerkmodus: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Bellen"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Netwerk"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Geoptimaliseerde 4G LTE-modus"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Meerdere categorieën"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Meerdere categorieën ingeschakeld"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Meerdere categorieën uitgeschakeld"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (aanbevolen)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (aanbevolen)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (aanbevolen)"</string>
     <string name="network_global" msgid="3289646154407617631">"Algemeen"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Vast nummer verwijderen..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Vast nummer verwijderd."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN is niet bijgewerkt omdat je een onjuiste pincode hebt ingevoerd."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN is niet geüpdatet omdat het nummer langer is dan twintig tekens."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN is niet geüpdatet omdat het nummer langer is dan <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> tekens."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN is niet bijgewerkt. De PIN2 was onjuist of het telefoonnummer is geweigerd."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN-bewerking mislukt."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lezen vanaf simkaart..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Kan niet bellen. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is geen alarmnummer."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Bellen niet mogelijk. Bel een alarmnummer."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Noodoproepen niet beschikbaar"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Alleen de eigenaar van het apparaat kan pin-/pukcodes invoeren."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Politie"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulance"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Brand"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Realtime tekstoproep (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Berichten in een audiogesprek toestaan"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT helpt bellers die doof of slechthorend zijn, een spraakbeperking hebben of meer dan alleen een stem nodig hebben.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Meer informatie&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT-gesprekken worden opgeslagen als berichttranscript.\n       &lt;br&gt; - RTT is niet beschikbaar voor videogesprekken"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Let op: RTT is niet beschikbaar tijdens roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY uit"</item>
     <item msgid="1449091874731375214">"TTY vol"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nee"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Blokkering van gesprekken gedeactiveerd"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Wachtwoord wijzigen"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Wachtwoord voor blokkering van gesprekken wijzigen"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Wachtwoord voor blokkering van gesprekken kan niet worden gewijzigd."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Wachtwoord voor blokkering van gesprekken kan niet worden gewijzigd"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"De wachtwoorden komen niet overeen"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Geef een wachtwoord van vier cijfers op"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Wachtwoord gewijzigd"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Wachtwoord bevestigen"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Wachtwoord invoeren"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Blokkeerinstellingen voor gesprekken"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Alle blokkeerinstellingen voor gesprekken deactiveren?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Netwerk is bezet. Probeer je gesprek later opnieuw uit te voeren."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Het netwerk is overbelast. Neem contact op met je mobiele provider voor hulp."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Gesprek doorgeschakeld naar ander nummer."</string>
@@ -787,4 +820,91 @@
     <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 ingeschakeld voor sim <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Je kunt dit wijzigen via de mobiele netwerkinstellingen."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Als je <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> wilt gebruiken, zorg je dat je mobiele data en dataroaming hebt ingeschakeld voor sim <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Je kunt dit wijzigen via de mobiele netwerkinstellingen."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Sluiten"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Dataverbinding inschakelen"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Dataverbinding uitschakelen"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-registratie"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videogesprekken geregistreerd"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi-gesprekken geregistreerd"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/aanwezigheid geregistreerd"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-gegevens"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS inschakelen"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Apparaat opnieuw opstarten?"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Mobiel radiovermogen"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Adresboek op simkaart weergeven"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Vaste nummers weergeven"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Servicenummers weergeven"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS-servicestatus"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Geregistreerd"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Niet geregistreerd"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Beschikbaar"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Niet beschikbaar"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registratie: <xliff:g id="STATUS">%1$s</xliff:g>\nBellen via LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nBellen via wifi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideogesprekken: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In gebruik"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Niet in gebruik"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Alleen noodoproepen"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio uit"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Geen roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactief"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Telefoon gaat over"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Actief gesprek"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Verbinding verbroken"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Verbinding maken"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Verbonden"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Opgeschort"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Onbekend"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pakketten"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Huidige subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId van standaard simkaart voor data:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL-bandbreedte (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL-bandbreedte (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Mobiele locatiegegevens (beëindigd):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Fysieke LTE-kanaalconfiguratie:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Vernieuwingsfrequentie van mobiele data:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Alle mobiele meetgegevens:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Gegevensservice:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Gesprek omleiden:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Aantal PPP-resets sinds opstarten:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Huidig netwerk:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Ontvangen gegevens:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Spraakservice:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signaalsterkte:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status van audiogesprek:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Gegevens verzonden:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Wachtend bericht:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefoonnummer:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"IPv6 van hostnaam (www.google.com) pingen:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-client testen:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Pingtest uitvoeren"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Updaten"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Vernieuwen"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"DNS-controle in-/uitschakelen"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specifieke gegevens/instellingen"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Modus voor radioband instellen"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Bandlijst laden…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Instellen"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Mislukt"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Geslaagd"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tabletinformatie"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefooninformatie"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Gegevens voor providerregistratie"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Providerregistratie activeren"</string>
 </resources>
diff --git a/res/values-or/config.xml b/res/values-or/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-or/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index c8bb14c..6dddcf8 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ବ୍ୟକ୍ତିଗତ ନମ୍ବର୍"</string>
     <string name="payphone" msgid="7936735771836716941">"ପେ-ଫୋନ୍"</string>
     <string name="onHold" msgid="6132725550015899006">"ହୋଲ୍ଡରେ ଅଛି"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> ମେସେଜ୍"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"ବାହକ ମେସେଜ୍"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI କୋଡ୍‌କୁ ଆରମ୍ଭ କରାଯାଇଛି"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD କୋଡ୍ ରନ୍ କରୁଛି…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI କୋଡ୍‌କୁ କ୍ୟାନ୍ସଲ୍ କରାଯାଇଛି"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"କେବଳ NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: WCDMAକୁ ପସନ୍ଦ କରାଯାଇଛି"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: କେବଳ GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: ଗ୍ଲୋବାଲ୍"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ମୋଡ୍: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: କେବଳ NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR/LTE/CDME/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ମୋଡ୍: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"କଲ୍ କରାଯାଉଛି"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ନେଟ୍‌ୱର୍କ"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"ଉନ୍ନତ 4G LTE ମୋଡ୍‍"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ବିବିଧ ଶ୍ରେଣୀ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"ବିବିଧ ଶ୍ରେଣୀକୁ ସକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ବିବିଧ ଶ୍ରେଣୀକୁ ଅକ୍ଷମ କରାଯାଇଛି"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ସୁପାରିଶ କରାଯାଇଛି)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ପ୍ରସ୍ତାବିତ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (ପ୍ରସ୍ତାବିତ)"</string>
     <string name="network_global" msgid="3289646154407617631">"ଗ୍ଲୋବାଲ୍"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDN ଅପଡେଟ୍ ହେଲା ନାହିଁ କାରଣ ନମ୍ବର୍ 20ଟି ସଂଖ୍ୟାରୁ ଅଧିକ ଅଛି।"</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="fdn_failed" msgid="216592346853420250">"FDN ଅପରେଶନ୍ ବିଫଳ ହେଲା।"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM କାର୍ଡରୁ ପଢ଼ାଯାଉଛି…"</string>
@@ -520,7 +546,7 @@
     <string name="emergency_information_hint" msgid="9208897544917793012">"ଜରୁରୀକାଳୀନ ସୂଚନା"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"ମାଲିକ"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"ସୂଚନା ଦେଖିବାକୁ ପୁଣିଥରେ ଟାପ୍‍ କରନ୍ତୁ"</string>
-    <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"ଜରୁରୀକାଳିନ କଲ୍‌"</string>
+    <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"ଜରୁରୀକାଳୀନ କଲ୍‌"</string>
     <string name="single_emergency_number_title" msgid="8413371079579067196">"ଜରୁରୀକାଳୀନ ନମ୍ବର୍‌"</string>
     <string name="numerous_emergency_numbers_title" msgid="8972398932506755510">"ଜରୁରୀକାଳୀନ ନମ୍ବର୍‌"</string>
     <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"<xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>ରେ କଲ୍‌ କରନ୍ତୁ"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"କଲ୍ କରିପାରିବେ ନାହିଁ। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ଗୋଟିଏ ଜରୁରିକାଳୀନ ନମ୍ବର୍ ନୁହେଁ।"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"କଲ୍ କରିପାରିବେ ନାହିଁ। ଗୋଟିଏ ଜରୁରିକାଳୀନ ନମ୍ବର୍ ଡାଏଲ୍ କରନ୍ତୁ।"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"ଜରୁରିକାଳୀନ କଲ୍ କରିବା ଉପଲବ୍ଧ ନାହିଁ"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"ଡିଭାଇସ୍‍ର ମାଲିକ କେବଳ PIN/PUK କୋଡ୍ ଲେଖିପାରିବେ।"</string>
     <string name="police_type_description" msgid="2819533883972081757">"ପୋଲିସ୍‍"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ଆମ୍ବୁଲେନ୍ସ"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"ନିଆଁ"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"ଧ୍ୟାନ ଦିଅନ୍ତୁ: ରୋମିଂ ସମୟରେ RTT ଉପଲବ୍ଧ ନୁହେଁ"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ବନ୍ଦ ଅଛି"</item>
     <item msgid="1449091874731375214">"TTY ପୂର୍ଣ୍ଣ"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"ସେବା"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"ସେଟଅପ୍ କରନ୍ତୁ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ସେଟ୍ ହୋ‌ଇନାହିଁ&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ସମସ୍ତ କଲ୍ ରୋକିବା ନିଷ୍କ୍ରିୟ ହୋ‌ଇଯାଇଛି"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"ପାସ୍‌ୱର୍ଡ ବଦଳାନ୍ତୁ"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"କଲ୍ ରୋକିବା ପାସ୍‌ୱର୍ଡକୁ ବଦଳାନ୍ତୁ"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"କଲ୍ ରୋକିବା ପାସ୍‌ୱର୍ଡକୁ ବଦଳାଯାଇପାରିବ ନାହିଁ।"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"କଲ୍ ବାରିଂ ପାସ୍‌ୱାର୍ଡକୁ ବଦଳା ଯାଇପାରିବ ନାହିଁ"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"ପାସ୍‌ୱର୍ଡ ମେଳ ହେଉ ନାହିଁ"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 ଅଙ୍କ ବିଶିଷ୍ଟ ଗୋଟିଏ ପାସ୍‌ୱର୍ଡ ପ୍ରବେଶ କରନ୍ତୁ"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"ପାସ୍‌ୱର୍ଡ ବଦଳାଯାଇଛି"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"ପାସ୍‌ୱର୍ଡ ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"ପାସ୍‌ୱର୍ଡ ପ୍ରବେଶ କରନ୍ତୁ"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"କଲ୍ ରୋକିବା ସେଟିଙ୍ଗ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"ସମସ୍ତ କଲ୍ ରୋକିବା ସେଟିଙ୍ଗକୁ ନିଷ୍କ୍ରିୟ କରିବେ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ନେଟ୍‌ୱର୍କ ବ୍ୟସ୍ତ ଅଛି। ଦୟାକରି ଆପଣ ପରେ ପୁଣି କଲ୍‌ ଚେଷ୍ଟା କରିବା ପାଇଁ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ନେଟ୍‌ୱର୍କ ବ୍ୟସ୍ତ ଅଛି। ସହାୟତା ପାଇଁ ଆପଣଙ୍କର ମୋବାଇଲ୍ ଅପରେଟର୍‍ଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"କଲ୍ ଅନ୍ୟ ପାଖକୁ ଯିବା ବଦଳରେ ନିଜ ପାଖକୁ ଆସିଯାଇଛି।"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ବ୍ୟବହାର କରିବାକୁ, ସିମ୍ <xliff:g id="SIM_NUMBER">%2$d</xliff:g>ରେ ମୋବାଇଲ୍ ଡାଟା ଚାଲୁ ଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଆପଣ ଏହାକୁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଂସ୍‌ରେ ବଦଳାଇପାରିବେ।"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ବ୍ୟବହାର କରିବାକୁ, ସିମ୍ <xliff:g id="SIM_NUMBER">%2$d</xliff:g>ରେ ମୋବାଇଲ୍ ଡାଟା ଏବଂ ଡାଟା ରୋମିଂ ଚାଲୁ ଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଆପଣ ଏହାକୁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଂସ୍‌ରେ ବଦଳାଇପାରିବେ।"</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ଭିଡିଓ କଲିଂ ପ୍ରାବଧାନ କରାଯାଇଛି"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi କଲିଂ ପ୍ରାବଧାନ କରାଯାଇଛି"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/ଉପସ୍ଥିତି ପ୍ରାବଧାନ କରାଯାଇଛି"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ଡାଟା"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"ମୋବାଇଲ୍ ରେଡିଓ ପାୱାର୍"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ସିମ୍‌ରେ ଥିବା ଠିକଣା ପୁସ୍ତକ ଦେଖନ୍ତୁ"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ସ୍ଥାୟୀ ଡାଏଲିଂ ନମ୍ୱରଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"ସର୍ଭିସ୍ ଡାଏଲିଂ ନମ୍ୱରଗୁଡ଼ିକ ଦେଖନ୍ତୁ"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS ସେବା ସ୍ଥିତି"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS ସ୍ଥିତି"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ରେଜିଷ୍ଟ୍ରେସନ୍ ହୋଇଛି"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"ରେଜିଷ୍ଟ୍ରେସନ୍ ହୋଇ ନାହିଁ"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ଉପଲବ୍ଧ ଅଛି"</string>
+    <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ଭଏସ୍ ଓଭର୍ ୱାଇ-ଫାଇ: <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_emergency" msgid="4763879891415016848">"କେବଳ ଜରୁରୀକାଳୀନ କଲ୍"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ରେଡିଓ ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ରୋମିଂ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ରୋମିଂରେ ନାହିଁ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"ନିଷ୍କ୍ରିୟ"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"ରିଂ ହେଉଛି"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"କଲ୍ ଚାଲୁଛି"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"ସଂଯୋଗ କରାଯାଉଛି"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"ସଂଯୋଗ କରାଯାଇଛି"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"ନିଲମ୍ବନ କରାଯାଇଛି"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"ଅଜଣା"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"ପ୍ୟାକେଟ୍"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ବାଇଟ୍ସ"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ବର୍ତ୍ତମାନର subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ଡିଫଲ୍ଟ ଡାଟା SIMର SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL ବ୍ୟାଣ୍ଡୱିଡଥ୍ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL ବ୍ୟାଣ୍ଡୱିଡଥ୍ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ସେଲ୍ ଲୋକେସନ୍ ସୂଚନା (ଅନୁରୋଧ କରାଯାଇଛି):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ଫିଜିକାଲ୍ ଚ୍ୟାନେଲ୍ କନ୍‌ଫିଗରେସନ୍:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"ସେଲ୍ ସୂଚନା ରିଫ୍ରେସ୍ ଦର:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ସମସ୍ତ ସେଲ୍ ପରିମାପ ସୂଚନା:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ଡାଟା ସେବା:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ରୋମିଂ:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"କଲ୍ ରିଡାଇରେକ୍ଟ:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"ବୁଟ୍ ପରଠାରୁ PPP ରିସେଟ୍‌ର ସଂଖ୍ୟା:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"ବର୍ତ୍ତମାନର ନେଟ୍‌ୱାର୍କ:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ଡାଟା ପ୍ରାପ୍ତ ହୋଇଛି:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ଭଏସ୍ ସେବା:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"ସିଗ୍‌ନାଲ୍ ଦକ୍ଷତା:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ଭଏସ୍ କଲ୍ ସ୍ଥିତି:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ଡାଟା ପଠାଯାଇଛି:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"ବାର୍ତ୍ତା ଅପକ୍ଷାରତ:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ଫୋନ୍ ନମ୍ଵର"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ହୋଷ୍ଟନାମ (www.google.com) IP6 ପିଙ୍ଗ କରନ୍ତୁ:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP କ୍ଲାଏଣ୍ଟ ଟେଷ୍ଟ:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS ଯାଞ୍ଚ ଟୋଗଲ୍ କରନ୍ତୁ"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-ନିର୍ଦ୍ଦିଷ୍ଟ ସୂଚନା/ସେଟିଂସ୍"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ମୋଡ୍ ସେଟ୍ କରନ୍ତୁ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ବ୍ୟାଣ୍ଡ ତାଲିକା ଲୋଡ୍ କରାଯାଉଛି…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"ସେଟ୍ କରନ୍ତୁ"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ଅସଫଳ"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"ସଫଳ"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ଟାବ୍‌ଲେଟ୍ ସୂଚନା"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ଫୋନ୍ ସୂଚନା"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ମୋବାଇଲ୍ କମ୍ପାନୀ ପ୍ରାବଧାନ ସୂଚନା"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"କେରିଅର୍ ପ୍ରୋଭିଜନିଂ ଟ୍ରିଗର୍ କରନ୍ତୁ"</string>
 </resources>
diff --git a/res/values-pa/config.xml b/res/values-pa/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-pa/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 66554b2..08d69b8 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ਨਿੱਜੀ ਨੰਬਰ"</string>
     <string name="payphone" msgid="7936735771836716941">"ਪੇਫੋਨ"</string>
     <string name="onHold" msgid="6132725550015899006">"ਹੋਲਡ ਤੇ"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> ਸੁਨੇਹਾ"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"ਕੈਰੀਅਰ ਸੁਨੇਹਾ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI ਕੋਡ ਚਾਲੂ ਕੀਤਾ"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD ਕੋਡ ਚੱਲ ਰਿਹਾ ਹੈ…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI ਕੋਡ ਰੱਦ ਕੀਤਾ"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"ਸਿਰਫ਼ NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਤਰਜੀਹੀ WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਕੇਵਲ GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਗਲੋਬਲ"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: ਸਿਰਫ਼ NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਮੋਡ: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"ਕਾਲਿੰਗ"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ਨੈੱਟਵਰਕ"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"ਵਿਸਤ੍ਰਿਤ 4G LTE ਮੋਡ"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"ਮਲਟੀ-ਸ਼੍ਰੇਣੀ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"ਮਲਟੀ-ਸ਼੍ਰੇਣੀ ਸਮਰਥਿਤ"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ਮਲਟੀ-ਸ਼੍ਰੇਣੀ ਅਸਮਰਥਿਤ"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G ( ਸਿਫ਼ਾਰਸ਼  ਕੀਤਾ)"</string>
     <string name="network_global" msgid="3289646154407617631">"ਗਲੋਬਲ"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDN ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਨੰਬਰ 20 ਅੰਕਾਂ ਤੋਂ ਵੱਧ ਹੈ।"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਨੰਬਰ <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> ਅੰਕਾਂ ਤੋਂ ਵੱਧ ਹੈ।"</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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"ਕਾਲ ਨਹੀਂ ਕਰ ਸਕਦਾ। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ਇੱਕ ਐਮਰਜੈਂਸੀ ਨੰਬਰ ਨਹੀਂ ਹੈ।"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"ਕਾਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਇੱਕ ਐਮਰਜੈਂਸੀ ਨੰਬਰ ਡਾਇਲ ਕਰੋ।"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"ਸੰਕਟਕਾਲੀਨ ਕਾਲ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"ਸਿਰਫ਼ ਡੀਵਾਈਸ ਦਾ ਮਾਲਕ ਪਿੰਨ/PUK ਕੋਡ ਦਾਖਲ ਕਰ ਸਕਦਾ ਹੈ।"</string>
     <string name="police_type_description" msgid="2819533883972081757">"ਪੁਲਿਸ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ਐਂਬੂਲੈਂਸ"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"ਅੱਗ"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"ਨੋਟ ਕਥਨ:ਵੇਲੇ RTT ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ਬੰਦ"</item>
     <item msgid="1449091874731375214">"TTY ਪੂਰਾ"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ਕਾਲ ਬੈਰਿੰਗ ਨੂੰ ਅਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਗਿਆ"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"ਪਾਸਵਰਡ ਬਦਲੋ"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"ਕਾਲ ਬੈਰਿੰਗ ਦਾ ਪਾਸਵਰਡ ਬਦਲੋ"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"ਕਾਲ ਬੈਰਿੰਗ ਦਾ ਪਾਸਵਰਡ ਨਹੀਂ ਬਦਲਿਆ ਜਾ ਸਕਦਾ।"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"ਕਾਲ ਬੈਰਿੰਗ ਦਾ ਪਾਸਵਰਡ ਨਹੀਂ ਬਦਲਿਆ ਜਾ ਸਕਦਾ"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"ਪਾਸਵਰਡ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 ਨੰਬਰਾਂ ਵਾਲਾ ਕੋਈ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"ਪਾਸਵਰਡ ਬਦਲਿਆ ਗਿਆ"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"ਪਾਸਵਰਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ਕਾਲ ਬੈਰਿੰਗ ਸੈਟਿੰਗਾਂ"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"ਕੀ ਸਾਰੀਆਂ ਕਾਲ ਬੈਰਿੰਗ ਸੈਟਿੰਗਾਂ ਅਕਿਰਿਆਸ਼ੀਲ ਕਰਨੀਆਂ ਹਨ?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ਨੈੱਟਵਰਕ ਰੁੱਝਿਆ ਹੋਇਆ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ ਕਾਲ ਲਈ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ਨੈੱਟਵਰਕ \'ਤੇ ਭਾਰੀ ਟ੍ਰਰੈਫ਼ਿਕ ਹੈ। ਸਹਾਇਤਾ ਲਈ ਆਪਣੇ ਮੋਬਾਈਲ ਓਪਰੇਟਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"ਕਾਲ ਕਿਸੇ ਹੋਰ ਵਿਅਕਤੀ ਨੂੰ ਭੇਜੀ ਗਈ।"</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ਨੂੰ ਵਰਤਣ ਲਈ, ਪੱਕਾ ਕਰੋ ਕਿ ਸਿਮ <xliff:g id="SIM_NUMBER">%2$d</xliff:g> \'ਤੇ ਮੋਬਾਈਲ ਡਾਟਾ ਚਾਲੂ ਹੋਵੇ। ਤੁਸੀਂ ਇਸਨੂੰ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> ਨੂੰ ਵਰਤਣ ਲਈ, ਪੱਕਾ ਕਰੋ ਕਿ ਸਿਮ <xliff:g id="SIM_NUMBER">%2$d</xliff:g> \'ਤੇ ਮੋਬਾਈਲ ਡਾਟਾ ਅਤੇ ਡਾਟਾ ਰੋਮਿੰਗ ਦੋਨੋਂ ਚਾਲੂ ਹੋਣ। ਤੁਸੀਂ ਇਹਨਾਂ ਨੂੰ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ਵੀਡੀਓ ਕਾਲਿੰਗ ਪ੍ਰੋਵਿਜ਼ਨਡ"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ ਪ੍ਰੋਵਿਜ਼ਨਡ"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/ਮੌਜੂਦਗੀ ਪ੍ਰੋਵਿਜ਼ਨਡ"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs ਡਾਟਾ"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS ਚਾਲੂ ਕਰੋ"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"ਮੋਬਾਈਲ ਰੇਡੀਓ ਪਾਵਰ"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ਸਿਮ ਦੀ ਪਤਾ ਬੁੱਕ ਦੇਖੋ"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"ਸੇਵਾ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS ਸੇਵਾ ਸਥਿਤੀ"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS ਸਥਿਤੀ"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ਰਜਿਸਟਰ ਕੀਤੀ ਗਈ"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"ਰਜਿਸਟਰ ਨਹੀਂ ਕੀਤੀ ਗਈ"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ਉਪਲਬਧ"</string>
+    <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>\nLTE \'ਤੇ ਵੌਇਸ: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nਵਾਈ-ਫਾਈ \'ਤੇ ਵੌਇਸ: <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_emergency" msgid="4763879891415016848">"ਸਿਰਫ਼ ਸੰਕਟਕਾਲੀਨ ਕਾਲਾਂ"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ਰੇਡੀਓ ਬੰਦ"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ਰੋਮਿੰਗ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ਰੋਮਿੰਗ ਨਹੀਂ"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"ਨਿਸ਼ਕਿਰਿਆ"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"ਘੰਟੀ ਵੱਜ ਰਹੀ ਹੈ"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"ਕਾਲ ਜਾਰੀ ਹੈ"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"ਡਿਸਕਨੈਕਟ ਹੋਇਆ"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"ਕਨੈਕਟ ਹੈ"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"ਮੁਅੱਤਲ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"ਅਗਿਆਤ"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ਬਾਈਟਾਂ"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ਮੌਜੂਦਾ subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਡਾਟਾ ਸਿਮ ਦਾ SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL ਬੈਂਡਵਿਡਥ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL ਬੈਂਡਵਿਡਥ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ਸੈੱਲ ਦੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ (ਨਾਪਸੰਦ ਕੀਤੀ):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ਭੌਤਿਕ ਚੈਨਲ ਸੰਰੂਪਣ:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"ਸੈੱਲ ਦੀ ਜਾਣਕਾਰੀ ਦੀ ਰਿਫ੍ਰੈਸ਼ ਦਰ:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ਸਾਰੀ ਸੈੱਲ ਮਾਪ ਜਾਣਕਾਰੀ:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ਡਾਟਾ ਸੇਵਾ:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ਰੋਮਿੰਗ:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"ਇਸ \'ਤੇ ਕਾਲ ਰੀਡਾਇਰੈਕਟ ਕਰੋ:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"ਬੂਟ ਤੋਂ ਬਾਅਦ PPP ਰੀਸੈੱਟ ਦੀ ਗਿਣਤੀ:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"ਵਰਤਮਾਨ ਨੈੱਟਵਰਕ:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ਡਾਟਾ ਪ੍ਰਾਪਤ ਹੋਇਆ:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"ਵੌਇਸ ਸੇਵਾ:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"ਵੌਇਸ ਕਾਲ ਸਥਿਤੀ:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ਡਾਟਾ ਭੇਜਿਆ ਗਿਆ:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"ਸੁਨੇਹੇ ਦੀ ਉਡੀਕ:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ਫ਼ੋਨ ਨੰਬਰ:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ਹੋਸਟਨਾਮ (www.google.com) IPv6 ਪਿੰਗ ਕਰੋ:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP ਕਲਾਇੰਟ ਜਾਂਚ:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS ਜਾਂਚ ਟੌਗਲ ਕਰੋ"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-ਵਿਸ਼ੇਸ਼ ਜਾਣਕਾਰੀ/ਸੈਟਿੰਗਾਂ"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ਰੇਡੀਓ ਬੈਂਡ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"ਬੈਂਡ ਸੂਚੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"ਸੈੱਟ ਕਰੋ"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ਅਸਫਲ"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"ਸਫਲ"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ਟੈਬਲੈੱਟ ਜਾਣਕਾਰੀ"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ਫ਼ੋਨ ਜਾਣਕਾਰੀ"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ਕੈਰੀਅਰ ਪ੍ਰੋਵਿਜ਼ਨਿੰਗ ਜਾਣਕਾਰੀ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"ਕੈਰੀਅਰ ਪ੍ਰਵਿਜ਼ਨਿੰਗ ਨੂੰ ਟ੍ਰਿਗਰ ਕਰੋ"</string>
 </resources>
diff --git a/res/values-pl/config.xml b/res/values-pl/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-pl/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 027e34a..410887c 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Numer prywatny"</string>
     <string name="payphone" msgid="7936735771836716941">"Automat telefoniczny"</string>
     <string name="onHold" msgid="6132725550015899006">"Oczekujące"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Wiadomość od operatora <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Wiadomość od operatora"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Kod MMI został rozpoczęty"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Uruchomiony kod USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Kod MMI został anulowany"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Tylko NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferowany tryb sieci: preferowany WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferowany tryb sieci: tylko GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferowany tryb sieci: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferowany tryb sieci: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferowany tryb sieci: CDMA + LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferowany tryb sieci: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferowany tryb sieci: globalny"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferowany tryb sieci: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferowany tryb sieci: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferowany tryb sieci: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferowany tryb sieci: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferowany tryb sieci: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferowany tryb sieci: tylko NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferowany tryb sieci: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferowany tryb sieci: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferowany tryb sieci: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferowany tryb sieci: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferowany tryb sieci: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferowany tryb sieci: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferowany tryb sieci: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferowany tryb sieci: LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferowany tryb sieci: LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferowany tryb sieci: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Połączenia"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Sieć"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Tryb rozszerzonego 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Obsługa wielu kategorii"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Obsługa wielu kategorii włączona"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Obsługa wielu kategorii wyłączona"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (zalecane)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (zalecana)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (zalecana)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globalna"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Trwa usuwanie ustalonego numeru…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Usunięto ustalony numer."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Nie zaktualizowano usługi FDN, ponieważ wpisano nieprawidłowy kod PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Nie zaktualizowano usługi FDN, ponieważ numer zawiera ponad 20 cyfr."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Nie zaktualizowano usługi FDN, ponieważ numer zawiera powyżej <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> cyfr."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Nie zaktualizowano FDN. PIN2 był niepoprawny lub numer telefonu został odrzucony."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operacja FDN nie udała się."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Czytanie z karty SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Nie można dzwonić. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nie jest numerem alarmowym."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nie można dzwonić. Wybierz numer alarmowy."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Połączenia alarmowe niedostępne"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Kody PIN/PUK może wpisać tylko właściciel urządzenia."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policja"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Karetka pogotowia"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Straż pożarna"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Połączenie RTT (wysyłanie SMS-ów w czasie rzeczywistym)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Zezwalaj na wymianę SMS-ów podczas rozmowy głosowej"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT pomaga osobom niesłyszącym, niedosłyszącym, mającym problemy z mówieniem oraz potrzebującym czegoś więcej oprócz głosu.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Więcej informacji&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – Połączenia RTT są zapisywane jako transkrypcje\n       &lt;br&gt; – Funkcja RTT jest niedostępna w przypadku rozmów wideo"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Uwaga: funkcja RTT jest niedostępna podczas roamingu"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY wyłączony"</item>
     <item msgid="1449091874731375214">"TTY pełny"</item>
@@ -613,6 +641,14 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Tak"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nie"</string>
     <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>
     <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>
@@ -659,7 +695,7 @@
     <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"Ustaw nowy kod PIN"</string>
     <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"Kod PIN musi zawierać od <xliff:g id="MIN">%1$d</xliff:g> do <xliff:g id="MAX">%2$d</xliff:g> cyfr."</string>
     <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"Potwierdź kod PIN"</string>
-    <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"Kody PIN nie są identyczne."</string>
+    <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"Kody PIN nie są takie same"</string>
     <string name="change_pin_succeeded" msgid="2504705600693014403">"Kod PIN poczty głosowej został zaktualizowany."</string>
     <string name="change_pin_system_error" msgid="7772788809875146873">"Nie udało się ustawić kodu PIN"</string>
     <string name="mobile_data_status_roaming_turned_off_subtext" msgid="6840673347416227054">"Transmisja danych w roamingu jest wyłączona"</string>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Blokada połączeń dezaktywowana"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Zmień hasło"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Zmień hasło blokady połączeń"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Nie można zmienić hasła blokady połączeń."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Nie można zmienić hasła blokady połączeń"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Hasła nie są identyczne"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Wpisz hasło składające się z czterech cyfr"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Hasło zmienione"</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Potwierdź hasło"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Wpisz hasło"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Ustawienia blokady połączeń"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Dezaktywować wszystkie ustawienia blokady połączeń?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Sieć jest zajęta. Spróbuj zadzwonić później."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Sieć jest przeciążona. Skontaktuj się z operatorem i poproś o pomoc."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Połączenie przekazane na inny numer."</string>
@@ -791,4 +826,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Aby używać usługi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, włącz mobilną transmisję danych i roaming danych dla karty SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> w ustawieniach sieci komórkowej."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Zamknij"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Włącz transmisję danych"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Wyłącz transmisję danych"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Obsługa głosu przez LTE włączona"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Możliwość prowadzenia rozmów wideo"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Możliwość prowadzenia rozmów przez Wi-Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Obsługa EAB/obecności włączona"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Dane CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Włącz DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Uruchomić urządzenie ponownie?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Wyświetl numery usług"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Stan usługi IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Stan IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Zarejestrowane"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Niezarejestrowane"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Dostępne"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Brak dostępu"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Rejestracja w usłudze IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nRozmowy wideo: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfejs UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Działa"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Nie działa"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Tylko połączenia alarmowe"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio wyłączone"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Brak roamingu"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Brak"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Dzwonię"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Połączenie w toku"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Odłączono"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Łączę"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Połączono"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Zawieszone"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Brak informacji"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"– pakiety"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"B"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Aktualny identyfikator:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Identyfikator domyślnej karty SIM do transmisji danych:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Przepustowość kanału DL (kb/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Przepustowość kanału UL (kb/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informacje o lokalizacji z sieci komórkowej (wycofane):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfiguracja kanału fizycznego LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Częstotliwość odświeżania informacji o sieci komórkowej:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Wszystkie informacje pomiarowe z sieci komórkowej:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Usługa transmisji danych:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Przekierowanie połączeń:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Liczba operacji resetowania PPP od momentu uruchomienia:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Obecna sieć:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Dane odebrane:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Usługa połączeń głosowych:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Siła sygnału:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Stan połączenia głosowego:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Dane wysłane:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Wiadomość oczekująca:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Numer telefonu:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping nazwa_hosta(www.google.pl) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test klienta HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Przeprowadź test pingu"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Aktualizacja"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Ustawianie trybu pasma radiowego"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Ładuję listę pasm…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Ustaw"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Nie udało się"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Udało się"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informacje o tablecie"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informacje o telefonie"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informacje o obsłudze administracyjnej operatora"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Uruchom obsługę administracyjną operatora"</string>
 </resources>
diff --git a/res/values-pt-rPT/config.xml b/res/values-pt-rPT/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-pt-rPT/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index bca2506..3c33d08 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Número particular"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefone público"</string>
     <string name="onHold" msgid="6132725550015899006">"Em espera"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mensagem <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mensagem do Operador"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Código de MMI iniciado"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"A executar código USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Código de MMI cancelado"</string>
@@ -134,7 +136,7 @@
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"Pedido SS alterado para um novo pedido USSD"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"Foi alterado para um novo pedido SS"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"O pedido SS foi alterado para uma videochamada"</string>
-    <string name="fdn_check_failure" msgid="1833769746374185247">"A definição Números Autorizados da aplicação do seu Telemóvel está ativada. Por conseguinte, algumas funcionalidades relacionadas com chamadas não estão a funcionar."</string>
+    <string name="fdn_check_failure" msgid="1833769746374185247">"A definição Números Autorizados da app do seu Telemóvel está ativada. Por conseguinte, algumas funcionalidades relacionadas com chamadas não estão a funcionar."</string>
     <string name="radio_off_error" msgid="8321564164914232181">"Ative o rádio antes de visualizar estas definições."</string>
     <string name="close_dialog" msgid="1074977476136119408">"OK"</string>
     <string name="enable" msgid="2636552299455477603">"Ativar"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Apenas NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modo de rede preferido: apenas WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modo de rede preferido: apenas GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Modo de rede preferido: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Modo de rede preferido: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Modo de rede preferido: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Modo de rede preferido: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Modo de rede preferido: global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Modo de rede preferido: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modo de rede preferido: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Modo de rede preferido: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Modo de rede preferido: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Modo de rede preferido: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Modo de rede preferido: apenas NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Modo de rede preferido: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Modo de rede preferido: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Modo de rede preferido: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Modo de rede preferido: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Modo de rede preferido: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Modo de rede preferido: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Modo de rede preferido: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Modo de rede preferido: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Modo de rede preferido: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Modo de rede preferido: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Chamadas"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Rede"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Modo 4G LTE avançado"</string>
@@ -261,7 +286,7 @@
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"Funcionalidade de SIM limitada"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"As chamadas e os serviços de dados da <xliff:g id="CARRIER_NAME">%1$s</xliff:g> podem ficar bloqueados ao utilizar o número <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
     <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"As chamadas e serviços de dados da <xliff:g id="CARRIER_NAME">%1$s</xliff:g> podem ser bloqueados se utilizar outro SIM."</string>
-    <string name="data_usage_title" msgid="8438592133893837464">"Utilização de dados da aplicação"</string>
+    <string name="data_usage_title" msgid="8438592133893837464">"Utilização de dados da app"</string>
     <string name="data_usage_template" msgid="6287906680674061783">"<xliff:g id="ID_1">%1$s</xliff:g> de dados móveis utilizados entre <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="advanced_options_title" msgid="9208195294513520934">"Avançadas"</string>
     <string name="carrier_settings_euicc" msgid="1190237227261337749">"Operador"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Categoria múltipla"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Categoria múltipla activada"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Modo de categorias múltiplas desativado"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recomendado)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recomendado)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recomendado)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"A eliminar números autorizados..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Números autorizados eliminados."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Os números autorizados não foram atualizados porque introduziu um PIN incorreto."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"O FDN não foi atualizado porque o número excede os 20 dígitos."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"O FDN não foi atualizado porque o número excede <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> dígitos."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Não foram atualizados os números autorizados. O PIN2 estava errado ou o número de telefone foi rejeitado."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Falha de FDN."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"A ler a partir do cartão SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Não é possível telefonar. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um número de emergência."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Não é possível telefonar. Marque um número de emergência."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Chamadas de emergência não disponíveis"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Apenas o proprietário do dispositivo pode introduzir os códigos PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polícia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulância"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Fogo"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Chamada com Mensagens de texto em tempo real (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Permitir envio de mensagens numa chamada de voz"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"A RTT assiste os autores de chamadas surdos, com deficiências auditivas, dificuldades da fala ou que precisem de mais do que apenas a voz.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Saiba mais&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - As chamadas RTT são guardadas como transcrição de mensagem\n       &lt;br&gt; - A RTT não está disponível para videochamadas"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Nota: a RTT não está disponível em roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Teletipo desativado"</item>
     <item msgid="1449091874731375214">"Teletipo completo"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sim"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Não"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Barramento de chamadas desativado"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Alterar palavra-passe"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Alterar palavra-passe de barramento de chamadas"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Não é possível alterar a palavra-passe de barramento de chamadas"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Não é possível alterar a palavra-passe de barramento de chamadas."</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"As palavras-passe não correspondem"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Introduza uma palavra-passe com 4 números"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"A palavra-passe foi alterada"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmar palavra-passe"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Introduzir palavra-passe"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Definições de barramento de chamadas"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Desativar todas as definições de barramento de chamadas?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"A rede está ocupada. Tente efetuar novamente a chamada mais tarde."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"A rede está congestionada. Contacte o seu operador móvel para obter assistência."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"A chamada foi desviada."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Para utilizar o/a <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, certifique-se de que os dados móveis e o roaming de dados estão ativados para o SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Pode alterar estas definições nas definições de rede móvel."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ignorar"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Ativar ligação de dados"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Desativar ligação de dados"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE fornecido"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videochamadas fornecidas"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Chamadas Wi-Fi fornecidas"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/presença aprovisionada"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Dados de CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Ativar DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Pretende reiniciar o dispositivo?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Ver números de marcação de serviços"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Estado do serviço IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Estado IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registado"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Não registado"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponível"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Indisponível"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registo IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoz por LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoz por Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochamadas: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Em serviço"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Fora de serviço"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Apenas chamadas de emergência"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Rádio desativado"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Sem roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inativo"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"A tocar…"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Chamada em curso"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Desligado"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"A ligar…"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Ligado"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspenso"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Desconhecido"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"SubID atual:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubID do SIM de dados predefinido:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Largura de banda de transferência (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Largura de banda de carregamento (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informações da localização da célula (descontinuadas):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuração do canal físico LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Taxa de atualização das informações da célula:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Todas as informações de medição de células:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Serviço de dados:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redirecionar chamada:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Número de reposições de PPP desde o arranque:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Rede atual:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Dados recebidos:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Serviço de voz:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Intensidade do sinal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Estado da chamada de voz:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Dados enviados:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mensagem em espera:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Número de telefone:"</string>
+    <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="phone_index_label" msgid="6222406512768964268">"Selecionar lista telefónica"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Definir tipo de rede preferido:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Nome de anfitrião de ping (www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Nome de anfitrião de ping (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Teste de Cliente HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Executar teste de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Atualizar"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Sem êxito"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Bem sucedido"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informações do tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informações do telefone"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informações de fornecimento do operador"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Acionar fornecimento do operador"</string>
 </resources>
diff --git a/res/values-pt/config.xml b/res/values-pt/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-pt/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index dd394db..5e012a5 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Número privado"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefone público"</string>
     <string name="onHold" msgid="6132725550015899006">"Em espera"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mensagem da operadora <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mensagem da operadora"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Código MMI iniciado"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Código USSD em execução…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Código MMI cancelado"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Apenas NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modo de rede preferencial: WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modo de rede preferencial: somente GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Modo de rede preferencial: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Modo de rede preferencial: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Modo de rede preferencial: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Modo de rede preferencial: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Modo de rede preferencial: global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Modo de rede preferencial: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modo de rede preferido: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Modo de rede preferencial: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Modo de rede preferencial: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Modo de rede preferencial: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Modo de rede preferencial: somente NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Modo de rede preferencial: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Modo de rede preferencial: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Modo de rede preferencial: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Modo de rede preferencial: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Modo de rede preferencial: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Modo de rede preferencial: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Modo de rede preferencial: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Modo de rede preferencial: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Modo de rede preferencial: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Modo de rede preferencial: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Chamadas"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Rede"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Modo 4G LTE avançado"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Várias categorias"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Várias categorias ativadas"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Várias categorias desativadas"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recomendado)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (recomendado)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recomendável)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Excluindo número de discagem fixa…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Número de discagem fixa excluído."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"O FDN não foi atualizado porque você digitou um PIN incorreto."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"O FDN não foi atualizado porque o número excede 20 dígitos."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"O FDN não foi atualizado porque o número excede <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> dígitos."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"O FDN não foi atualizado. O PIN2 estava incorreto, ou o número de telefone foi rejeitado."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Falha na operação de FDN."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Lendo a partir do chip…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Não é possível realizar chamadas. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> não é um telefone de emergência."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Não é possível realizar chamadas. Disque o número de telefone de emergência."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Chamada de emergência indisponível"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Somente o proprietário do dispositivo pode digitar os códigos PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polícia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulância"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Incêndio"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Chamada com mensagem de texto em tempo real (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Permitir o envio de mensagens de texto em uma chamada de voz"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"A RTT ajuda os autores das chamadas com deficiências como surdez, dificuldade de audição ou fala ou que precisam de outros recursos além de voz.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Saiba mais&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; — As chamadas RTT são salvas como transcrições de mensagem\n       &lt;br&gt; — A RTT não está disponível para videochamadas"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Observação: a RTT não está disponível em roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY desativado"</item>
     <item msgid="1449091874731375214">"TTY completo"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Sim"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Não"</string>
     <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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"O bloqueio de chamadas foi desativado"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Alterar senha"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Alterar senha do bloqueio de chamadas"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Não é possível alterar a senha do bloqueio de chamadas."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Não é possível alterar a senha do bloqueio de chamadas"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"As senhas não correspondem"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Digite uma senha com 4 números"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"A senha foi alterada"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmar senha"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Digitar senha"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Configurações do bloqueio de chamadas"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Desativar todas as configurações do bloqueio de chamadas?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"A rede está ocupada. Ligue novamente mais tarde."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"A rede está congestionada. Entre em contato com sua operadora para receber ajuda."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Chamada desviada."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Verifique se os dados móveis e o roaming de dados 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Dispensar"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Ativar conexão de dados"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Desativar conexão de dados"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE provisionado"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videochamadas provisionadas"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Chamadas por Wi-Fi provisionadas"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/presença provisionados"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Dados CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Ativar DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Reiniciar o dispositivo?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Ver números de discagem do serviço"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status de serviço IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Status do IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrado"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Não registrado"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponível"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Indisponível"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registro IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideochamada: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterface UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Em serviço"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Fora de serviço"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Somente chamadas de emergência"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Rádio desativado"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Não está em roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inativo"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Tocando"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Chamada em andamento"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Desconectado"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Conectando"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Conectado"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspenso"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Desconhecido"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Subcódigo atual:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Subcódigo do chip de dados padrão:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Largura de banda DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Largura de banda UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informações de local do celular (uso suspenso):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuração do canal físico de LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Taxa de atualização das informações do celular:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Todas as informações de medição do celular:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Serviço de dados:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redirecionamento da chamada:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Número de redefinições PPP desde a inicialização:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Rede atual:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Dados recebidos:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Serviço de voz:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Potência do sinal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status da chamada de voz:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Dados enviados:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mensagem em espera:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Número de telefone:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Dar um ping no nome do host (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Teste do cliente HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Executar teste de ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Atualizar"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Falha"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Concluído"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informações do tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informações do telefone"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informações de provisionamento da operadora"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Acionar provisionamento da operadora"</string>
 </resources>
diff --git a/res/values-ro/config.xml b/res/values-ro/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ro/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 1748fba..358343b 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Număr privat"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefon public"</string>
     <string name="onHold" msgid="6132725550015899006">"În așteptare"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mesaj <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mesaj de la operator"</string>
     <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>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Numai NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Mod de rețea preferat: de preferat WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Mod de rețea preferat: numai GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Mod de rețea preferat: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Mod de rețea preferat: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Mod de rețea preferat: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Mod de rețea preferat: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Mod de rețea preferat: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Mod de rețea preferat: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Mod de rețea preferat: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Mod de rețea preferat: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Mod de rețea preferat: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Mod de rețea preferat: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Mod de rețea preferat: numai NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Mod de rețea preferat: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Mod de rețea preferat: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Mod de rețea preferat: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Mod de rețea preferat: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Mod de rețea preferat: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Mod de rețea preferat: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Mod de rețea preferat: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Mod de rețea preferat: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Mod de rețea preferat: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Mod de rețea preferat: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Se apelează"</string>
     <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>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Categorii multiple"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Categorii multiple activate"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Categorii multiple dezactivate"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (recomandat)"</string>
     <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>
@@ -439,7 +465,7 @@
     <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="fdn_invalid_number" msgid="155512764412225645">"NAR nu a fost actualizat deoarece numărul depășește 20 de cifre."</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>
@@ -530,6 +556,7 @@
     <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_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>
@@ -557,6 +584,7 @@
     <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-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY dezactivat"</item>
     <item msgid="1449091874731375214">"TTY integral"</item>
@@ -611,6 +639,13 @@
     <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="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>
     <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>
@@ -750,7 +785,7 @@
     <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_description_disabled" msgid="6502248429882123711">"Nu se poate schimba 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_change_pwd_success" msgid="1837437691277936903">"Parola a fost modificată"</string>
@@ -759,7 +794,6 @@
     <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_settings" msgid="4616607285790258919">"Setări de restricționare a apelurilor"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Dezactivați toate setările 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="supp_service_notification_call_deflected" msgid="4980942818105909813">"Apelul a fost deviat."</string>
@@ -789,4 +823,91 @@
     <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="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="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_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>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Neînregistrat"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Disponibil"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Indisponibil"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Înregistrare IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice prin LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoce prin WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nApelare video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nInterfață UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"În aria de acoperire"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"În afara ariei de acoperire"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Numai apeluri de urgență"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio oprit"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Nu se utilizează roamingul"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inactiv"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Sună"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Apel în desfășurare"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Deconectat"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Se conectează"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Conectat"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Suspendat"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Necunoscut"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pachete"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"byți"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"SubId actual:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId pentru SIM-ul de date prestabilit:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Lățime de bandă de descărcare (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Lățime de bandă de încărcare (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informații despre localizarea celulei (învechite):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configurarea canalului fizic LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Rata de actualizare a informațiilor despre celulă:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Toate informațiile de măsurare despre celulă:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Serviciu de date:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Redirecționarea apelului:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Numărul de resetări PPP de la pornire:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Rețeaua actuală:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Date primite:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Serviciu de voce:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Puterea semnalului:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Stare apel vocal:"</string>
+    <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_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_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_http_client_test" msgid="1329583721088428238">"Test client HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Efectuați 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="oem_radio_info_label" msgid="2914167475119997456">"Informații/Setări caracteristice OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Setați 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_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>
 </resources>
diff --git a/res/values-ru/config.xml b/res/values-ru/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ru/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index c1f38f6..0421272 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Скрытый номер"</string>
     <string name="payphone" msgid="7936735771836716941">"Телефон-автомат"</string>
     <string name="onHold" msgid="6132725550015899006">"Ждет ответа"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Сообщение через <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Сообщение оператора"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Код MMI запущен"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Выполняется запрос USSD…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Код MMI отменен"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Только NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Предпочтительная сеть: WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Предпочтительная сеть: только GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Предпочтительный режим: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Предпочтительный режим: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Предпочтительный режим: CDMA и LTE/EvDo"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Предпочтительный сетевой режим: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Предпочтительный режим: весь мир"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Предпочтительный режим: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Предпочтительный режим: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Предпочтительный режим: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Предпочтительный режим: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Предпочтительный режим: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Предпочтительный сетевой режим: только NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Предпочтительный сетевой режим: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Предпочтительный сетевой режим: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Предпочтительный сетевой режим: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Предпочтительный сетевой режим: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Предпочтительный сетевой режим: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Предпочтительный сетевой режим: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Предпочтительный сетевой режим: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Предпочтительный сетевой режим: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Предпочтительный сетевой режим: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Предпочтительный сетевой режим: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Вызовы"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Сеть"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Режим 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Подборка из нескольких категорий"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Подборка из нескольких категорий включена"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Подборка из нескольких категорий отключена"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (рекомендуется)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (рекомендуется)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (рекомендуется)"</string>
     <string name="network_global" msgid="3289646154407617631">"Все"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Выполняется удаление номера ограниченного набора…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Номер ограниченного набора удален."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Разрешенный номер не обновлен, так как введен неверный PIN-код."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Разрешенный номер не обновлен, так как не может содержать более 20 цифр"</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">"Список разрешенных номеров не обновлен. Указан неверный PIN2 или номер телефона."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Не удалось включить FDN"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Считывание с SIM-карты…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Не удалось позвонить. Номер <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> не принадлежит экстренным службам."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Не удалось позвонить. Наберите номер экстренных служб."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Экстренные вызовы недоступны"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Ввести коды PIN/PUK может только владелец устройства."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Полиция"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Скорая помощь"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Пожарная служба"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Примечание. Функция RTT недоступна в роуминге."</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Телетайп выключен"</item>
     <item msgid="1449091874731375214">"Полнофункциональный телетайп"</item>
@@ -613,6 +641,14 @@
     <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="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>
     <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>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Настройки запрета вызовов отключены"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Изменить пароль"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Изменить пароль для функции запрета вызовов"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Не удалось изменить пароль"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Не удалось изменить пароль для функции запрета вызовов"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Пароли не совпадают"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Введите пароль из 4 цифр"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Пароль изменен"</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Подтвердите пароль"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Введите пароль"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Настройки запрета вызовов"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Отключить все настройки запрета вызовов?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Сеть занята. Попробуйте выполнить вызов позже."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Сеть перегружена. Обратитесь за помощью к своему оператору мобильной связи."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Абонент переадресовал вызов."</string>
@@ -791,4 +826,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Видеосвязь предоставлена"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Связь по Wi-Fi предоставлена"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Синхронизация EAB/Presence включена"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Данные CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Включить DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Мощность радиосигнала"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Посмотреть адресную книгу на SIM-карте"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Список разрешенных номеров"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Посмотреть номера служебного набора"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Статус сервиса IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Статус сервиса IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Зарегистрировано"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Не зарегистрировано"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Доступно"</string>
+    <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>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi: <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_emergency" msgid="4763879891415016848">"Только экстренные вызовы"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Радио выключено"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роуминг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Не в роуминге"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Неактивно"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Вызов…"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Вызов"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Отключено"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Подключение"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Подключено"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Заблокировано"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Неизвестно"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"байт"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Текущий доп. идентификатор:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Доп. идентификатор SIM-карты для мобильного Интернета по умолчанию:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Пропускная способность DL-канала (кбит/c):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Пропускная способность UL-канала (кбит/с):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Информация о местоположении сети (устаревшее):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Конфигурация физического канала LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Частота обновления данных о сетях:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Статистика сети:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Сервис для передачи данных:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роуминг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Переадресация вызовов:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Количество сбросов PPP после загрузки:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Текущая сеть:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Получено данных:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Сервис голосовой связи:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Уровень сигнала:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Статус голосовых вызовов:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Отправлено данных:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Параллельное сообщение:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Номер телефона:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Имя хоста запроса ping для www.google.com, IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Проверка клиента HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Выполнить проверку ping"</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_toggle_dns_check_label" msgid="1394078554927787350">"Включить/отключить проверку DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Информация/настройки OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Настроить режим сети"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Загрузка списка частот…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Сохранить"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Сбой"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Успешно"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Информация о планшетном ПК"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Информация о телефоне"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Сведения о синхронизации оператора"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Запустить синхронизацию оператора"</string>
 </resources>
diff --git a/res/values-si/config.xml b/res/values-si/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-si/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 9d8a3fb..b89b1d8 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"පුද්ගලික අංකය"</string>
     <string name="payphone" msgid="7936735771836716941">"පේෆෝනය"</string>
     <string name="onHold" msgid="6132725550015899006">"රඳවා ගනිමින්"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>පණිවිඩය"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"වාහක පණිවිඩය"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI කේතය ආරම්භ විය"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD කේතය ධාවනය වෙමින්…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI කේතය අවලංගු කෙරුණි"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR පමණි"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ප්‍රිය ජාල ආකාරය: WCDMA කැමතියි"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ප්‍රිය ජාල ආකාරය: GSM පමණි"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ප්‍රිය ජාල ආකාරය: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ප්‍රිය ජාල ආකාරය: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ප්‍රිය ජාල ආකාරය: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"වඩා කැමති ජාල ප්‍රකාරය: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ප්‍රිය ජාල ආකාරය: ගෝලීය"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ප්‍රිය ජාල ආකාරය: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"කැමති ජාල ආකාරය: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"වඩා කැමති ජාල ප්‍රකාරය: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"වඩා කැමති ජාල ප්‍රකාරය: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"වඩා කැමති ජාල ප්‍රකාරය: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"වඩා කැමති ජාල ප්‍රකාරය: NR පමණි"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"වඩා කැමති ජාල ප්‍රකාරය: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"වඩා කැමති ජාල ප්‍රකාරය: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"අමතමින්"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"ජාලය"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"දියුණු කරන ලද 4G LTE මෝඩය"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"බහු-ප්‍රවර්ග"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"බහු-ප්‍රවර්ග සබලයි"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"බහු-ප්‍රවර්ග අබලයි"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (නිර්දේශිත)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (නිර්දෙශිත)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (නිර්දෙශිත)"</string>
     <string name="network_global" msgid="3289646154407617631">"ගෝලීය"</string>
@@ -439,7 +465,7 @@
     <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="fdn_invalid_number" msgid="155512764412225645">"අංකය ඉලක්කම් 20ක් ඉක්මවන නිසා 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="fdn_failed" msgid="216592346853420250">"FDN ක්‍රියාවලිය අසමත්."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM කාඩ් පතෙන් කියවමින්…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"ඇමතුම් ලබාගැනීම කළ නොහැක. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> මෙය හදිස්සි ඇමතුම් අංකයක් නොවේ."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"ඇමතිය නොහැක. හදිසි අංකයක් අමතන්න."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"හදිසි අවස්ථා ඇමතුම ලබා ගත නොහැකිය"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"උපාංගයේ හිමිකරුට පමණක් PIN/PUK කේත ඇතුළු කළ හැකිය."</string>
     <string name="police_type_description" msgid="2819533883972081757">"පොලීසිය"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ගිලන් රථය"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"ගින්න"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"සටහන: රෝමිං කරන අතරතුර RTT ලබා ගත නොහැකිය"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY අක්‍රියයි"</item>
     <item msgid="1449091874731375214">"TTY පුර්ණයි"</item>
@@ -609,6 +637,12 @@
     <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="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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ඇමතුම් අවහිර කිරීම අක්‍රිය කරන ලදී"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"මුරපදය වෙනස් කරන්න"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"ඇමතුම් අවහිර කිරීම් මුරපදය වෙනස් කරන්න"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"ඇමතුම් අවහිර කිරීම් මුරපදය වෙනස් කළ නොහැකිය."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"ඇමතුම් අවහිර කිරීම් මුරපදය වෙනස් කළ නොහැකිය"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"මුරපද නොගැළපෙයි"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"අංක 4ක් සහිත මුරපදයක් ඇතුළු කරන්න"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"මුරපදය වෙනස් කරන ලදී"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"මුරපදය තහවුරු කරන්න"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"මුරපදය ඇතුළු කරන්න"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"ඇමතුම් අවහිර කිරීම් සැකසීම්"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"සියලු ඇමතුම් අවහිර කිරීම් සැකසීම් අක්‍රිය කරන්නද?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ජාලය කාර්ය බහුලයි. කරුණාකර පසුව නැවත ඔබේ ඇමතුම උත්සාහ කරන්න."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ජාලය තදබද වී ඇත. සහාය සඳහා ඔබේ ජංගම ක්‍රියාකරු අමතන්න."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"ඇමතුම හරවන ලදී."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"වීඩියෝ ඇමතුම් ප්‍රතිපාදනය කළ"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi ඇමතුම් ප්‍රතිපාදනය කළ"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/තිබීම ප්‍රතිපාදනය කර ඇත"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs දත්ත"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS සබල කරන්න"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"ජංගම රේඩියෝ බලය"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM ලිපින පොත බලන්න"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ස්ථාවර ඇමතුම් අංක පෙන්වන්න"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"සේවා ඩයල් කිරීමේ අංක පෙන්වන්න"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS සේවා තත්ත්වය"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS තත්ත්වය"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ලියාපදිංචි වී ඇත"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"ලියාපදිංචි වී නැත"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ලබා ගත හැකිය"</string>
+    <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_emergency" msgid="4763879891415016848">"හදිසි ඇමතුම්"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"රේඩියෝව ක්‍රියාවිරහිතයි"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"රෝමිං"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"රෝමිං නැත"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"අක්‍රිය"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"නාද වෙමින්"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"ඇමතුම කෙරෙමින් පවතී"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"විසන්ධි විය"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"සබැඳෙමින්"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"සම්බන්ධිතයි"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"අත්හිටුවා ඇත"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"නොදන්නා"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"බයිට"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"වත්මන් උප හැඳුනුම:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"පෙරනිමි දත්ත SIM පතේ උප හැඳුනුම:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL කලාප පළල (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL කලාප පළල (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"සෙල් ස්ථාන තොරතුරු (අත් හරින ලදී):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE භෞතික නාලිකා වින්‍යාසය:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"සෙල් තොරතුරු නැවුම් කිරීමේ අනුපාතය:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"සියලු සෙල් මිනුම් තොරතුරු:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"දත්ත සේවාව:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"රෝමිං:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"ඇමතුම් යළි හරවා යැවීම:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"පණ ගැන්වීමේ සිට PPP යළි සැකසීම් ගණන:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"වත්මන් ජාලය:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"දත්ත ලැබිණි:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"හඬ සේවාව:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"සංඥා ප්‍රබලතාව:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"හඬ ඇමතුම් තත්ත්වය:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"යැවූ දත්ත:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"පණිවිඩය රැඳී සිටී:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"දුරකථන අංකය:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"සත්කාරක නම පිං කරන්න(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP සේවාලාභි පරික්ෂාව:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS පරීක්ෂාව ටොගල කරන්න"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-විශේෂිත තොරතුරු/සැකසීම්"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"රේඩියෝ කලාප ප්‍රකාරය සකසන්න"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"කලාප ලැයිස්තුව පූරණය කරමින්…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"සකසන්න"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"අසාර්ථකයි"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"සාර්ථකයි"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ටැබ්ලට් තොරතුරු"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"දුරකථන තොරතුරු"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"වාහක ප්‍රතිපාදන තතු"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"උත්ප්‍රේරක වාහක ප්‍රතිපාදන"</string>
 </resources>
diff --git a/res/values-sk/config.xml b/res/values-sk/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-sk/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 95e8fef..8163ba1 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Súkromné číslo"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefónny automat"</string>
     <string name="onHold" msgid="6132725550015899006">"Podržaný hovor"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Správa od operátora <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Správa od operátora"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Kód MMI bol spustený"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Kód USSD je spustený..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Kód MMI bol zrušený"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Iba NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferovaný režim siete: preferované WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferovaný režim siete: iba GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Preferovaný režim siete: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Preferovaný režim siete: GSM / WCDMA / LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferovaný režim siete: CDMA + LTE / EvDo"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferovaný režim siete: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferovaný režim siete: Globálny"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferovaný režim siete: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Uprednostňovaný režim siete: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Preferovaný režim siete: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferovaný režim siete: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferovaný režim siete: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferovaný režim siete: iba NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferovaný režim siete: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferovaný režim siete: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferovaný režim siete NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferovaný režim siete: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Preferovaný režim siete: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Preferovaný režim siete: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Preferovaný režim siete: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Preferovaný režim siete: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Preferovaný režim siete: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Preferovaný režim siete: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Volanie"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Sieť"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Zlepšený režim 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Viac kategórií"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Viac kategórií povolených"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Viacero kategórií zakázané"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (odporúčané)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (odporúčané)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (odporúčané)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globálne"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Odstraňuje sa povolené číslo…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Povolené číslo bolo odstránené."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Povolené čísla neboli aktualizované. Zadali ste nesprávny kód PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Režim povolených čísel nebol aktualizovaný, pretože číslo obsahuje viac než 20 číslic."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Režim povolených čísel nebol aktualizovaný, pretože číslo obsahuje viac než maximálny počet povolených číslic (<xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>)."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Povolené čísla neboli aktualizované. Kód PIN2 je nesprávny alebo bolo telefónne číslo odmietnuté."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operácia s povolenými číslami zlyhala."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Prebieha čítanie zo SIM karty..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Hovor nie je možné uskutočniť. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nie je číslo tiesňového volania."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Hovor nie je možné uskutočniť. Vytočte číslo tiesňového volania."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Tiesňové volania nie sú k dispozícii"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Zadávať kódy PIN a PUK môže len vlastník zariadenia."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polícia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Záchranka"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Hasiči"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Posielanie okamžitého textu (RTT) počas hovorov"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Povoliť posielanie správ počas hlasového hovoru"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Okamžitý text pomáha volajúcim, ktorí nepočujú, majú problémy so sluchom, rečovú poruchu alebo potrebujú viac ako samotný hlas.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Ďalšie informácie&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – Okamžitý text poslaný počas hovoru sa uloží ako prepis správ\n       &lt;br&gt; – Okamžitý text nie je k dispozícii počas videohovorov"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Poznámka: Okamžitý text nie je počas roamingu k dispozícii."</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Textový telefón vypnutý"</item>
     <item msgid="1449091874731375214">"Úplný textový telefón"</item>
@@ -613,6 +641,14 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Áno"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nie"</string>
     <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>
     <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>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Blokovanie hovorov bolo deaktivované"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Zmeniť heslo"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Zmeniť heslo na blokovanie hovorov"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Heslo na blokovanie hovorov sa nepodarilo zmeniť."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Heslo na blokovanie hovorov sa nepodarilo zmeniť"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Heslá sa nezhodujú"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Zadajte heslo so štyrmi číslicami"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Heslo bolo zmenené"</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Potvrďte heslo"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Zadajte heslo"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Nastavenia blokovania hovorov"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Deaktivovať všetky nastavenia blokovania hovorov?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Sieť je zaneprázdnená. Skúste svoj hovor zopakovať neskôr."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Sieť je zahltená. O pomoc požiadajte svojho mobilného operátora."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Hovor bol odklonený."</string>
@@ -791,4 +826,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"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 a dátový roaming. Môžete to zmeniť v nastaveniach mobilnej siete."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Zavrieť"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Povoliť dátové pripojenie"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Zakázať dátové pripojenie"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Poskytované VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Poskytované videohovory"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Poskytované volanie cez Wi‑Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Zaistenie EAB/Presence"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Údaje CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Aktivovať DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Chcete reštartovať zariadenie?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Zobraziť čísla volaní služieb"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Stav služby IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Stav IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrované"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Bez registrácie"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"K dispozícii"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nie je k dispozícii"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registrácia IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nHlas cez LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHlas cez Wi‑Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideohovory: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nRozhranie UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"V prevádzke"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Mimo prevádzky"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Len tiesňové volania"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Rádio je vypnuté"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Bez roamingu"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Nečinné"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Prezváňa sa"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Prebieha hovor"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Odpojené"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Pripája sa"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Pripojené"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Pozastavené"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Neznáme"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pakety"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"B"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Aktuálny podradený identifikátor:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Podradený identifikátor predvolenej dátovej SIM karty:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Rýchlosť pripojenia DL (kB/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Rýchlosť pripojenia UL (kB/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informácie o polohe mobilnej siete (podpora bola ukončená):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfigurácia fyzického kanála LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Frekvencia obnovenia informácií o mobilnej sieti:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Všetky informácie o meraní mobilnej siete:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Dátová služba:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Presmerovanie hovoru:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Počet obnovení protokolu PPP od spustenia:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Aktuálna sieť:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Prijaté dáta:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Hlasová služba:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Sila signálu:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Stav hlasového hovoru:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Odoslané dáta:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Čakajúca správa:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefónne číslo:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Testovať dostupnosť (ping) názvu hostiteľa (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test klienta HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Spustiť testovanie dostupnosti (ping)"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Aktualizovať"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Nastaviť"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Neúspešné"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Úspešné"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informácie o tablete"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informácie o telefóne"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informácie o poskytovaní služieb operátorom"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Spustiť poskytovanie služieb operátorom"</string>
 </resources>
diff --git a/res/values-sl/config.xml b/res/values-sl/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-sl/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index a3447da..58a087d 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Zasebna številka"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefonska govorilnica"</string>
     <string name="onHold" msgid="6132725550015899006">"Zadržano"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Sporočilo <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Sporočilo operaterja"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Koda MMI zagnana"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Koda USSD se izvaja ..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Koda MMI preklicana"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Samo NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Prednostni način omrežja: prednostno WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Prednostni način omrežja: samo GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Prednostni način omrežja: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Prednostni način omrežja: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Prednostni način omrežja: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Prednostni način omrežja: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Prednostni način omrežja: globalno"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Prednostni način omrežja: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Prednostni omrežni način: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Prednostni način omrežja: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Prednostni način omrežja: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Prednostni način omrežja: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Prednostni način omrežja: samo NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Prednostni način omrežja: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Prednostni način omrežja: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Prednostni način omrežja: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Prednostni način omrežja: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Prednostni način omrežja: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Prednostni način omrežja: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Prednostni način omrežja: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Prednostni način omrežja: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Prednostni način omrežja: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Prednostni način omrežja: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Klicanje"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Omrežje"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Izboljšan način 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Več kategorij"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Omogočenih več kategorij"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Več kategorij onemogočenih"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (priporočeno)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (priporočeno)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (priporočeno)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globalno"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Brisanje zapore odhodnega klica ..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Zapora odhodnega klica izbrisana."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN ni bil posodobljen, ker ste vnesli napačno kodo PIN."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN ni bil posodobljen, ker število presega 20 mest."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN ni bil posodobljen, ker število presega <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> mest."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN ni bil posodobljen. Koda PIN2 je bila napačna ali pa je bila telefonska številka zavrnjena."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Postopek za omejeno klicanje ni uspel."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Branje kartice SIM ..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Klicanje ni mogoče. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ni številka za klic v sili."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Klicanje ni mogoče. Opravite klic v sili."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Klicanje v sili ni na voljo"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Samo lastnik naprave lahko vnese kodi PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policija"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Nujna medicinska pomoč"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Gasilci"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Klic s sprotnim besedilom (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Dovoli izmenjavo sporočil v glasovnem klicu"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Funkcija RTT pomaga klicateljem, ki so gluhi, naglušni, imajo govorno motnjo ali potrebujejo več kot samo glas.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Več o tem&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – Klici RTT se shranijo kot prepis sporočila\n       &lt;br&gt; – RTT ni na voljo pri videoklicih"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Opomba: RTT ni na voljo med gostovanjem"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Način TTY izklopljen"</item>
     <item msgid="1449091874731375214">"TTY poln"</item>
@@ -613,6 +641,14 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Ne"</string>
     <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>
     <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>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Zapora klicev je deaktivirana"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Sprememba gesla"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Spremenite geslo za zaporo klicev"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Gesla za zaporo klicev ni mogoče spremeniti."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Gesla za zaporo klicev ni mogoče spremeniti"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Gesli se ne ujemata"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Vnesite geslo s 4 številkami"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Geslo je spremenjeno."</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Potrditev gesla"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Vnesite geslo"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Nastavitve zapore klicev"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Želite deaktivirati vse nastavitve za zaporo klicev?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Omrežje je zasedeno. Poskusite znova poklicati pozneje."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Omrežje je zasedeno. Za pomoč se obrnite na mobilnega operaterja."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Klic je preusmerjen z druge številke."</string>
@@ -791,4 +826,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Če želite uporabiti storitev <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, najprej preverite, ali sta prenos podatkov v mobilnem omrežju in podatkovno gostovanje vklopljena za kartico SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Ti izbiri lahko spremenite v nastavitvah mobilnega omrežja."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Opusti"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Omogočanje podatkovne povezave"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Onemogočanje podatkovne povezave"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Pripravljeno za uporabo tehnologije VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videoklicanje je pripravljeno"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Klicanje prek Wi-Fi-ja je pripravljeno"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/prisotnost omogočena"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Podatki Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Omogoči DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Vnovični zagon?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Prikaži številke za klicanje storitev"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Stanje storitve IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Stanje storitve IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrirano"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Niste registrirani"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Na voljo"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Ni na voljo"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Registracija storitve IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nGovor prek povezave LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nGovor prek povezave WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoklici: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nVmesnik UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"V uporabi"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ne deluje"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Samo klici v sili"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Izklopi radio"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Gostovanje"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ni gostovanja"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Nedejavno"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Zvonjenje"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Aktivni klic"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Brez povezave"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Vzpostavljanje povezave"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Povezano"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Onemogočeno"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Neznano"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"B"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Trenutni ID naročnine:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ID naročnine privzete kartice SIM za prenos podatkov:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Pasovna širina za prenos (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Pasovna širina za nalaganje (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Podatki o lokaciji celice (zastarelo):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfiguracija fizičnega kanala LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Frekvenca osveževanja podatkov o celici:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Vsi podatki o meritvah celice:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Podatkovna storitev:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Gostovanje:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Preusmeritev klica:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Število ponastavitev PPP od zagona:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Trenutno omrežje:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Prejeti podatki:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Glasovna storitev:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Moč signala:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Stanje glasovnega klica:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Poslani podatki:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Čakajoče sporočilo:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonska številka:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Preverjanje imena gostitelja (www.google.com) za IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Preskus odjemalca HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Izvedba preskusa ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Posodobi"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Nastavi"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Neuspešno"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Uspelo"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Podatki o tabličnem računalniku"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informacije o telefonu"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Podatki o omogočanju uporabe operaterja"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Sproži omogočanje uporabe operaterja"</string>
 </resources>
diff --git a/res/values-sq/config.xml b/res/values-sq/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-sq/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 8fddc9d..dcb5e1f 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Numër privat"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefon me pagesë"</string>
     <string name="onHold" msgid="6132725550015899006">"Në pritje"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mesazh nga <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mesazh i operatorit celular"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Kodi MMI filloi"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Kodi USSD po punon…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Kodi MMI u anulua"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Vetëm NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modaliteti i preferuar i rrjetit: preferohet WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modaliteti i preferuar i rrjetit: vetëm GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Modaliteti i preferuar i rrjetit: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Modaliteti i preferuar i rrjetit: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Modaliteti i preferuar i rrjetit: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Modaliteti i preferuar i rrjetit: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Modaliteti i preferuar i rrjetit: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Modaliteti i preferuar i rrjetit: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Modaliteti i preferuar i rrjetit: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Modaliteti i preferuar i rrjetit: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Modaliteti i preferuar i rrjetit: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Modaliteti i preferuar i rrjetit: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Modaliteti i preferuar i rrjetit: Vetëm NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Modaliteti i preferuar i rrjetit: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Modaliteti i preferuar i rrjetit: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Modaliteti i preferuar i rrjetit: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Modaliteti i preferuar i rrjetit: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Modaliteti i preferuar i rrjetit: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Modaliteti i preferuar i rrjetit: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Modaliteti i preferuar i rrjetit: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Modaliteti i preferuar i rrjetit: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Modaliteti i preferuar i rrjetit: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Modaliteti i preferuar i rrjetit: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Po telefonon"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Rrjeti"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Modaliteti i përparuar 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-kategoria"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"\"Multi-kategoria\" u aktivizua"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"\"Multi-kategoria\" u çaktivizua"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (rekomandohet)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (rekomandohet)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (rekomandohet)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Po fshin numrin me telefonim të përzgjedhur..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Numri me telefonim të përzgjedhur u fshi."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN-ja nuk u përditësua sepse shkrove një PIN të pasaktë."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Funksioni FDN nuk u përditësua sepse numri i kalon 20 shifra."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Veçoria FDN nuk u përditësua sepse numri i kalon <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> shifra."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN-ja nuk u përditësua. PIN2-shi ishte i pasaktë ose numri i telefonit u refuzua."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operacioni FDN dështoi"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Po lexon nga karta SIM..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Nuk mund të telefonohet. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nuk është numër urgjence."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nuk mund të telefonohet. Formo një numër urgjence."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Telefonatat e urgjencës nuk ofrohen"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Vetëm zotëruesi i pajisjes mund të futë kodet PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Policia"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulancë"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Zjarr"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Telefonata me tekst në kohë reale (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Lejo mesazhet brenda një telefonate zanore"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Funksioni RTT ndihmon telefonuesit që janë të shurdhër, kanë vështirësi me dëgjimin, kanë një aftësi të kufizuar të të folurit ose që kanë nevojë për më shumë se thjesht zërin.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Mëso më shumë&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Telefonatat RTT ruhen si një transkript mesazhi\n       &lt;br&gt; - Funksioni RTT nuk ofrohet për telefonatat me video"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Shënim. Veçoria RTT nuk ofrohet kur je në roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY i çaktivizuar"</item>
     <item msgid="1449091874731375214">"TTY i plotë"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Po"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Jo"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Bllokimi i telefonatave u çaktivizua"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Ndrysho fjalëkalimin"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Ndrysho fjalëkalimin për bllokimin e telefonatave"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Fjalëkalimi për bllokimin e telefonatave nuk mund të ndryshohet."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Fjalëkalimi për bllokimin e telefonatave nuk mund të ndryshohet"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Fjalëkalimet nuk përputhen"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Fut një fjalëkalim me 4 numra"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Fjalëkalimi u ndryshua"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Konfirmo fjalëkalimin"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Fut fjalëkalimin"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Cilësimet e bllokimit të telefonatave"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Të çaktivizohen të gjitha cilësimet e bllokimit të telefonatave?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Rrjeti është i zënë. Provo ta kryesh telefonatën përsëri më vonë."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Rrjeti është i mbingarkuar. Kontakto me operatorin tënd celular për ndihmë."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Telefonata u devijua."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Për të përdorur <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, sigurohu që të dhënat celulare dhe roaming për të dhënat janë aktivizuar 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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Hiq"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Aktivizo lidhjen e të dhënave"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Çaktivizo lidhjen e të dhënave"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE e përgatitur"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Telefonata me video u parapërgatit"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Telefonata me Wifi u parapërgatit"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/prania është parapërgatitur"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Të dhënat e Crbs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Aktivizo DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Të riniset pajisja?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Shiko numrat e telefonit të shërbimit"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Statusi i Shërbimit IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Statusi IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"I regjistruar"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"I paregjistruar"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Ofrohet"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Nuk ofrohet"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Regjistrimi IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nZëri përmes LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nZëri përmes Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nTelefonatat me video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nNdërfaqja UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Në shërbim"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Jashtë shërbimit"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Vetëm telefonata urgjence"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radioja joaktive"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Jo në roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Në gjendje joaktive"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Po bie zilja"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Telefonatë në vazhdim"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Shkëputur"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Po lidhet"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Lidhur"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Pezulluar"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"E panjohur"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"paketa"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bajte"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ID-ja dytësore aktuale:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"ID-ja dytësore e kartës SIM të parazgjedhur të të dhënave:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Gjerësia e bandës DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Gjerësia e bandës UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Informacionet e vendndodhjes të rrjetit celular (e vjetruar):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Konfigurimi i kanalit fizik LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Shpejtësia e rifreskimit të informacioneve të rrjetit celular"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Të gjitha informacionet e matjes së rrjetit celular:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Shërbimi i të dhënave:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Ridrejtimi i telefonatës:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Numri i rivendosjeve të PPP-së që nga rifillimi:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Rrjeti aktual:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Të dhënat e marra:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Shërbimi zanor:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Fuqia e sinjalit:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Statusi i telefonatës zanore:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Të dhënat e dërguara:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mesazh në pritje:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Numri i telefonit:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Verifiko emrin e pritësit (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Testi i klientit HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ekzekuto testin e verifikimit \"ping\""</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Përditëso"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Cakto"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Pa sukses"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Me sukses!"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informacion mbi tabletin"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informacioni i telefonit"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Informacionet e përgatitjes së operatorit celular"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Aktivizo përgatitjen e operatorit celular"</string>
 </resources>
diff --git a/res/values-sr/config.xml b/res/values-sr/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-sr/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index ce8791b..ac9c23a 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Приватан број"</string>
     <string name="payphone" msgid="7936735771836716941">"Телефонска говорница"</string>
     <string name="onHold" msgid="6132725550015899006">"На чекању"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> – порука"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Порука мобилног оператера"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Покренут је MMI кôд."</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD кôд је покренут…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI кôд је отказан"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Само NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Жељени режим мреже: WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Жељени режим мреже: само GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Жељени режим мреже: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Жељени режим мреже: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Жељени режим мреже: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Жељени режим мреже: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Жељени режим мреже: Глобално"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Жељени режим мреже: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Жељени мрежни режим: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Жељени режим мреже: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Жељени режим мреже: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Жељени режим мреже: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Жељени режим мреже: само NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Жељени режим мреже: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Жељени режим мреже: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Жељени режим мреже: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Жељени режим мреже: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Жељени режим мреже: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Жељени режим мреже: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Жељени режим мреже: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Жељени режим мреже: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Жељени режим мреже: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Жељени режим мреже: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Позивање"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Мрежа"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Побољшани 4G LTE режим"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Више категорија"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Омогућено је више категорија"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Онемогућено је више категорија"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (препоручено)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (препоручено)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (препоручено)"</string>
     <string name="network_global" msgid="3289646154407617631">"Глобално"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Брисање броја за фиксно бирање…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Избрисан је број за фиксно бирање."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Број за фиксно бирање није ажуриран јер сте унели нетачан PIN кôд."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Број за фиксно бирање није ажуриран јер има више од 20 цифара."</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">"FDN није ажуриран. PIN2 је нетачан или је број телефона одбачен."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Радња са бројем за фиксно бирање није успела."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Чита се са SIM картице…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Позив није успео. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> није број за хитне случајеве."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Позив није успео. Позовите број за хитне случајеве."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Упућивање хитних позива није доступно"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Само власник уређаја може да уноси PIN/PUK кодове."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Полиција"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Хитна помоћ"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Ватрогасци"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"Напомена: Текст у реалном времену није доступан у ромингу"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY је искључен"</item>
     <item msgid="1449091874731375214">"Комплетни TTY"</item>
@@ -611,6 +639,13 @@
     <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="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>
     <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>
@@ -750,7 +785,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Ограничавање позива је деактивирано"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Промените лозинку"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Промените лозинку за ограничавање позива"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Не можете да промените лозинку за ограничавање позива."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Не можете да промените лозинку за ограничавање позива"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Лозинке се не подударају"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Унесите лозинку од 4 броја"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Лозинка је промењена"</string>
@@ -759,7 +794,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Потврдите лозинку"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Унесите лозинку"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Подешавања ограничавања позива"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Желите ли да деактивирате сва подешавања ограничавања позива?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Мрежа је заузета. Пробајте поново да упутите позив касније."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Мрежа је загушена. Затражите помоћ од мобилног оператера."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Позив је преусмерен."</string>
@@ -789,4 +823,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Видео позиви су додељени"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Позивање преко Wi-Fi-ја је додељено"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Додељен је EAB/присуство"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Подаци CBRS-а"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Омогући DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Напајање за радио на мобилним уређајима"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Прикажи адресар SIM-а"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прикажи бројеве за фиксно бирање"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Прикажи бројеве за сервисно бирање"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Статус услуге IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Статус IMS-а"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Регистровано je"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Није регистровано"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Доступно"</string>
+    <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Глас преко Wi-Fi-ја: <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_emergency" msgid="4763879891415016848">"Само хитни позиви"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Радио је искључен"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роминг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Није у ромингу"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Неактивно"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Звони"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Позив је у току"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Веза је прекинута"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Повезује се"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Повезано је"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Суспендовано"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Непознато"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"пак."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"бајт(ов)а"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"ИД клијента"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Актуелни subID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubID подразумеваног SIM-а за податке:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL пропусни опсег (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL пропусни опсег (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Информације о локацији предајника (застарело):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Конфигурација LTE физичког канала:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Учесталост освежавања информација о предајнику:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Све информације о мерењу за предајник:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Услуга преноса података:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роминг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Преусмеравање позива:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Број PPP ресетовања од укључивања:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Актуелна мрежа:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Примљени подаци:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Гласовна услуга:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Јачина сигнала:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Статус аудио позива:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Послати подаци:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Порука на чекању:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Број телефона:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"IPv6 имена хоста за пинговање (www.google.com):"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Тест за HTTP клијента:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"Укључи/искључи проверу DNS-а"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Информације/подешавања специфична за произвођача оригиналне опреме"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Подесите режим радијског опсега"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Учитава се листа опсега…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Подеси"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Није успело"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Успело је"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Информације о таблету"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Информације о телефону"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Информације о додели мобилног оператера"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Покретање доделе мобилног оператера"</string>
 </resources>
diff --git a/res/values-sv/config.xml b/res/values-sv/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-sv/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index e270260..0c30a13 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Privat nummer"</string>
     <string name="payphone" msgid="7936735771836716941">"Telefonautomat"</string>
     <string name="onHold" msgid="6132725550015899006">"Parkerat"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>-meddelande"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operatörsmeddelande"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI-kod körs"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD-kod körs…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI-koden har annullerats"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Endast NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Föredraget nätverksläge: Föredrar WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Föredraget nätverksläge: Endast GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Föredraget nätverksläge: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Föredraget nätverksläge: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Föredraget nätverksläge: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Föredraget nätverksläge: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Föredraget nätverksläge: globlat"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Föredraget nätverksläge: LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Föredraget nätverksläge: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Föredraget nätverksläge: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Föredraget nätverksläge: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Föredraget nätverksläge: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Föredraget nätverksläge: endast NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Föredraget nätverksläge: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Föredraget nätverksläge: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Föredraget nätverksläge: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Föredraget nätverksläge: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Föredraget nätverksläge: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Föredraget nätverksläge: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Föredraget nätverksläge: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Föredraget nätverksläge: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Föredraget nätverksläge: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Föredraget nätverksläge: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Ringer upp"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Nätverk"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Förbättrat 4G LTE-läge"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-kategori"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Multikategori aktiverad"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Multikategori inaktiverad"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (rekommenderas)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (rekommenderas)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (rekommenderas)"</string>
     <string name="network_global" msgid="3289646154407617631">"Globalt"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Tar bort fast nummer…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Det fasta numret har tagits bort."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN uppdaterades inte eftersom du skrev en felaktig PIN-kod."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN uppdaterades inte eftersom numret översteg 20 siffror."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN uppdaterades inte eftersom numret översteg <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> siffror."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN uppdaterades inte. Antingen har du angivit fel PIN2, eller så avvisades telefonnumret."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Det gick inte att ringa till fast uppringningsnummer."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Läser från SIM-kort…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Det gick inte att ringa. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> är inget nödnummer."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Det gick inte att ringa. Slå ett nödnummer."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Nödsamtal ej tillgängligt"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Endast enhetens ägare får ange PIN/PUK-koder."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polis"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulans"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Brand"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"RTT-samtal (realtidstext)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Tillåt meddelanden i röstsamtal"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT hjälper döva, hörselskadade och personer med talsvårigheter eller som behöver mer än endast röst.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Läs mer&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT-samtal sparas som en meddelandetranskription\n       &lt;br&gt; - RTT är inte tillgängligt för videosamtal"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Obs! RTT är inte tillgängligt vid roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY av"</item>
     <item msgid="1449091874731375214">"TTY är full"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ja"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nej"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Samtalsspärren har inaktiverats"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Ändra lösenord"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Ändra lösenord för samtalsspärr"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Det går inte att ändra lösenordet för samtalsspärr"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Lösenorden stämmer inte överens"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Ange ett lösenord med 4 siffror"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Lösenordet har ändrats"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Bekräfta lösenord"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Ange lösenord"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Inställningar för samtalsspärr"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Nätverket är upptaget. Försök att ringa igen senare."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Nätverket är överbelastat. Kontakta mobiloperatören för hjälp."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Samtal avböjt."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Använd <xliff:g id="SUPP_SERVICE">%1$s</xliff:g> genom att säkerställa att mobildata och dataroaming ä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>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Stäng"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Aktivera dataanslutning"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Inaktivera dataanslutning"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-administrerad"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Videosamtal tillhandahålls"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi-samtal tillhandahålls"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence tillhandahålls"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Data via CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Aktivera DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Vill du starta om enheten?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Visa tjänstenummer"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status för IMS-tjänst"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS-status"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registrerad"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Inte registrerad"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Tillgänglig"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Inte tillgängligt"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nRöst via LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nRöst via Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideosamtal: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-gränssnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"I tjänst"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ur funktion"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Endast nödsamtal"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Stäng av radio"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ingen roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Inaktiv"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringer"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Pågående samtal"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Frånkopplad"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Ansluter"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Ansluten"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Tillfälligt avstängt"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Okänt"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"paket"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Nuvarande subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId för standarddata på SIM-kortet:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Bandbredd för nedladdning (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Bandbredd för uppladdning (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Platsinformation för mast (utfasad):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Fysisk kanalkonfiguration för LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Frekvens för uppdatering av mastinformation:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Alla information om mastmätning:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Datatjänst:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI-kod:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Vidarekoppling av samtal:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Antal återställningar av köpkraftsparitet sedan start:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Aktuellt nätverk:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Mottagen data:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Rösttjänst:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signalstyrka:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status på videosamtal:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Skickad data:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Meddelande väntar:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefonnummer:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Pinga värdnamn(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test av HTTP-klient:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Köra pingtest"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Uppdatera"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Konfigurera radiobandsläget"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Läser in bandlista …"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Ange"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Misslyckades"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Lyckades"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Information om surfplattan"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefoninformation"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Information om operatörsadministration"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Aktivera operatörsadministration"</string>
 </resources>
diff --git a/res/values-sw/config.xml b/res/values-sw/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-sw/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index e0ba6fd..2773b7b 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">" Number isiyojulikana"</string>
     <string name="payphone" msgid="7936735771836716941">"Simu ya kulipia"</string>
     <string name="onHold" msgid="6132725550015899006">"Inangoja"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Ujumbe wa <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Ujumbe wa Mtoa Huduma"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Msimbo wa MMI  umeanza"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Msimbo wa USSD unafungua"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Msimbo wa MMI umeghairiwa"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR pekee"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Modi pendekezwa ya mtandao: WCDMA pendekezwa"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Modi pendekezwa ya mtandao: GSM  pekee"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Hali ya mtandao inayopendelewa: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Hali ya mtandao inayopendelewa: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Hali ya mtandao inayopendelewa: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Hali ya mtandao inayopendelewa: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Hali ya mtandao inayopendelewa: Ulimwenguni Kote"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Hali ya mtandao inayopendelewa: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Hali ya mtandao inayopendelewa: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Hali ya mtandao inayopendelewa: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Hali ya mtandao inayopendelewa: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Hali ya mtandao inayopendelewa: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Hali ya mtandao inayopendelewa: NR pekee"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Hali ya mtandao inayopendelewa: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Hali ya mtandao inayopendelewa: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Hali ya mtandao inayopendelewa: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Hali ya mtandao inayopendelewa: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Hali ya mtandao inayopendelewa: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Hali ya mtandao inayopendelewa: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Hali ya mtandao inayopendelewa: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Hali ya mtandao inayopendelewa: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Hali ya mtandao inayopendelewa: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Hali ya mtandao inayopendelewa: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Kupiga simu"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Mtandao"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Hali Iliyoimarishwa ya 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Kategoria anuwai"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Kategoria anuwai imewezeshwa"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Kategoria anuwai imelemazwa"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (inayopendekezwa)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (inapendekezwa)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (inapendekezwa)"</string>
     <string name="network_global" msgid="3289646154407617631">"Ulimwenguni Kote"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Inafuta nambari ya upigaji simu uliobanwa..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Nambari ya upigaji simu uliobanwa imefutwa"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN haikusasishwa kwa sababu uliweka PIN isiyo sahihi."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"FDN haikusasishwa kwa sababu nambari inazidi tarakimu 20."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN haijasasishwa kwa sababu nambari inazidi tarakimu <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN haikusasishwa. PIN2 haikuwa sahihi, au namba ya simu ilikataliwa."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Utendakazi wa FDN ulishindwa."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Inasoma kutoka kwa SIM kadi…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Haiwezi kupiga simu. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> si nambari ya dharura."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Haiwezi kupiga simu. Piga nambari ya dharura."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Upigaji simu ya dharura haupatikani"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Mmiliki wa kifaa pekee ndiye anaweza kuweka misimbo ya PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polisi"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Gari la wagonjwa"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Moto"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Kutuma SMS katika Muda Halisi (RTT) wakati wa kupiga simu"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Ruhusu uandikaji wa ujumbe wakati unapiga simu"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT huwasaidia wapigaji simu ambao ni viziwi, wasioweza kusikia vyema, wenye matatizo ya kuzungumza au wanaohitaji kufanya zaidi ya kuzungumza.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Pata maelezo zaidi&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Simu za RTT huhifadhiwa kama manukuu ya ujumbe\n       &lt;br&gt; - RTT haipatikani kwa simu za video"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Kumbuka: RTT haipatikani wakati unatumia mitandao ya ng\'ambo"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Zima TTY"</item>
     <item msgid="1449091874731375214">"TTY Kamili"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ndiyo"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Hapana"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Mipangilio ya kuzuia upigaji simu imezimwa"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Badilisha nenosiri"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Badilisha nenosiri la kuzuia upigaji simu"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Imeshindwa kubadilisha nenosiri la kuzuia upigaji simu."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Haiwezi kubadilisha nenosiri la kuzuia upigaji simu"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Manenosiri hayalingani"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Weka nenosiri lenye tarakimu 4"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Nenosiri limebadilishwa"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Thibitisha nenosiri"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Weka nenosiri"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Mipangilio ya kuzuia upigaji simu"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Je, ungependa kuzima mipangilio yote ya kuzuia upigaji simu?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Mtandao unatumika. Tafadhali jaribu kupiga simu yako tena baadaye."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Kuna msongamano kwenye mtandao. Wasiliana na mtoa huduma wako wa simu kwa usaidizi."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Simu unayopiga imeelekezwa kwingine."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Ili uweze kutumia huduma ya <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, hakikisha vipengele vya data ya mtandao wa simu na matumizi ya mitandao ya ng\'ambo vimewashwa katika SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Unaweza kubadilisha hali hizi katika mipangilio ya mtandao wa simu."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Ondoa"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Washa Muunganisho wa Data"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Zima Muunganisho wa Data"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Imetayarishwa"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Inaruhusu Upigaji Simu ya Video"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Imetayarishwa kwa Upigaji Simu kupitia Wi-Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB Imetayarishwa"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Data ya Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Washa DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Ungependa Kuzima Kifaa Kisha Ukiwashe?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Angalia Nambari Zilizowekwa na Mtoa Huduma"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Hali ya Huduma ya IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Hali ya IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Imesajiliwa"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Haijasajiliwa"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Inapatikana"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Haipatikani"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Usajili wa IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nHuduma ya kupiga simu kupitia LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nHuduma ya kupiga simu kupitia WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nKupiga simu ya video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nKiolesura cha UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Inatumika"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Haitumiki"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Simu za Dharura Pekee"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Redio Imezimwa"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Kutimia mitandao ya ng\'ambo"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Hutumii mitandao ya ng\'ambo"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Haifanyi kitu"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Inalia"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Simu Inaendelea"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Haijaunganishwa"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Inaunganisha"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Imeunganishwa"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Imesimamishwa"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Haijulikani"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"baiti"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"SubId ya sasa:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId ya SIM chaguomsingi ya data:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Kipimo Data cha DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Kipimo Data cha UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Maelezo ya Mahali Simu ya Mkononi Ilipo (huduma haipo tena):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Mipangilio ya Kituo Halisi cha LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Kasi ya Kuonyesha Upya Maelezo ya Simu:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Maelezo Yote ya Vipimo vya Simu:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Huduma ya Data:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Unatumia mitandao ya ng\'ambo:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Kuelekeza Simu Kwingine:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Idadi ya PPP Zilizowekwa Upya Tangu Iwashwe:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Mtandao wa Sasa:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data Imepokelewa:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Huduma ya Sauti:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Uthabiti wa Mawimbi:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Hali ya Kupiga Simu ya Sauti:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data Imetumwa:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Ujumbe Unasubiri Kutumwa:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Nambari ya Simu:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ita Jina la mpangishaji(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Jaribio la Teja ya HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Tekeleza Jaribio la Mwito"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Sasisha"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Weka Hali ya Bendi ya Redio"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Inapakia Orodha ya Bendi…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Weka"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Haijafanikiwa"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Imefanikiwa"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Maelezo kuhusu kompyuta kibao"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Maelezo ya simu"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Maelezo ya Utaratibu wa Kutayarisha Mtandao"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Anzisha Utaratibu wa Kutayarisha Mtandao"</string>
 </resources>
diff --git a/res/values-ta/config.xml b/res/values-ta/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ta/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 0e61641..f73ff2a 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"தனிப்பட்ட எண்"</string>
     <string name="payphone" msgid="7936735771836716941">"கட்டணத் தொலைபேசி"</string>
     <string name="onHold" msgid="6132725550015899006">"காத்திருப்பில்"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> மெசேஜ்"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"மொபைல் நிறுவன மெசேஜ்"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI குறியீடு தொடங்கியது"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD குறியீடு இயங்குகிறது…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI குறியீடு ரத்தானது"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR மட்டும்"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: WCDMA பரிந்துரைக்கப்படுகிறது"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: GSM மட்டும்"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"தேர்ந்தெடுத்த நெர்வொர்க் பயன்முறை: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"விருப்பமான நெட்வொர்க் பயன்முறை: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"தேர்ந்தெடுத்த நெட்வொர்க் பயன்முறை: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"விருப்பமான நெட்வொர்க் முறை: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"தேர்வு செய்த நெட்வொர்க் பயன்முறை: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"தேர்வு செய்த நெட்வொர்க் பயன்முறை: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"தேர்வு செய்த நெட்வொர்க் பயன்முறை: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"விருப்பமான நெட்வொர்க் பயன்முறை: NR மட்டும்"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"விருப்பமான நெட்வொர்க் பயன்முறை: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"விருப்பமான நெட்வொர்க் பயன்முறை: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"அழைப்பு"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"நெட்வொர்க்"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"மேம்பட்ட 4G LTE பயன்முறை"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"பல்வேறு வகை"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"பல்வேறு வகை இயக்கப்பட்டன"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"பல்வேறு வகை முடக்கப்பட்டன"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (பரிந்துரைக்கப்படுகிறது)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (பரிந்துரைக்கப்பட்டது)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (பரிந்துரைக்கப்பட்டது)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"நிலையான அழைப்பு எண்ணை நீக்குகிறது…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"நிலையான அழைப்பு எண் நீக்கப்பட்டது."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"தவறான பின்னை உள்ளிட்டுள்ளதால், FDN புதுப்பிக்கப்படவில்லை."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"உள்ளிட்ட எண் 20 இலக்கங்களுக்கும் அதிகமாக உள்ளதால் 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="fdn_failed" msgid="216592346853420250">"FDN செயல்பாடு தோல்வி."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"சிம் கார்டில் இருப்பதைப் படிக்கிறது…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> அவசர அழைப்பு எண் இல்லை என்பதால் அழைக்க முடியாது."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"அழைக்க முடியாது. அவசர அழைப்பு எண்ணை அழைக்கவும்."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"அவசர அழைப்பு வசதி இல்லை"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"PIN/PUK குறியீடுகளை சாதனத்தின் உரிமையாளர் மட்டுமே உள்ளிட முடியும்."</string>
     <string name="police_type_description" msgid="2819533883972081757">"காவல்"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ஆம்புலன்ஸ்"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"தீயணைப்பு"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"கவனத்தில் கொள்ளவும்: ரோமிங்கில் உள்ள போது RTT கிடையாது"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY முடக்கத்தில்"</item>
     <item msgid="1449091874731375214">"TTY ஐ இயக்கு"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"சேவை"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"அமைவு"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;அமைக்கப்படவில்லை&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"அழைப்புத் தடுப்பு முடக்கப்பட்டது"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"கடவுச்சொல்லை மாற்றவும்"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"அழைப்புத் தடுப்புக்கான கடவுச்சொல்லை மாற்றவும்"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"அழைப்புத் தடுப்புக்கான கடவுச்சொல்லை மாற்ற முடியாது."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"அழைப்புத் தடுப்புக்கான கடவுச்சொல்லை மாற்ற முடியாது"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"கடவுச்சொற்கள் பொருந்தவில்லை"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 எண்களுடன் கூடிய கடவுச்சொல்லை உள்ளிடவும்"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"கடவுச்சொல் மாற்றப்பட்டது"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"கடவுச்சொல்லை உறுதிப்படுத்தவும்"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"கடவுச்சொல்லை உள்ளிடவும்"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"அழைப்புத் தடுப்பு அமைப்புகள்"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"எல்லா அழைப்புத் தடுப்பு அமைப்புகளையும் முடக்கவா?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"நெட்வொர்க் பிஸியாக உள்ளது. பிறகு அழைக்கவும்."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"நெட்வொர்க் பிஸியாக உள்ளது. உதவிக்கு உங்கள் மொபைல் ஆபரேட்டரைத் தொடர்பு கொள்ளவும்."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"அழைப்புத் திருப்பிவிடப்பட்டது."</string>
@@ -787,4 +820,91 @@
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>ஐப் பயன்படுத்த, <xliff:g id="SIM_NUMBER">%2$d</xliff:g> சிம்மிற்கான மொபைல் டேட்டா இயக்கத்தில் இருப்பதை உறுதிப்படுத்திக் கொள்ளவும். இதை மொபைல் நெட்வொர்க் அமைப்புகளில் மாற்றலாம்."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>ஐப் பயன்படுத்த, <xliff:g id="SIM_NUMBER">%2$d</xliff:g> சிம்மிற்கான மொபைல் டேட்டாவும் டேட்டா ரோமிங்கும் இயக்கத்தில் இருப்பதை உறுதிப்படுத்திக் கொள்ளவும். இவற்றை மொபைல் நெட்வொர்க் அமைப்புகளில் மாற்றலாம்."</string>
     <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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"வீடியோ அழைப்பு அமைக்கப்பட்டது"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"வைஃபை அழைப்பு அமைக்கப்பட்டது"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/பிரசென்ஸ் அமைக்கப்பட்டது"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs டேட்டா"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDSஸை இயக்கு"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"மொபைல் ரேடியோ பவர்"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"சிம் முகவரிப் புத்தகத்தைக் காட்டு"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"நிலையான அழைப்பு எண்களைக் காட்டு"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"சேவை அழைப்பு எண்களைக் காட்டு"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS சேவை நிலை"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS நிலை"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"பதிவு செய்யப்பட்டது"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"பதிவுசெய்யப்படவில்லை"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"இருக்கிறது"</string>
+    <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_emergency" msgid="4763879891415016848">"அவசர அழைப்புகள் மட்டும்"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ரேடியோ ஆஃப் செய்யப்பட்டுள்ளது"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"ரோமிங்"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ரோமிங்கில் இல்லை"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"செயல்படவில்லை"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"ரிங் ஆகிறது"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"அழைப்பில் உள்ளது"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"இணைப்பில் இல்லை"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"இணைக்கிறது"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"இணைக்கப்பட்டுள்ளது"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"இடைநீக்கப்பட்டது"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"தெரியாதது"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"பைட்டுகள்"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"தற்போதைய துணை ஐடி:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"இயல்பான டேட்டா சிம்மின் துணை ஐடி:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL இணைய வேகம் (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL இணைய வேகம் (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"மொபைலின் இருப்பிடத் தகவல் (நிறுத்தப்பட்டது):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE ஃபிசிக்கல் சேனல் உள்ளமைவு:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"மொபைல் தகவலின் புதுப்பிப்பு விகிதம்:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"அனைத்து மொபைல் அளவீட்டுத் தகவல்:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"டேட்டா சேவை:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"ரோமிங்:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"அழைப்பைத் திசைதிருப்பு:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"தொடக்கம் முதல் PPP மீட்டமைவின் எண்ணிக்கை:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"தற்போதைய நெட்வொர்க்:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"பெறப்பட்ட டேட்டா:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"குரல் சேவை:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"சிக்னலின் வலிமை:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"குரல் அழைப்பின் நிலை:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"அனுப்பிய தரவு:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"காத்திருப்பில் உள்ள செய்தி:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ஃபோன் எண்:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ஹோஸ்ட்பெயர்(www.google.com) IPv6ஐப் பிங் செய்:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP கிளையண்ட் சோதனை:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS சரிபார்ப்பை நிலைமாற்று"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM சார்ந்த தகவல்/அமைப்புகள்"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ரேடியோ பேண்டு பயன்முறையை அமை"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"பேண்டு பட்டியலை ஏற்றுகிறது…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"அமை"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"தோல்வி"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"வெற்றி"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"டேப்லெட்டின் தகவல்"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"மொபைலின் தகவல்"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Carrier Provisioning Info"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger Carrier Provisioning"</string>
 </resources>
diff --git a/res/values-te/config.xml b/res/values-te/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-te/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index acf7e64..2646327 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"ప్రైవేట్ నంబర్"</string>
     <string name="payphone" msgid="7936735771836716941">"పే ఫోన్"</string>
     <string name="onHold" msgid="6132725550015899006">"హోల్డ్‌లో ఉంది"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>సందేశం"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"క్యారియర్ సందేశం"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI కోడ్ ప్రారంభించబడింది"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD కోడ్ అమలు చేయబడుతోంది…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI కోడ్ రద్దు చేయబడింది"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR మాత్రమే"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: WCDMAకు ప్రాధాన్యత"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: GSM మాత్రమే"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: గ్లోబల్"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"ప్రాధాన్య నెట్‌వర్క్ మోడ్: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR మాత్రమే"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"ప్రాధాన్యత గల నెట్‌వర్క్ మోడ్: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"కాలింగ్"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"నెట్‌వర్క్"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"మెరుగుపరిచిన 4G LTE మోడ్"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"బహుళ-వర్గాలు"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"బహుళ-వర్గాలు ప్రారంభించబడ్డాయి"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"బహుళ-వర్గాలు నిలిపివేయబడ్డాయి"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (సిఫార్సు చేయడమైనది)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (సిఫార్సు చేయబడింది)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (సిఫార్సు చేయబడింది)"</string>
     <string name="network_global" msgid="3289646154407617631">"గ్లోబల్"</string>
@@ -439,7 +465,7 @@
     <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="fdn_invalid_number" msgid="155512764412225645">"నంబర్ 20 అంకెలను మించినందున 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="fdn_failed" msgid="216592346853420250">"FDN చర్య విఫలమైంది."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM కార్డు నుండి చదువుతోంది…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"కాల్ చేయలేరు. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> అత్యవసర నంబర్ కాదు."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"కాల్ చేయలేరు. అత్యవసర నంబర్‌ను డయల్ చేయండి."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"అత్యవసర కాలింగ్ అందుబాటులో లేదు"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"పరికరం యజమాని మాత్రమే PIN/PUK కోడ్‌లను నమోదు చేయగలరు."</string>
     <string name="police_type_description" msgid="2819533883972081757">"పోలీస్"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"అంబులెన్స్‌"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"అగ్నిమాపక శాఖ"</string>
@@ -554,9 +581,10 @@
     <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>
+    <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="no_rtt_when_roaming" msgid="5268008247378355389">"గమనిక: రోమింగ్‌లో ఉండగా RTTఅందుబాటులో ఉండదు"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ఆఫ్‌లో ఉంది"</item>
     <item msgid="1449091874731375214">"TTY సంపూర్ణంగా ఉన్నవి"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"సేవ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"సెటప్"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;సెట్ చేయలేదు&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"కాల్ బేరింగ్ నిష్క్రియం చేయబడింది"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"పాస్‌వర్డ్‌ను మార్చండి"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"కాల్ బేరింగ్ పాస్‌వర్డ్‌ని మార్చండి"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"కాల్ బేరింగ్ పాస్‌వర్డ్‌ని మార్చడం సాధ్యం కాదు."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"కాల్ బేరింగ్ పాస్‌వర్డ్‌ని మార్చడం సాధ్యం కాదు"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"పాస్‌‌వర్డ్‌లు సరిపోలడం లేదు"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 సంఖ్యలతో పాస్‌వర్డ్‌ని నమోదు చేయండి"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"పాస్‌వర్డ్ మార్చబడింది"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"పాస్‌వర్డ్‌ని నిర్ధారించండి"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"పాస్‌వర్డ్‌ని నమోదు చేయండి"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"కాల్ బేరింగ్ సెట్టింగ్‌లు"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"అన్ని కాల్ బేరింగ్ సెట్టింగ్‌లను నిష్క్రియం చేయాలా?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"నెట్‌వర్క్ బిజీగా ఉంది. దయచేసి తిరిగి తర్వాత కాల్ చేయండి."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"నెట్‌వర్క్‌లో అంతరాయం ఏర్పడింది. సహాయం కోసం మీ మొబైల్ ఆపరేటర్‌ను సంప్రదించండి."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"కాల్ మళ్లించబడింది."</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"వీడియో కాలింగ్ సదుపాయం ఉంది"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi కాలింగ్ సదుపాయం ఉంది"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/ఉనికి సక్రియం చేయబడింది"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs డేటా"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDSను ప్రారంభించండి"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"మొబైల్ రేడియో పవర్"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM చిరునామా పుస్తకాన్ని చూడండి"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌లను చూడండి"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"సర్వీస్ డయలింగ్ నంబర్‌లను వీక్షించండి"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS సేవ స్థితి"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS స్థితి"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"నమోదు చేయబడింది"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"నమోదు కాలేదు"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"అందుబాటులో ఉన్నారు"</string>
+    <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_emergency" msgid="4763879891415016848">"అత్యవసర కాల్‌లు మాత్రమే"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"రేడియో ఆఫ్‌లో ఉంది"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"రోమింగ్"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"రోమింగ్‌లో లేదు"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"నిష్క్రియంగా ఉంది"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"రింగ్ వస్తోంది"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"కాల్ ప్రోగ్రెస్‌లో ఉంది"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"డిస్‌కనెక్ట్ అయింది"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"కనెక్ట్ చేయబడుతోంది"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"కనెక్ట్ చేయబడింది"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"తాత్కాలికంగా నిలిపివేయబడింది"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"తెలియదు"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"బైట్‌లు"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"ప్రస్తుత subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"డిఫాల్ట్ డేటా SIM యొక్క SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL బ్యాండ్‌విడ్త్ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL బ్యాండ్‌విడ్త్ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"సెల్ స్థాన సమాచారం (నిలిపివేయబడింది):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE భౌతిక ఛానెల్ కాన్ఫిగరేషన్:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"సెల్ సమాచార రిఫ్రెష్ సగటు:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"మొత్తం సెల్ పరిమాణ సమాచారం:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"డేటా సేవ:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"రోమింగ్:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"కాల్ దారి మళ్లింపు:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"బూట్ చేసినప్పటి నుండి PPP రీసెట్ సంఖ్య:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"ప్రస్తుత నెట్‌వర్క్:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"స్వీకరించిన డేటా:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"వాయిస్ సేవ:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"సిగ్నల్ సామర్థ్యం:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"వాయిస్ కాల్ స్థితి:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"పంపిన డేటా:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"సందేశ నిరీక్షణ:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"ఫోన్ నంబర్:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"పింగ్ హోస్ట్ పేరు(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP క్లయింట్ పరీక్ష:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"DNS తనిఖీని టోగుల్ చేయండి"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-నిర్దిష్ట సమాచారం/సెట్టింగ్‌లు"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"రేడియో బ్యాండ్ మోడ్‌ను సెట్ చేయండి"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"బ్యాండ్ జాబితాను లోడ్ చేస్తోంది…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"సెట్ చేయి"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"విఫలమైంది"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"విజయవంతమైంది"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"టాబ్లెట్ సమాచారం"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ఫోన్ సమాచారం"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"క్యారియర్ కేటాయింపు సమాచారం"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"క్యారియర్ కేటాయింపు సక్రియం చేయండి"</string>
 </resources>
diff --git a/res/values-th/config.xml b/res/values-th/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-th/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 710a30b..29fb43d 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"หมายเลขส่วนตัว"</string>
     <string name="payphone" msgid="7936735771836716941">"โทรศัพท์สาธารณะ"</string>
     <string name="onHold" msgid="6132725550015899006">"พักสาย"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"ข้อความ <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"ข้อความของผู้ให้บริการ"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"เริ่มรหัส MMI แล้ว"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"กำลังรันรหัส USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"ยกเลิกรหัส MMI แล้ว"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR เท่านั้น"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"โหมดเครือข่ายที่ต้องการ: ต้องการ WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"โหมดเครือข่ายที่ต้องการ: GSM เท่านั้น"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"โหมดเครือข่ายที่ต้องการ: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"โหมดเครือข่ายที่ต้องการ: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"โหมดเครือข่ายที่ต้องการ: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"โหมดเครือข่ายที่ต้องการ: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"โหมดเครือข่ายที่ต้องการ: ทั่วโลก"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"โหมดเครือข่ายที่ต้องการ: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"โหมดเครือข่ายที่ต้องการ: LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"โหมดเครือข่ายที่ต้องการ: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"โหมดเครือข่ายที่ต้องการ: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"โหมดเครือข่ายที่ต้องการ: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"โหมดเครือข่ายที่ต้องการ: NR เท่านั้น"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"โหมดเครือข่ายที่ต้องการ: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"โหมดเครือข่ายที่ต้องการ: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"โหมดเครือข่ายที่ต้องการ: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"โหมดเครือข่ายที่ต้องการ: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"โหมดเครือข่ายที่ต้องการ: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"โหมดเครือข่ายที่ต้องการ: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"โหมดเครือข่ายที่ต้องการ: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"โหมดเครือข่ายที่ต้องการ: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"โหมดเครือข่ายที่ต้องการ: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"โหมดเครือข่ายที่ต้องการ: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"กำลังโทร"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"เครือข่าย"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"โหมด 4G LTE ที่ปรับปรุงแล้ว"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"หลายหมวดหมู่"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"เปิดใช้งานหลายหมวดหมู่แล้ว"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"ปิดใช้งานหลายหมวดหมู่"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (แนะนำ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (แนะนำ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (แนะนำ)"</string>
     <string name="network_global" msgid="3289646154407617631">"ทั่วโลก"</string>
@@ -399,8 +425,8 @@
     <string name="cdma_activate_device" msgid="5914720276140097632">"เปิดใช้งานอุปกรณ์"</string>
     <string name="cdma_lte_data_service" msgid="359786441782404562">"ตั้งค่าบริการข้อมูล"</string>
     <string name="carrier_settings_title" msgid="6292869148169850220">"การตั้งค่าของผู้ให้บริการ"</string>
-    <string name="fdn" msgid="2545904344666098749">"การจำกัดหมายเลขโทรออก"</string>
-    <string name="fdn_with_label" msgid="6412087553365709494">"โหมดจำกัดการโทร (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</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">"รายการ FDN (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2178637004710435895">"การเปิดใช้งาน FDN"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"ระบบไม่ได้อัปเดต FDN เนื่องจากหมายเลขมีจำนวนเกิน 20 หลัก"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"ระบบไม่ได้อัปเดต FDN เนื่องจากหมายเลขมีจำนวนเกิน <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> หลัก"</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">"กำลังอ่านจากซิมการ์ด…"</string>
@@ -492,7 +518,7 @@
     <string name="card_title_in_call" msgid="8231896539567594265">"กำลังใช้สาย"</string>
     <string name="notification_voicemail_title" msgid="3932876181831601351">"ข้อความเสียงใหม่"</string>
     <string name="notification_voicemail_title_count" msgid="2806950319222327082">"ข้อความเสียงใหม่ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
-    <string name="notification_voicemail_text_format" msgid="5720947141702312537">"หมุนหมายเลข <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+    <string name="notification_voicemail_text_format" msgid="5720947141702312537">"โทร <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
     <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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"ไม่สามารถโทรได้ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ไม่ใช่หมายเลขฉุกเฉิน"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"ไม่สามารถโทรออก โทรหมายเลขฉุกเฉิน"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"หมายเลขฉุกเฉินไม่พร้อมใช้งาน"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"มีเพียงเจ้าของอุปกรณ์เท่านั้นที่ทำการป้อนโค้ด PIN/PUK ได้"</string>
     <string name="police_type_description" msgid="2819533883972081757">"ตำรวจ"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"รถพยาบาล"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"อัคคีภัย"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"หมายเหตุ: RTT ไม่พร้อมใช้งานขณะโรมมิ่ง"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"ปิด TTY"</item>
     <item msgid="1449091874731375214">"TTY เต็ม"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"บริการ"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"การตั้งค่า"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ไม่ได้ตั้งค่า&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"ปิดใช้งานการระงับการโทรแล้ว"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"เปลี่ยนรหัสผ่าน"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"เปลี่ยนรหัสผ่านระงับการโทร"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"เปลี่ยนรหัสผ่านระงับการโทรไม่ได้"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"เปลี่ยนรหัสผ่านเพื่อระงับการโทรไม่ได้"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"รหัสผ่านไม่ตรงกัน"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"ป้อนรหัสผ่านเป็นตัวเลข 4 ตัว"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"เปลี่ยนรหัสผ่านแล้ว"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"ยืนยันรหัสผ่าน"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"ป้อนรหัสผ่าน"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"การตั้งค่าระงับการโทร"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"ปิดใช้งานการตั้งค่าระงับการโทรทั้งหมดไหม"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"เครือข่ายไม่ว่าง โปรดลองโทรอีกครั้ง"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"เครือข่ายแออัด ติดต่อโอเปอเรเตอร์อุปกรณ์เคลื่อนที่เพื่อขอความช่วยเหลือ"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"มีการส่งต่อสาย"</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"จัดสรรการโทรแบบวิดีโอคอลแล้ว"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"จัดสรรการโทรผ่าน Wi-Fi แล้ว"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"จัดสรร EAB/Presence แล้ว"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"ข้อมูล CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"เปิดใช้ DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"กำลังส่งของวิทยุเครือข่ายมือถือ"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ดูสมุดที่อยู่ของซิม"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ดูการจำกัดหมายเลขโทรออก"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"ดูหมายเลขรับบริการโทรออก"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"สถานะบริการ IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"สถานะ IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"ลงทะเบียนแล้ว"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"ไม่ได้ลงทะเบียน"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"ใช้งานได้"</string>
+    <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การสื่อสารทางเสียงผ่าน Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nการโทรแบบวิดีโอคอล: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nอินเทอร์เฟซ UT: <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_emergency" msgid="4763879891415016848">"โทรฉุกเฉินเท่านั้น"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"วิทยุปิดอยู่"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"โรมมิ่ง"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"ไม่ได้โรมมิ่ง"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"ไม่ได้ใช้งาน"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"เสียงกริ่ง"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"กำลังใช้สาย"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"เลิกเชื่อมต่อแล้ว"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"กำลังเชื่อมต่อ"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"เชื่อมต่อแล้ว"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"ถูกระงับ"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"ไม่รู้จัก"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"ไบต์"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"SubId ปัจจุบัน:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId ของซิมอินเทอร์เน็ตเริ่มต้น:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"แบนด์วิดท์ดาวน์โหลด (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"แบนด์วิดท์อัปโหลด (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"ข้อมูลตำแหน่งของเครือข่ายมือถือ (เลิกใช้งานแล้ว):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"การกำหนดค่าแชเนลทางกายภาพของ LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"อัตราการรีเฟรชข้อมูลมือถือ:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"ข้อมูลการวัดเครือข่ายมือถือทั้งหมด:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"บริการข้อมูล:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"โรมมิ่ง:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"การเปลี่ยนเส้นทางการโทร:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"จำนวนการรีเซ็ต PPP ตั้งแต่เปิดเครื่อง:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"เครือข่ายปัจจุบัน:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ข้อมูลที่ได้รับ:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"บริการเสียง:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"ความแรงสัญญาณ:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"สถานะการโทรด้วยเสียง:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ส่งข้อมูลแล้ว:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"ข้อความที่รออยู่:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"หมายเลขโทรศัพท์:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ใช้คำสั่ง ping ชื่อโฮสต์ (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"การทดสอบไคลเอ็นต์ HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"ใช้การทดสอบคำสั่ง ping"</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_toggle_dns_check_label" msgid="1394078554927787350">"สลับการตรวจสอบ DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"ข้อมูล/การตั้งค่าเฉพาะตาม OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ตั้งค่าโหมดย่านความถี่วิทยุ"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"กำลังโหลดรายการย่านความถี่…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"ตั้งค่า"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ไม่สำเร็จ"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"สำเร็จแล้ว"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ข้อมูลแท็บเล็ต"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"ข้อมูลโทรศัพท์"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"ข้อมูลการจัดสรรผู้ให้บริการ"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"ทริกเกอร์การจัดสรรผู้ให้บริการ"</string>
 </resources>
diff --git a/res/values-tl/config.xml b/res/values-tl/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-tl/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 93c45d8..a7eaafd 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Pribadong numero"</string>
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"Naka-hold"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Mensahe ng <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Mensahe ng Carrier"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Sinimulan ang MMI code"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Tumatakbo ang USSD code…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Kinansela ang MMI code"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"NR lang"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Mas gustong mode ng network: WCDMA ang mas gusto"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Mas gustong mode ng network: GSM lamang"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Gustong mode ng network: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Gustong mode ng network: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Gustong mode ng network: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Mas gustong network mode: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Gustong mode ng network: Pangkalahatan"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Gustong mode ng network: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Mas gustong network mode: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Mas gustong network mode: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Mas gustong network mode: CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Mas gustong network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Mas gustong network mode: NR lang"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Mas gustong network mode: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Mas gustong network mode: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Mas gustong network mode: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Mas gustong network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Mas gustong network mode: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Mas gustong network mode: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Mas gustong network mode: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Mas gustong network mode: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Mas gustong network mode: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Mas gustong network mode: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Tumatawag"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Network"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Enhanced 4G LTE Mode"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Multi-category"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Pinagana ang multi-category"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Hindi pinagana ang multi-category"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (inirerekomenda)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (inirerekomenda)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (inirerekomenda)"</string>
     <string name="network_global" msgid="3289646154407617631">"Pandaigdigan"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Tinatanggal ang fixed dialing number…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Tinanggal ang fixed dialing number."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Hindi na-update ang FDN dahil maling PIN ang iyong na-type."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Hindi na-update ang FDN dahil ang bilang ay lampas sa 20 digit."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Hindi na-update ang FDN dahil ang bilang ay lampas sa <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> (na) digit."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Hindi na-update ang FDN. Hindi wasto ang PIN2, o tinanggihan ang numero ng telepono."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Nagbigo ang operasyon ng FDN."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Nagbabasa mula sa SIM card…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Hindi makatawag. Ang <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ay hindi isang emergency na numero."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Hindi makatawag. Mag-dial ng emergency na numero."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Hindi available ang emergency na pagtawag"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Ang may-ari lang ng device ang puwedeng maglagay ng mga PIN/PUK code."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Pulis"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulansya"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Sunog"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real-time na text (RTT) na tawag"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Payagan ang pagmemensahe sa isang voice call"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Tinutulungan ng RTT ang mga tumatawag na bingi, mahina ang pandinig, may kapansanan sa pagsasalita, o kailangan ng higit pa sa boses lang.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Matuto pa&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Sine-save ang mga RTT na tawag bilang transcript ng mensahe\n       &lt;br&gt; - Hindi available ang RTT para sa mga video call"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Tandaan: Hindi available ang RTT habang naka-roam"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"I-off ang TTY"</item>
     <item msgid="1449091874731375214">"Puno ang TTY"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Oo"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Hindi"</string>
     <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>
     <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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Na-deactivate ang pag-bar ng tawag"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Baguhin ang password"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Baguin ang password ng pag-bar ng tawag"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Hindi mababago ang password ng pag-bar ng tawag."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Hindi mababago ang password ng pag-bar ng tawag"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Ang iyong mga password ay hindi magkatugma"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Maglagay ng password na may 4 na numero"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Binago ang password."</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Kumpirmahin ang password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Ilagay ang password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Mga setting ng pag-bar ng tawag"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"I-deactivate ang lahat ng setting ng pag-bar ng tawag?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Busy ang network. Pakisubukan muling tumawag sa ibang pagkakataon."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Mabagal ang network. Makipag-ugnayan sa iyong mobile operator para sa tulong."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Na-deflect ang tawag."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Para gamitin ang <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, tiyaking naka-on ang mobile data at data roaming para sa SIM na <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Maaari mong baguhin ang mga ito sa mga setting ng mobile network."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"I-dismiss"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"I-enable ang Koneksyon sa Data"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"I-disable ang Koneksyon sa Data"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Provisioned"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Naka-provision ang Pag-video Call"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Naka-provision ang Pagtawag gamit ang Wifi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Naka-provision ang EAB/Presence"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs Data"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"I-enable ang DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"I-restart ang Device?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Tingnan ang Mga Service Dialing Number"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Status ng Serbisyo ng IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Status ng IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Nakarehistro"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Hindi Nakarehistro"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Available"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Hindi available"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Pagpaparehistro ng IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice sa pamamagitan ng LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice sa pamamagitan ng WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Gumagana"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Hindi Gumagana"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Mga Emergency na Tawag Lang"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Naka-off ang Radyo"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Hindi Roaming"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Idle"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Nagri-ring"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"May Kausap sa Telepono"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Nakadiskonekta"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Kumokonekta"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Konektado"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Sinuspinde"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Hindi alam"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bytes"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Kasalukuyang subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"SubId ng default na data SIM:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL Bandwidth (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL Bandwidth (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Impormasyon ng Lokasyon ng Cell (hindi na ginagamit):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Configuration ng LTE Physical Channel:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Rate ng Pag-refresh ng Impormasyon ng Cell:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Impormasyon ng Pagsukat sa Lahat ng Cell:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Serbisyo ng Data:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Pag-redirect ng Tawag:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Bilang ng Pag-reset ng PPP Pagkatapos Mag-boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Kasalukuyang Network:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Natanggap na Data:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Serbisyo ng Voice:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Lakas ng Signal:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Status ng Voice Call:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Ipinadalang Data:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Naghihintay na Mensahe:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Numero ng Telepono:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"I-ping ang Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test ng HTTP Client:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Patakbuhin ang Ping Test"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"I-update"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Itakda"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Hindi Matagumpay"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Matagumpay"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Impormasyon ng tablet"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Impormasyon ng telepono"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Impormasyon sa Provisioning ng Carrier"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"I-trigger ang Provisioning ng Carrier"</string>
 </resources>
diff --git a/res/values-tr/config.xml b/res/values-tr/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-tr/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index b5cb82a..2d34fa1 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Özel numara"</string>
     <string name="payphone" msgid="7936735771836716941">"Ankesörlü telefon"</string>
     <string name="onHold" msgid="6132725550015899006">"Beklemede"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Mesajı"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operatör Mesajı"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI kodu başlatıldı"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD kodu çalışıyor…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI kodu iptal edildi"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Yalnızca NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Tercih edilen ağ modu: WCDMA tercih edilir"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Tercih edilen ağ modu: Yalnızca GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Tercih edilen ağ modu: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Tercih edilen ağ modu: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Tercih edilen ağ modu: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Tercih edilen ağ modu: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Tercih edilen ağ modu: Dünya Genelinde"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Tercih edilen ağ modu: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Tercih edilen ağ modu: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Tercih edilen ağ modu: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Tercih edilen ağ modu: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Tercih edilen ağ modu: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Tercih edilen ağ modu: Yalnızca NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Tercih edilen ağ modu: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Tercih edilen ağ modu: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Tercih edilen ağ modu: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Tercih edilen ağ modu: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Tercih edilen ağ modu: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Tercih edilen ağ modu: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Tercih edilen ağ modu: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Tercih edilen ağ modu: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Tercih edilen ağ modu: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Tercih edilen ağ modu: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Çağrı"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Ağ"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Geliştirilmiş 4G LTE Modu"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Çoklu kategori"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Çoklu kategori etkinleştirildi"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Çoklu kategori devre dışı bırakıldı"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (önerilen)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (önerilir)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (önerilir)"</string>
     <string name="network_global" msgid="3289646154407617631">"Küresel"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Sabit arama numarası siliniyor..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Sabit arama numarası silindi."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"Yanlış PIN girdiğiniz için FDN güncellenmedi."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Sayı 20 basamaktan uzun olduğu için FDN güncellenemedi."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Numara <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> basamaktan uzun olduğu için SAN güncellenemedi."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN güncellenmedi. PIN2 doğru değildi veya telefon numarası reddedildi."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN işlemi başarısız oldu."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM karttan okunuyor..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Aranamıyor. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> bir acil durum numarası değil."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Aranamıyor. Bir acil durum numarasını arayın."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Acil durum çağrısı yapılamaz"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"PIN/PUK kodlarını yalnızca cihazın sahibi girebilir."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Polis"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulans"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"İtfaiye"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Gerçek zamanlı mesaj (RTT) çağrısı"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Sesli aramada mesajlaşmaya izin verilir"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT; tam veya kısmi işitme engelli, konuşma engeli olan veya sesten fazlasına ihtiyaç duyan arayanlara yardımcı olur.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Daha fazla bilgi&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT çağrıları, mesaj çeviri yazısı olarak kaydedilir\n       &lt;br&gt; - RTT, görüntülü görüşmelerde kullanılamaz"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Not: Dolaşım sırasında RTT kullanılamaz"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY Kapalı"</item>
     <item msgid="1449091874731375214">"TTY Tam"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Evet"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Hayır"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Çağrı engelleme devre dışı bırakıldı"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Şifreyi değiştir"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Çağrı engelleme şifresi değiştirilir"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Çağrı engelleme şifresi değiştirilemez."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Arama engelleme şifresi değiştirilemez"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Şifreler eşleşmiyor"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 rakamdan oluşan bir şifre girin"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Şifre değişti"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Şifreyi onayla"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Şifreyi girin"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Çağrı engelleme ayarları"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Tüm çağrı engelleme ayarları devre dışı bırakılsın mı?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Ağ meşgul. Lütfen daha sonra tekrar aramayı deneyin."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Ağ fazla dolu. Yardım almak için cep telefonu operatörünüzle iletişime geçin."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Çarının yönü değiştirildi."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<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 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_dialog_dismiss" msgid="5934541487903081652">"Kapat"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Veri Bağlantısını Etkinleştir"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Veri Bağlantısını Devre Dışı Bırak"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Temel Hazırlığı Yapıldı"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Görüntülü Görüşme Temel Hazırlığı Yapıldı"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Kablosuz Ağ Üzerinden Görüşme Temel Hazırlığını Yap"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Varlık Temel Hazırlığı Yapıldı"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs Verileri"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS\'yi etkinleştir"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Cihaz Yeniden Başlatılsın mı?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Hizmet Arama Numaralarını Görüntüle"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS Hizmet Durumu"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS Durumu"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Kayıtlı"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Kaydettirilmedi"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Kullanılabilir"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Kullanılamıyor"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS Kaydı: <xliff:g id="STATUS">%1$s</xliff:g>\nLTE:üzerinden ses <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWiFi üzerinden ses: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nGörüntülü Görüşme: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Arayüzü: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Hizmette"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Hizmet Dışı"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Yalnızca Acil Durum Aramaları İçin"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radyo Kapalı"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Dolaşım"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Dolaşımda Değil"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Boşta"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Çalıyor"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Arama Devam Ediyor"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Bağlı değil"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Bağlanıyor"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Bağlı"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Askıya alındı"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Bilinmiyor"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkt"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bayt"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Mevcut alt kimlik:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Varsayılan veri SIM\'inin alt kimliği:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"İndirme Bant Genişliği (kb/sn.):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Yükleme Bant Genişliği (kb/sn.):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Hücre Konumu Bilgisi (kullanımdan kaldırıldı):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE Fiziksel Kanal Yapılandırması:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Hücre Bilgilerini Yenileme Hızı:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Tüm Hücre Ölçümü Bilgileri:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Veri Hizmeti:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Dolaşım:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Aramayı Yönlendir:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Açılıştan Bu Yana PPP Sıfırlama Sayısı:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Geçerli Ağ:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Veri Alındı:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Ses Hizmeti:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Sinyal Gücü:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Sesli Arama Durumu:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Veri Gönderildi:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mesaj Bekleniyor:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefon Numarası:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Ana Makine Adı (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP İstemcisi Testi:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ping Testini Çalıştır"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Güncelle"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Radyo Bant Modunu Ayarla"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Bant Listesi Yükleniyor…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Ayarla"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Başarısız"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Başarılı"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet bilgileri"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefon bilgileri"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operatör Temel Hazırlık Bilgileri"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Tetikleyici Operatör Temel Hazırlığı"</string>
 </resources>
diff --git a/res/values-uk/config.xml b/res/values-uk/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-uk/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index d56af37..7f5b8cb 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Приватний номер"</string>
     <string name="payphone" msgid="7936735771836716941">"Таксофон"</string>
     <string name="onHold" msgid="6132725550015899006">"Очікує"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Повідомлення від <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Повідомлення від оператора"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Код MMI запущено"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Виконується запит USSD…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Код MMI скасовано"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Лише NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Рекомендований режим мереж: бажано WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Рекомендований режим мереж: лише GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Рекомендований режим мережі: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Рекомендований режим мережі: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Рекомендований режим мережі: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Пріоритетний режим мережі: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Рекомендований режим мережі: загальний"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Рекомендований режим мережі: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Рекомендований режим мережі: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Рекомендований режим мережі: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Рекомендований режим мережі: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Рекомендований режим мережі: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Пріоритетний режим мережі: лише NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Пріоритетний режим мережі: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Пріоритетний режим мережі: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Пріоритетний режим мережі: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Пріоритетний режим мережі: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Пріоритетний режим мережі: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Пріоритетний режим мережі: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Пріоритетний режим мережі: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Пріоритетний режим мережі: LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Пріоритетний режим мережі: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Пріоритетний режим мережі: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Виклики"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Мережа"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Розширений режим 4G LTE"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Мультикатегорія"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Мультикатегорію увімкн."</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Мультикатегорію вимкнено"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (рекомендовано)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (рекомендується)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (рекомендується)"</string>
     <string name="network_global" msgid="3289646154407617631">"Усі"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"FDN не оновлено, оскільки номер містить понад 20 цифр."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Номер FDN не оновлено, оскільки кількість цифр не може перевищувати <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Фіксований номер (FDN) не оновлено. PIN2-код неправильний або номер телефону відхилено."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Помилка набору фіксованого номера."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Читання із SIM-карти…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Неможливо зателефонувати. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> – не є екстреним номером."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Неможливо зателефонувати. Наберіть екстрений номер."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Екстрені виклики недоступні"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"PIN- і PUK-код може ввести лише власник пристрою."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Поліція"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Швидка допомога"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Пожежно-рятувальна служба"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Виклик із передаванням тексту в реальному часі"</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="no_rtt_when_roaming" msgid="5268008247378355389">"Примітка. У роумінгу функція RTT недоступна."</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Телетайп вимкнено"</item>
     <item msgid="1449091874731375214">"Повнофункціональний телетайп"</item>
@@ -613,6 +641,14 @@
     <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="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>
     <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>
@@ -752,7 +788,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Налаштування заборони дзвінків дезактивовано"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Змінити пароль"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Змінити пароль для заборони дзвінків"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Не вдалося змінити пароль для заборони дзвінків."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Не вдалося змінити пароль для заборони дзвінків"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Паролі не збігаються"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Введіть пароль із 4 цифр"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Пароль змінено"</string>
@@ -761,7 +797,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Підтвердити пароль"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Введіть пароль"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Налаштування заборони дзвінків"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Дезактивувати всі налаштування заборони дзвінків?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Мережа зайнята. Зателефонуйте пізніше."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Мережа перевантажена. Зверніться до свого мобільного оператора."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Виклик переспрямовано."</string>
@@ -791,4 +826,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Відеодзвінки ініціалізовано"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Виклики через Wi-Fi ініціалізовано"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Сервіс EAB/Presence ініціалізовано"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Дані CBRS"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Увімкнути DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"Потужність мобільного радіо"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Переглянути адресну книгу SIM-карти"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Переглянути фіксовані номери"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Переглянути службові номери"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Статус служби IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Статус IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Зареєстровано"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Не зареєстровано"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Доступно"</string>
+    <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Голосові команди через Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nВідеодзвінки: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nІнтерфейс UT: <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_emergency" msgid="4763879891415016848">"Лише екстрені виклики"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Вимкнути радіо"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Роумінг"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Немає роумінгу"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Неактивно"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Дзвінок"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Триває дзвінок"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Роз\'єднано"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Підключення"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Підключено"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Заблоковано"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Невідомо"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"пак."</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"байт"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"дБм"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Поточний субідентифікатор:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Субідентифікатор SIM-карти для даних за умовчанням:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Пропускна спроможність DL (кбіт/с):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Пропускна спроможність UL (кбіт/с):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Геодані телефона (більше не підтримуються):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Конфігурація фізичного каналу LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Частота оновлення даних про мобільний зв\'язок:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Усі дані про показники мобільного зв\'язку:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Мобільний Інтернет:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Роумінг:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Переадресація виклику:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Кількість скидань PPP з часу завантаження:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Поточна мережа:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Отримані дані:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Служба голосових дзвінків:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Рівень сигналу:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Статус голосового дзвінка:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Надіслані дані:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Очікування на повідомлення:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Номер телефону:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Надіслати запит ping на ім\'я хосту (www.google.com) через IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Тест клієнта HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Надіслати запит ping"</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_toggle_dns_check_label" msgid="1394078554927787350">"Увімк./вимк. перевірку DNS"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"Інформація/налаштування OEM"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Установити режим радіодіапазону"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Завантаження списку діапазонів частот…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Установити"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Помилка"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Успішно"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Інформація про пристрій"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Інформація про телефон"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Інформація про ініціалізацію оператора"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Запустити ініціалізацію оператора"</string>
 </resources>
diff --git a/res/values-ur/config.xml b/res/values-ur/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-ur/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index a192288..f7c525a 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"نجی نمبر"</string>
     <string name="payphone" msgid="7936735771836716941">"پے فون"</string>
     <string name="onHold" msgid="6132725550015899006">"ہولڈ پر"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> پیغام بھیجیں"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"کیریئر کا پیغام"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"‏MMI کوڈ شروع ہوگیا"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"‏USSD کوڈ چل رہا ہے…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"‏MMI کوڈ منسوخ ہوگیا"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"‏صرف NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"‏ترجیحی نیٹ ورک طرز: WCDMA ترجیحی"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"‏ترجیحی نیٹ ورک طرز: صرف GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"‏ترجیحی نیٹ ورک طرز: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"‏ترجیحی نیٹ ورک طرز: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"‏ترجیحی نیٹ ورک طرز: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"‏ترجیحی نیٹ ورک موڈ: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"ترجیحی نیٹ ورک طرز: عالمی"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"‏ترجیحی نیٹ ورک طرز: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"‏ترجیحی نیٹ ورک وضع: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"‏ترجیحی نیٹ ورک کی وضع: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"‏ترجیحی نیٹ ورک کی وضع: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"‏ترجیحی نیٹ ورک کی وضع: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"‏ترجیحی نیٹ ورک موڈ: صرف NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"‏ترجیحی نیٹ ورک موڈ: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"‏ترجیحی نیٹ ورک موڈ: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"کال کی جا رہی ہے"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"نیٹ ورک"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"‏Enhanced 4G LTE وضع"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"کثیر زمرہ"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"کثیر زمرہ فعال ہوگیا"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"کثیر زمرہ غیر فعال ہوگیا"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (تجویز کردہ)"</string>
     <string name="network_lte" msgid="7206879277095094280">"‏LTE (تجویز کردہ)"</string>
     <string name="network_4G" msgid="6800527815504223913">"‏4G (تجویز کردہ)"</string>
     <string name="network_global" msgid="3289646154407617631">"عالمی"</string>
@@ -439,7 +465,7 @@
     <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="155512764412225645">"‏FDN اپ ڈیٹ نہیں ہوا کیونکہ نمبر 20 ہندسوں سے زائد ہے۔"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"‏FDN اپ ڈیٹ نہیں ہوا کیونکہ <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> نمبر ہندسوں سے زائد ہے۔"</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>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"کال نہیں کی جا سکتی۔ <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ایک ہنگامی نمبر نہیں ہے۔"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"کال نہیں کی جا سکتی۔ ایک ہنگامی نمبر ڈائل کریں۔"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"ہنگامی کالنگ دستیاب نہیں ہے"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"‏صرف آلہ کا مالک ہی PIN/PUK کوڈ درج کرسکتا ہے۔"</string>
     <string name="police_type_description" msgid="2819533883972081757">"پولیس"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"ایمبولینس"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"آگ"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"‏نوٹ: رومنگ میں ہوتے ہوئے RTT دستیاب نہیں ہے"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"‏TTY آف"</item>
     <item msgid="1449091874731375214">"‏TTY مکمل"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"سروس"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"سیٹ اپ"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"‏&lt;سیٹ نہیں ہے&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"کال میں رکاوٹ کو غیر فعال کر دیا گیا"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"پاس ورڈ تبدیل کریں"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"کال میں رکاوٹ والے پاس ورڈ کو تبدیل کریں"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"کال میں رکاوٹ والا پاس ورڈ تبدیل نہیں ہو سکتا۔"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"کال میں رکاوٹ والا پاس ورڈ تبدیل نہیں ہو سکتا"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"پاس ورڈز مماثل نہیں ہیں"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 نمبرز والا ایک پاس ورڈ درج کریں"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"پاس ورڈ تبدیل ہو گیا"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"پاس ورڈ کی توثیق کریں"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"پاس ورڈ درج کریں"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"کال میں رکاوٹ کی ترتیبات"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"کال میں رکاوٹ والی سبھی ترتیبات کو غیر فعال کریں؟"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"نیٹ ورک مصروف ہے۔ براہ کرم بعد میں دوبارہ اپنی کال آزمائیں۔"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"نیٹ ورک مصروف ہے۔ مدد کے لیے اپنے موبائل آپریٹر سے رابطہ کریں۔"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"کال کو مُنصرف کیا گیا۔"</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"ویڈیو کالنگ فراہم کردہ"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"‏WiFi کالنگ فراہم کردہ"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"‏EAB/موجودگی فراہم کر دی گئی"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"‏CBRS ڈیٹا"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"‏DSDS فعال کریں"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"موبائل ریڈیو پاور"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏SIM ایڈریس بک دیکھیں"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"فکسڈ ڈائلنگ نمبرز دیکھیں"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"سروس ڈائلنگ نمبرز دیکھیں"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"‏IMS سروس اسٹیٹس"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"‏IMS اسٹیٹس"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"رجسٹرڈ ہے"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"رجسٹر نہیں ہے"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"دستیاب ہے"</string>
+    <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_emergency" msgid="4763879891415016848">"صرف ہنگامی کالیں"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"ریڈیو آف کریں"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"رومنگ"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"رومنگ میں نہيں"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"معطل"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"کال کی جا رہی ہے"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"کال کی جا رہی ہے"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"غیر منسلک"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"منسلک ہو رہا ہے"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"منسلک"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"معطل کر دیا گیا"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"نامعلوم"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"پیکٹس"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"بائٹس"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"‏موجودہ subId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"‏ڈیفالٹ ڈیٹا SIM کی SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"‏DL بینڈ وڈتھ (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"‏UL بینڈ وڈتھ (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"سیل کے مقام کی معلومات (فرسودہ):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"‏LTE فزيکل چینل کنفیگریشن:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"سیل کی معلومات ریفریش کرنے کی شرح:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"سیل پیمائش کی تمام معلومات:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"ڈیٹا سروس:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"رومنگ:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"کال ری ڈائریکٹ:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"‏بوٹ کے بعد سے PPP ری سیٹ کی تعداد:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"موجودہ نیٹ ورک:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"ڈیٹا موصول ہوا:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"صوتی سروس:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"سگنل کی قوت:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"صوتی کال کا اسٹیٹس:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"ڈیٹا بھیج دیا گیا:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"پیغام منتظر ہے:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"فون نمبر:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"‏میزبان کا نام پنگ کریں(www.google.com) ‏IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"‏HTTP کلائنٹ ٹیسٹ:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"‏DNS چیک ٹوگل کریں"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"‏OEM-کیلئے مخصوص معلومات/ترتیبات"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"ریڈیو بینڈ موڈ سیٹ کریں"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"بینڈ کی فہرست لوڈ ہو رہی ہے…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"سیٹ کریں"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"ناکام"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"کامیاب"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"ٹیبلٹ کی معلومات"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"فون کی معلومات"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"کیرئیر فراہمی معلومات"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"ٹرگر کیرئیر فراہمی"</string>
 </resources>
diff --git a/res/values-uz/config.xml b/res/values-uz/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-uz/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 128968a..a171138 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Yashirin raqam"</string>
     <string name="payphone" msgid="7936735771836716941">"Taksofon"</string>
     <string name="onHold" msgid="6132725550015899006">"Kutmoqda"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> orqali xabar"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operatordan xabar"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI kodi ishga tushirildi"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD so‘rov bajarilmoqda…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI kodi bekor qilindi"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Faqat NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Tanlangan tarmoq rejimi: WCDMA tanlangan"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Tanlangan tarmoq rejimi: faqat GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Tanlangan tarmoq rejimi: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Tanlangan tarmoq rejimi: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Tanlangan tarmoq rejimi: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Maqbul tarmoq rejimi: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Tanlangan tarmoq rejimi: Global"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Tanlangan tarmoq rejimi: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Ma’qul tarmoq rejimi: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Tavsiya etilgan tarmoq rejimi: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Tavsiya etilgan tarmoq rejimi: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Tavsiya etilgan tarmoq rejimi: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Maqbul tarmoq rejimi: faqat NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Maqbul tarmoq rejimi: NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Maqbul tarmoq rejimi: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Maqbul tarmoq rejimi: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Maqbul tarmoq rejimi: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Maqbul tarmoq rejimi: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Maqbul tarmoq rejimi: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Maqbul tarmoq rejimi: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Maqbul tarmoq rejimi: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Maqbul tarmoq rejimi: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Maqbul tarmoq rejimi: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Chaqiruvlar"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Tarmoq"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Kuchaytirilgan 4G LTE rejimi"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Ko‘p darajali"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Ko‘p daraja yoqildi"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Ko‘p daraja o‘chirildi"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (tavsiya etiladi)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (tavsiya qilinadi)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (tavsiya qilinadi)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Ruxsat berilgan raqamlar o‘chirilmoqda…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Ruxsat berilgan raqamlar o‘chirildi."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN yangilanmadi, chunki siz PIN-kodni noto‘g‘ri kiritdingiz."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Ruxsat etilgan raqam 20 xonali raqam cheklovidan oshganligi uchun yangilanmadi."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Ruxsat etilgan raqam <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> xonali raqam cheklovidan oshganligi uchun yangilanmadi."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN yangilanmadi. PIN2 kodi xato yoki telefon raqami rad qilingan."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN jarayoni amalga oshmadi."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM-kartadan o‘qilmoqda…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Qo‘ng‘iroq qilib bo‘lmadi. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> favqulodda raqam emas."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Qo‘ng‘iroq qilib bo‘lmadi. Favqulodda raqamga tering."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Favqulodda xizmat raqamiga chaqiruv qilib bo‘lmaydi"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Faqat qurilma egasi PIN/PUK kodlarini kirita oladi, xolos."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Politsiya"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Tez tibbiy yordam"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"O‘t o‘chirish xizmati"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"RTT chaqiruvi"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Video chaqiruvlar vaqtida xabarlar almashinuviga ruxsat berish"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT kar, eshitish qobiliyati va nutqiy faoliyati buzilgan shaxslarga mo‘ljallangan funksiyadir.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Batafsil&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT chaqiruvlari transkripsiya sifatida saqlanadi.\n       &lt;br&gt; – RTT funksiyasidan video chaqiruvlar vaqtida foydalanib bo‘lmaydi."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Eslatma. Roumingda RTT funksiyasidan foydalanish imkonsiz."</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Teletayp yoqilmagan"</item>
     <item msgid="1449091874731375214">"To‘liq funksiyali teletayp"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Ha"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Yo‘q"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Chaqiruvlarni taqiqlash xususiyati faolsizlantirildi"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Parolni o‘zgartirish"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Chaqiruvlarni taqiqlash xususiyati uchun parolni o‘zgartirish"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Chaqiruvlarni taqiqlash xususiyati uchun parolni o‘zgartirib bo‘lmadi."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Chaqiruvlarni taqiqlash xususiyati uchun parolni o‘zgartirish imkonsiz."</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Parollar bir-biriga mos kelmadi"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"4 ta raqamli parolni kiriting"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Parol o‘zgartirildi"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Parolni tasdiqlang"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Parolni kiriting"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Chaqiruvlarni taqiqlash sozlamalari"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Barcha chaqiruvlarni taqiqlash sozlamalari faolsizlantirilsinmi?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Tarmoq band. Chaqiruvni keyinroq qayta takrorlang."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Tarmoq band. Uyali tarmoq operatoringizga murojaat qiling."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Chiquvchi chaqiruv uzatildi."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g> imkoniyatlaridan foydalanish uchun <xliff:g id="SIM_NUMBER">%2$d</xliff:g> raqamida mobil internet va internet rouming yoqilgan bo‘lishi lozim. Buning uchun mobil tarmoq sozlamalariga kiring."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Yopish"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Mobil internetni yoqish"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Mobil internetni faolsizlantirish"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE sinxronizatsiyasi yoniq"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video chaqiruvlar funksiyasi yoniq"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi orqali chaqiruvlar funksiyasi yoniq"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence sinxronizatsiyasi yoniq"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS axboroti"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"DSDS funksiyasini yoqish"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Qurilma o‘chirib yoqilsinmi?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Xizmatlarni terish raqamlarini ochish"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS xizmati holati"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS holati"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registratsiya qilingan"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Registratsiya qilinmagan"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Mavjud"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Mavjud emas"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registratsiyasi: <xliff:g id="STATUS">%1$s</xliff:g>\nVoLTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo chaqiruvlar: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interfeysi: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Xizmat doirasida"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Xizmat doirasidan tashqarida"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Faqat favqulodda chaqiruvlar"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio yoqilmagan"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Rouming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Rouming faolsizlantirilgan"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Faol emas"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Jiringlamoqda"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Chaqiruv"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Ulanmagan"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Ulanmoqda"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Ulandi"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Bloklangan"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Noma’lum"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"bayt"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Joriy qoʻshimcha identifikator:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Mobil internet uchun birlamchi SIM kartaning qoʻshimcha identifikatori:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Axborot uzatish tezligi (kbit/s):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL kanalining axborot uzatish tezligi (kbit/s):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Tarmoq joylashuvi haqidagi axborot (eskirgan):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE jismoniy kanal konfiguratsiyasi:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Tarmoq haqidagi axborotning yangilanish darajasi:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Tarmoq statistikasi:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Mobil internet xizmati:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Rouming:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Chaqiruvlarni uzatish:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"O‘chirib yoqilgandan keyin PPP protokoli tiklanishining soni:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Joriy tarmoq:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Qabul qilingan trafik:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Ovozli aloqa xizmati:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal darajasi:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Ovozli chaqiruvlar holati:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Yuborilgan trafik:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Parallel xabar:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Telefon raqami:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"www.google.com uchun ping, IPv6 so‘rovining host nomi:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP mijozini tekshirish:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Ping tekshiruvini boshlash"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Yangilash"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Tarmoq rejimini sozlash"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Chastotalar ro‘yxati yuklanmoqda…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Saqlash"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Bajarilmadi"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Bajarildi"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Planshet haqida"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Telefon haqida"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator sinxronizatsiyasi haqida"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Operator sinxronizatsiyasini yoqish/o‘chirish"</string>
 </resources>
diff --git a/res/values-vi/config.xml b/res/values-vi/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-vi/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index e588bef..da1adf4 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Số cá nhân"</string>
     <string name="payphone" msgid="7936735771836716941">"Điện thoại công cộng"</string>
     <string name="onHold" msgid="6132725550015899006">"Đang chờ"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"Tin nhắn <xliff:g id="MMICARRIER">%s</xliff:g>"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Tin nhắn nhà mạng"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Đã bắt đầu mã MMI"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Mã USSD đang chạy…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Mã MMI đã bị hủy"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"Chỉ NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Chế độ mạng được ưa thích: ưu tiên WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Chế độ mạng được ưa thích: chỉ GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Chế độ mạng được ưa thích: LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Chế độ mạng được ưa thích: GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Chế độ mạng được ưa thích: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Chế độ mạng ưu tiên: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Chế độ mạng được ưa thích: Toàn cầu"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Chế độ mạng được ưa thích: LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Chế độ mạng ưu tiên: LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Chế độ mạng được ưa thích: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Chế độ mạng được ưa thích: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Chế độ mạng được ưa thích: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Chế độ mạng ưu tiên: Chỉ NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Chế độ mạng ưu tiên: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Chế độ mạng ưu tiên: NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Chế độ mạng ưu tiên: NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Chế độ mạng ưu tiên: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Chế độ mạng ưu tiên: NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Chế độ mạng ưu tiên: NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Chế độ mạng ưu tiên: NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Chế độ mạng ưu tiên: NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Chế độ mạng ưu tiên: NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Chế độ mạng ưu tiên: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Đang gọi"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Mạng"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Chế độ 4G LTE tăng cường"</string>
@@ -252,7 +277,7 @@
     <string name="roaming_enable" msgid="6853685214521494819">"Kết nối với dịch vụ dữ liệu khi chuyển vùng"</string>
     <string name="roaming_disable" msgid="8856224638624592681">"Kết nối với dịch vụ dữ liệu khi chuyển vùng"</string>
     <string name="roaming_reenable_message" msgid="1951802463885727915">"Tính năng Chuyển vùng dữ liệu bị tắt. Nhấn để bật."</string>
-    <string name="roaming_enabled_message" msgid="9022249120750897">"Có thể áp dụng phí chuyển vùng. Nhấn để sửa đổi."</string>
+    <string name="roaming_enabled_message" msgid="9022249120750897">"Bạn có thể bị tính phí chuyển vùng. Nhấn để sửa đổi."</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"Đã mất kết nối dữ liệu di động"</string>
     <string name="roaming_on_notification_title" msgid="7451473196411559173">"Chuyển vùng dữ liệu đang bật"</string>
     <string name="roaming_warning" msgid="7855681468067171971">"Bạn có thể phải trả một khoản phí lớn."</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Nhiều danh mục"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Đã bật nhiều danh mục"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Đã vô hiệu hóa nhiều danh mục"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (khuyên dùng)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (khuyên dùng)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (được khuyến nghị)"</string>
     <string name="network_global" msgid="3289646154407617631">"Toàn cầu"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Đang xóa số quay định sẵn…"</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Đã thêm số quay định sẵn."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN không được cập nhật do bạn đã nhập PIN không chính xác."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"Số gọi định sẵn (FDN) chưa được cập nhật do vượt quá 20 chữ số."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Số gọi định sẵn (FDN) chưa cập nhật do vượt quá <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> chữ số."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN không được cập nhật. Mã PIN2 không đúng hoặc số điện thoại đã bị từ chối."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Thao tác FDN không thành công."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Đang đọc từ thẻ SIM…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Không thực hiện được cuộc gọi. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> không phải là số khẩn cấp."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Không thực hiện được cuộc gọi. Hãy quay số khẩn cấp."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Không sử dụng được tính năng gọi khẩn cấp"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Chỉ chủ sở hữu của thiết bị này mới có thể nhập mã PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Cảnh sát"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Cấp cứu"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Hỏa hoạn"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Cuộc gọi qua Tin nhắn theo thời gian thực (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Cho phép nhắn tin trong cuộc gọi thoại"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"Tin nhắn theo thời gian thực (RTT) trợ giúp những người gọi khiếm thính, bị suy giảm thính lực, không có khả năng nói hoặc cần thêm hỗ trợ ngoài giọng nói.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Tìm hiểu thêm&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Cuộc gọi qua RTT được lưu dưới dạng bản chép lời tin nhắn\n       &lt;br&gt; - Không thực hiện được cuộc gọi video qua RTT"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Lưu ý: Không thể sử dụng tin nhắn theo thời gian thực (RTT) trong khi chuyển vùng"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"Tắt TTY"</item>
     <item msgid="1449091874731375214">"TTY Đầy đủ"</item>
@@ -609,6 +637,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Có"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Không"</string>
     <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="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>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Đã hủy kích hoạt cài đặt chặn cuộc gọi"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Đổi mật khẩu"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Đổi mật khẩu chặn cuộc gọi"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Không thể đổi mật khẩu chặn cuộc gọi."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Không thể thay đổi mật khẩu chặn cuộc gọi"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Mật khẩu không khớp"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Nhập mật khẩu gồm 4 số"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Đã đổi mật khẩu"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Xác nhận mật khẩu"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Nhập mật khẩu"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Cài đặt chặn cuộc gọi"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Bạn muốn hủy kích hoạt tất cả cài đặt chặn cuộc gọi?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Tất cả các nhân viên hỗ trợ hiện đang bận. Vui lòng thử gọi lại sau."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Đang nghẽn mạng. Hãy liên hệ với nhà mạng di động để được trợ giúp."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Đã chuyển hướng cuộc gọi."</string>
@@ -787,4 +820,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Để sử dụng <xliff:g id="SUPP_SERVICE">%1$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 cho SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> đang bật. Bạn có thể thay đổi các 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_dialog_dismiss" msgid="5934541487903081652">"Bỏ qua"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Bật kết nối dữ liệu"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Tắt kết nối dữ liệu"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Đã cấp phép VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Đã cấp phép gọi điện video"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Đã cấp phép Gọi qua Wi-Fi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Đã cấp phép hiện diện/EAB"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Dữ liệu Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Bật DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Khởi động lại thiết bị?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Xem số quay số dịch vụ"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Trạng thái dịch vụ IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Trạng thái IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Đã đăng ký"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Chưa đăng ký"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Có sẵn"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Không có sẵn"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Đăng ký IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nThoại qua LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nThoại qua Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nGọi điện video: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nGiao diện UT: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Đang sử dụng"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Không có dịch vụ"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Chỉ cuộc gọi khẩn cấp"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Tín hiệu di động đang tắt"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Chuyển vùng"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Không chuyển vùng"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Không hoạt động"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Đang đổ chuông"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Đang gọi điện"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Đã ngắt kết nối"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Đang kết nối"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Đã kết nối"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Bị tạm ngưng"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Không xác định"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"byte"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Mã phụ hiện tại:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"Mã phụ của SIM dữ liệu mặc định:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Băng thông DL (kb/giây):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Băng thông UL (kb/giây):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Thông tin vị trí mạng di động (không dùng nữa):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Cấu hình kênh LTE thực:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Tốc độ làm mới thông tin mạng di động:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Toàn bộ thông tin về số đo mạng di động:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Dịch vụ dữ liệu:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Chuyển vùng:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Chuyển hướng cuộc gọi:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Số lần đặt lại PPP kể từ khi khởi động:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Mạng hiện tại:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Đã nhận dữ liệu:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Dịch vụ thoại:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Cường độ tín hiệu:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Trạng thái cuộc gọi thoại:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Đã gửi dữ liệu:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Tin nhắn đang đợi:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Số điện thoại:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Tên máy chủ Ping (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Kiểm tra máy khách HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Chạy kiểm tra ping"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Cập nhật"</string>
+    <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="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>
+    <string name="band_mode_set" msgid="6657819412803771421">"Đặt"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Không thành công"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Thành công"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Thông tin về máy tính bảng"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Thông tin điện thoại"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Thông tin cấp phép của nhà mạng"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Kích hoạt dịch vụ cấp phép của nhà mạng"</string>
 </resources>
diff --git a/res/values-zh-rCN/config.xml b/res/values-zh-rCN/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-zh-rCN/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 9f88ec1..d7a7329 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"私密号码"</string>
     <string name="payphone" msgid="7936735771836716941">"公用电话"</string>
     <string name="onHold" msgid="6132725550015899006">"保持"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g>信息"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"运营商信息"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI 码已启动"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"正在运行 USSD 代码..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI 码已取消"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"仅限 NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"首选网络模式:首选 WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"首选网络模式:仅限 GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"首选网络模式:LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"首选网络模式:GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"首选网络模式:CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"首选网络模式:LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"首选网络模式:通用"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"首选网络模式:LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"首选网络模式:LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"首选网络模式:LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"首选网络模式:TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"首选网络模式:LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"首选网络模式:仅限 NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"首选网络模式:NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"首选网络模式:NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"首选网络模式:NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"首选网络模式:NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"首选网络模式:NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"首选网络模式:NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"首选网络模式:NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"首选网络模式:NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"首选网络模式:NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"首选网络模式:NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"通话"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"网络"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"增强型 4G LTE 模式"</string>
@@ -251,13 +276,13 @@
     <string name="roaming" msgid="1576180772877858949">"漫游"</string>
     <string name="roaming_enable" msgid="6853685214521494819">"漫游时连接到移动数据网络服务"</string>
     <string name="roaming_disable" msgid="8856224638624592681">"漫游时连接到移动数据网络服务"</string>
-    <string name="roaming_reenable_message" msgid="1951802463885727915">"数据网络漫游已停用。点按即可启用。"</string>
+    <string name="roaming_reenable_message" msgid="1951802463885727915">"数据漫游已关闭。点按即可开启。"</string>
     <string name="roaming_enabled_message" msgid="9022249120750897">"可能需要支付漫游费。点按即可修改。"</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"移动网络连接中断"</string>
-    <string name="roaming_on_notification_title" msgid="7451473196411559173">"已开启数据网络漫游功能"</string>
+    <string name="roaming_on_notification_title" msgid="7451473196411559173">"已开启数据漫游功能"</string>
     <string name="roaming_warning" msgid="7855681468067171971">"这可能会产生高额费用。"</string>
     <string name="roaming_check_price_warning" msgid="8212484083990570215">"请与您的网络服务提供商联系以了解定价。"</string>
-    <string name="roaming_alert_title" msgid="5689615818220960940">"要允许移动数据网络漫游吗?"</string>
+    <string name="roaming_alert_title" msgid="5689615818220960940">"允许数据漫游?"</string>
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"SIM 卡功能受限"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"使用 <xliff:g id="PHONE_NUMBER">%2$s</xliff:g> 时,系统可能会屏蔽<xliff:g id="CARRIER_NAME">%1$s</xliff:g>通话和数据服务。"</string>
     <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"使用另一张 SIM 卡时,系统可能会屏蔽<xliff:g id="CARRIER_NAME">%1$s</xliff:g>通话和数据服务。"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"多类别"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"已启用多类别"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"已停用多类别"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (推荐)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE(推荐)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G(推荐)"</string>
     <string name="network_global" msgid="3289646154407617631">"通用"</string>
@@ -439,7 +465,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"正在删除固定拨号联系人..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"已删除固定拨号联系人。"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"固定拨号未更新,因为输入的 PIN 码有误。"</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"未能更新 FDN,因为号码超过 20 位数。"</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"未能更新 FDN,因为号码超过 <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> 位数。"</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"固定拨号未更新。PIN2 码有误,或电话号码遭拒。"</string>
     <string name="fdn_failed" msgid="216592346853420250">"固定拨号操作失败。"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"正在从SIM卡读取..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"无法拨打该电话。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是紧急呼救号码。"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"无法拨打该电话。请拨打紧急呼救电话。"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"无法使用紧急呼救功能"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"只有设备所有者才能输入 PIN/PUK 码。"</string>
     <string name="police_type_description" msgid="2819533883972081757">"警察局"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"救护车"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"火警"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"注意:漫游时无法使用 RTT 功能"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY 关闭"</item>
     <item msgid="1449091874731375214">"TTY 完整"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"服务"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"设置"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未设置&gt;"</string>
@@ -658,8 +692,8 @@
     <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_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>
+    <string name="mobile_data_status_roaming_turned_off_subtext" msgid="6840673347416227054">"数据漫游服务已关闭"</string>
+    <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"数据漫游服务已开启"</string>
     <string name="mobile_data_status_roaming_without_plan_subtext" msgid="6536671968072284677">"目前处于漫游状态,需要添加数据流量套餐"</string>
     <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"目前处于漫游状态,数据流量套餐已启用"</string>
     <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"无剩余移动数据流量"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"通话限制已停用"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"更改密码"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"更改通话限制密码"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"无法更改通话限制密码。"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"无法更改通话限制密码"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"密码不匹配"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"输入 4 位数密码"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"密码已更改"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"确认密码"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"输入密码"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"通话限制设置"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"要停用所有通话限制设置吗?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"网络繁忙,请稍后再次尝试致电。"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"网络拥挤,请联系您的移动运营商寻求协助。"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"已转移通话。"</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"已配置视频通话"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"已配置 WLAN 通话"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"已配置 EAB/Presence"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS 数据"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"启用 DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"移动无线装置电源"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 卡通讯录"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定拨号号码"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"查看服务拨号号码"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS 服务状态"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS 状态"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"已注册"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"未注册"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"可用"</string>
+    <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>\nLTE 语音通话:<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nWLAN 语音通话:<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_emergency" msgid="4763879891415016848">"只能拨打紧急呼救电话"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"关闭无线装置"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"漫游"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"未使用漫游服务"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"闲置"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"正在响铃"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"正在通话"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"已断开连接"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"正在连接"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"已连接"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"已暂停"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"未知"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"字节"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"当前 SubId:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"默认数据 SIM 卡的 SubId:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL 带宽 (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL 带宽 (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"移动网络位置信息(已弃用):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE 物理信道配置:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"移动网络信息刷新频率:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"所有移动网络测量信息:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"数据服务:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"漫游:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"来电转接:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"启动后重置 PPP 的次数:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"当前网络:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"已接收的数据量:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"语音服务:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"信号强度:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"语音通话状态:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"已发送的数据量:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"消息等待:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"电话号码:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"ping 主机名(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP 客户端测试:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"运行 ping 测试"</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_toggle_dns_check_label" msgid="1394078554927787350">"切换 DNS 检查"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"特定 OEM 的信息/设置"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"设置无线装置频道模式"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"正在加载频道列表…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"设置"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"失败"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"成功"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"平板电脑信息"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"手机信息"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"运营商配置信息"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"触发运营商配置"</string>
 </resources>
diff --git a/res/values-zh-rHK/config.xml b/res/values-zh-rHK/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-zh-rHK/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 97e9ca1..39a819e 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"私人號碼"</string>
     <string name="payphone" msgid="7936735771836716941">"公共電話"</string>
     <string name="onHold" msgid="6132725550015899006">"保留通話"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"「<xliff:g id="MMICARRIER">%s</xliff:g>」訊息"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"流動網絡供應商訊息"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI 碼開始執行"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"正在執行 USSD 碼..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI 碼已取消"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"僅限 NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"慣用網絡模式:偏好 WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"慣用網絡模式:僅限 GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"首選網絡模式:LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"首選網絡模式:GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"首選網絡模式:CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"首選網絡模式:LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"首選網絡模式:全球"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"首選網絡模式:LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"首選網絡模式:LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"首選網絡模式:LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"首選網絡模式:TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"首選網絡模式:LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"首選網絡模式:僅限 NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"首選網絡模式:NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"首選網絡模式:NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"首選網絡模式:NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"首選網絡模式:NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"首選網絡模式:NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"首選網絡模式:NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"首選網絡模式:NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"首選網絡模式:NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"首選網絡模式:NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"首選網絡模式:NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"通話"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"網絡"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"強化 4G LTE 模式"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"多類別資訊"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"已啟用多類別資訊"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"多類別資訊已停用"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (建議)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (建議)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (建議)"</string>
     <string name="network_global" msgid="3289646154407617631">"通用"</string>
@@ -439,7 +465,7 @@
     <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="fdn_invalid_number" msgid="155512764412225645">"號碼超過 20 位數,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="fdn_failed" msgid="216592346853420250">"FDN 操作失敗。"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"正在從 SIM 卡讀取..."</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"無法通話。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是緊急號碼。"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"無法通話。撥打緊急號碼。"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"無法撥打緊急電話"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"只有裝置擁有者才能輸入 PIN/PUK 代碼。"</string>
     <string name="police_type_description" msgid="2819533883972081757">"警局"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"救護車"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"火"</string>
@@ -557,6 +584,7 @@
     <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="no_rtt_when_roaming" msgid="5268008247378355389">"注意:漫遊時無法使用 RTT"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"關閉 TTY"</item>
     <item msgid="1449091874731375214">"TTY 完整模式"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"服務"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"設定"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未設定&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"已停用通話限制"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"變更密碼"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"變更通話限制密碼"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"無法變更通話限制密碼"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"無法變更通話限制密碼"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"密碼不相符"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"輸入 4 位數密碼"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"已變更密碼"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"確認密碼"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"輸入密碼"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"通話限制設定"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"要停用所有通話限制設定嗎?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"網絡忙碌中。請稍後再撥。"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"網絡壅塞。請通知您的流動網絡供應商提供協助。"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"通話已轉向。"</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"已佈建視像通話"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"已佈建 Wi-Fi 通話"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"已佈建 EAB/Presence"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS 數據"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"啟用 DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"流動無線電的電源"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 卡通訊錄"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定撥號"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"查看服務撥號"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS 服務狀態"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS 狀態"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"已註冊"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"未註冊"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"有空"</string>
+    <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語音 Wi-Fi:<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_emergency" msgid="4763879891415016848">"只可撥打緊急電話"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"收音機已關閉"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"漫遊"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"沒有使用漫遊"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"閒置"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"正在發出鈴聲"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"正在通話"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"已解除連接"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"正在連線"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"已連線"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"已停用"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"不明"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkt"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"位元組"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"客戶編號"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"目前的子 ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"預設數據 SIM 卡的子 ID:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"下載頻寬 (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"上載頻寬 (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"發射站位置資料 (已淘汰):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE 實體渠道設定:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"發射站資料重新整理頻率:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"所有發射站量度資料:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"數據服務:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"漫遊:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"來電轉駁:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"開機後重設 PPP 的次數:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"目前的網絡:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"收到的數據:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"語音服務:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"訊號強度:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"視像通話狀態:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"已傳送的資料:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"正在等待訊息:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"電話號碼:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"連線偵測主機名稱 (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP 用戶端測試:"</string>
+    <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_toggle_dns_check_label" msgid="1394078554927787350">"切換 DNS 檢查"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM 專用資訊/設定"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻段模式"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"正在載入頻段清單…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"失敗"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"成功"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"平板電腦資訊"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"手機資訊"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"流動網絡供應商佈建資料"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"觸發流動網絡供應商佈建程序"</string>
 </resources>
diff --git a/res/values-zh-rTW/config.xml b/res/values-zh-rTW/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-zh-rTW/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index f8c9720..d02250e 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"私人號碼"</string>
     <string name="payphone" msgid="7936735771836716941">"公用電話"</string>
     <string name="onHold" msgid="6132725550015899006">"通話保留"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"「<xliff:g id="MMICARRIER">%s</xliff:g>」的訊息"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"來自電信業者的訊息"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI 碼開始執行"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"正在執行 USSD 碼…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI 碼已取消"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"僅使用 NR"</item>
+    <item msgid="2935877729588775187">"NR/LTE"</item>
+    <item msgid="8967513231424970529">"NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"慣用網路模式:偏好 WCDMA"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"慣用網路模式:僅限 GSM"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"慣用網路模式:LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"慣用網路模式:GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"慣用網路模式:CDMA + LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"首選網路模式:LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"慣用網路模式:通用"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"慣用網路模式:LTE/WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"偏好網路模式:LTE/GSM/UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"偏好網路模式:LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"偏好網路模式:TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"偏好網路模式:LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"首選網路模式:僅使用 NR"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"首選網路模式:NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"首選網路模式:NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"首選網路模式:NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"首選網路模式:NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"首選網路模式:NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"首選網路模式:NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"首選網路模式:NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"首選網路模式:NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"首選網路模式:NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"首選網路模式:NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"通話"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"網路"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"加強型 4G LTE 模式"</string>
@@ -375,6 +400,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"多類別資訊"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"已啟用多類別資訊"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"已停用多類別資訊"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (建議選項)"</string>
     <string name="network_lte" msgid="7206879277095094280">"LTE (建議)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (建議)"</string>
     <string name="network_global" msgid="3289646154407617631">"通用"</string>
@@ -439,7 +465,7 @@
     <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="fdn_invalid_number" msgid="155512764412225645">"固定撥號的號碼超過 20 位數,因此無法更新。"</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">"未更新 FDN。可能是因為 PIN2 碼不正確或電話號碼遭拒。"</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN 操作失敗。"</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"正在從 SIM 卡讀取…"</string>
@@ -530,6 +556,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"無法通話。<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> 不是緊急號碼。"</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"無法通話。只能撥打緊急號碼。"</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"無法撥打緊急電話"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"只有裝置的擁有者才能輸入 PIN/PUK 碼。"</string>
     <string name="police_type_description" msgid="2819533883972081757">"警察局"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"救護車"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"火警"</string>
@@ -557,6 +584,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"即時文字訊息 (RTT) 通話"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"允許在進行語音通話時傳送訊息"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"即時文字訊息功能可為以下類型的來電者提供協助:聽障人士、聽力受損者、語言障礙者,或需要語音服務以外的使用者。&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;瞭解詳情&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - 系統會以訊息轉錄的方式儲存即時文字訊息通話內容\n       &lt;br&gt; - 視訊通話不支援即時文字訊息功能"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"注意:漫遊時無法使用即時文字訊息功能"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"關閉 TTY"</item>
     <item msgid="1449091874731375214">"TTY 完整功能"</item>
@@ -609,6 +637,12 @@
     <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="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="voicemail_provider" msgid="4158806657253745294">"服務"</string>
     <string name="voicemail_settings" msgid="4451045613238972776">"設定"</string>
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;未設定&gt;"</string>
@@ -748,7 +782,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"已停用通話限制設定"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"變更密碼"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"變更通話限制密碼"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"無法變更通話限制密碼。"</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"無法變更通話限制密碼"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"密碼不符"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"輸入 4 位數密碼"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"密碼已變更"</string>
@@ -757,7 +791,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"確認密碼"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"輸入密碼"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"通話限制設定"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"要停用所有通話限制設定嗎?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"目前忙線中,請稍後再撥號。"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"目前網路壅塞,請與你的行動電信業者聯絡以尋求協助。"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"通話已自動轉接。"</string>
@@ -787,4 +820,91 @@
     <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="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>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"已建立視訊通話"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"已建立 Wi-Fi 通話"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/顯示狀態:已啟用"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS 資料"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"啟用 DSDS"</string>
+    <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="radio_info_radio_power" msgid="8805595022160471587">"行動無線電電源"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 通訊錄"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定撥號"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"查看服務撥號號碼"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS 服務狀態"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS 狀態"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"已註冊"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"未註冊"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"可供使用"</string>
+    <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>\nVoLTE:<xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoWi-Fi:<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_emergency" msgid="4763879891415016848">"僅可撥打緊急電話"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"關閉無線電"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"漫遊"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"未使用漫遊服務"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"閒置"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"鈴響中"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"通話中"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"已中斷連線"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"連線中"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"已連線"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"待命"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"不明"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"pkts"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"位元組"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"客戶 ID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"目前的子 ID:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"預設資料 SIM 卡的子 ID:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"下行頻寬 (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"上行頻寬 (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"行動網路位置資訊 (已不適用):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE 實體通道設定:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"行動網路資訊重新整理頻率:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"所有行動網路測量資訊:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"數據服務:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"漫遊:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"來電轉接:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"啟動後重設 PPP 的次數:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"目前的網路:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"已接收的數據:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"語音服務:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"訊號強度:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"語音通話狀態:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"已傳送的數據:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"留言待取:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"電話號碼:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"連線偵測 (ping) 主機名稱 (www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP 用戶端測試:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"執行連線偵測 (ping) 測試"</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_toggle_dns_check_label" msgid="1394078554927787350">"切換 DNS 檢查"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"原始設備製造商 (OEM) 專用資訊/設定"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻帶模式"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"正在載入頻帶清單…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"失敗"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"成功"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"平板電腦資訊"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"手機資訊"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"電信業者佈建資訊"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"觸發電信業者佈建程序"</string>
 </resources>
diff --git a/res/values-zu/config.xml b/res/values-zu/config.xml
deleted file mode 100644
index 2c8590f..0000000
--- a/res/values-zu/config.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2009 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.
- -->
-
-<!--  NOTE: Many variables that used to be in this file have been migrated to
-     CarrierConfigManager.java. Please consider whether new variables belong
-     there before adding to this file. Variables here should be more closely
-     related to devices than to networks.  -->
-
-<!--  Phone app resources that may need to be customized
-     for different hardware or product builds.  -->
-
-<resources xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="system_visual_voicemail_client" msgid="8236140562734796837"></string>
-</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 7655309..77096f3 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -25,6 +25,8 @@
     <string name="private_num" msgid="4487990167889159992">"Inombolo eyimfihlo"</string>
     <string name="payphone" msgid="7936735771836716941">"Ucingo olufakwa imali"</string>
     <string name="onHold" msgid="6132725550015899006">"Ibambile"</string>
+    <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Umlayezo"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Umlayezo wenkampani yenethiwekhi"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"Ikhodi ye-MMI iqalile"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Ikhodi ye-USSD iyasebenza..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Ikhodi ye-MMI ikhanseliwe"</string>
@@ -209,6 +211,17 @@
     <item msgid="6147699530135006312">"I-LTE/TDSCDMA/GSM/WCDMA"</item>
     <item msgid="8826479449402151312">"I-TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
     <item msgid="6284311629324843506">"I-LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA"</item>
+    <item msgid="4738087170533378966">"I-NR kuphela"</item>
+    <item msgid="2935877729588775187">"I-NR/LTE"</item>
+    <item msgid="8967513231424970529">"I-NR/LTE/CDMA/EvDo"</item>
+    <item msgid="1542643426479755015">"I-NR/LTE/GSM/WCDMA"</item>
+    <item msgid="5778162260258129841">"I-NR/LTE/CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="8088614845214545367">"I-NR/LTE/WCDMA"</item>
+    <item msgid="6517428040626326776">"I-NR/LTE/TDSCDMA"</item>
+    <item msgid="5294150161567170165">"I-NR/LTE/TDSCDMA/GSM"</item>
+    <item msgid="4130965694947056705">"I-NR/LTE/TDSCDMA/WCDMA"</item>
+    <item msgid="3869566732842046032">"I-NR/LTE/TDSCDMA/GSM/WCDMA"</item>
+    <item msgid="3942770927563146543">"I-NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</item>
   </string-array>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Imodi yenethiwekhi ekhethwayo: i-WCDMA ekhethwayo"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Imodi yenethiwekhi ekhethwayo: i-GSM kuphela"</string>
@@ -222,6 +235,7 @@
     <string name="preferred_network_mode_lte_summary" msgid="8050539466545797149">"Imodi yenethiwekhi ekhethwayo: i-LTE"</string>
     <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="2217794334331254936">"Imodi yenethiwekhi ekhethwayo: i-GSM/WCDMA/LTE"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Imodi yenethiwekhi ekhethwayo: i-CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Imodi yenethiwekhi encanyelwayo: I-LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Imodi yenethiwekhi ekhethwayo: Umhlaba jikelele"</string>
     <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Imodi yenethiwekhi ekhethwayo: i-LTE / WCDMA"</string>
     <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Imodi yenethiwekhi encanyelwayo: i-LTE / GSM / UMTS"</string>
@@ -236,6 +250,17 @@
     <string name="preferred_network_mode_lte_tdscdma_gsm_wcdma_summary" msgid="2993923113350341106">"Imodi yenethiwekhi ekhethwayo: LTE/TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Imodi yenethiwekhi ekhethwayo: i-CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Imodi yenethiwekhi ekhethwayo: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Imodi yenethiwekhi encanyelwayo: I-NR kuphela"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Imodi yenethiwekhi encanyelwayo: I-NR / LTE"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/CDMA/EvDo"</string>
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_wcdma_summary" msgid="8696016062943591864">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary" msgid="1236182344680726751">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/TDSCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary" msgid="8384454155773415993">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary" msgid="5912457779733343522">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/TDSCDMA/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary" msgid="6769797110309412576">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/TDSCDMA/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="4260661428277578573">"Imodi yenethiwekhi encanyelwayo: I-NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="call_category" msgid="4394703838833058138">"Iyashaya"</string>
     <string name="network_operator_category" msgid="4992217193732304680">"Inethiwekhi"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Imodi ye-4G LTE ethuthukisiwe"</string>
@@ -377,6 +402,7 @@
     <string name="enable_disable_multi_category" msgid="5958248155437940625">"Izigaba-ningi"</string>
     <string name="multi_category_enable" msgid="4531915767817483960">"Izigaba-ningi zivunyelwe"</string>
     <string name="multi_category_disable" msgid="6325934413701238104">"Izigaba-ningi zivimbelwe"</string>
+    <string name="network_recommended" msgid="3444321100580250926">" (kunconyiwe)"</string>
     <string name="network_lte" msgid="7206879277095094280">"I-LTE (inconyiwe)"</string>
     <string name="network_4G" msgid="6800527815504223913">"I-4G (inconyiwe)"</string>
     <string name="network_global" msgid="3289646154407617631">"Emhlabeni jikelele"</string>
@@ -441,7 +467,7 @@
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Isusa othintana naye wokudayela okungaguquki..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Othintana naye wokudayela okungaguquki ususiwe"</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"I-FDN ayivuselelwanga ngoba uthayiphe i-PIN engalungile."</string>
-    <string name="fdn_invalid_number" msgid="155512764412225645">"I-FDN ayizange ibuyekezwe ngoba inombolo yeza amadijithi angu-20."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"I-FDN ayizange ibuyekezwe ngoba inombolo idlula amadijithi angu-<xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g>."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"I-FDN ayibuyekeziwe. I-PIN2 kade ingalungile, noma inombolo yefoni yenqatshelwe."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Umsebenzi we-FDN wehlulekile."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Ifunda ekhadini le-SIM..."</string>
@@ -532,6 +558,7 @@
     <string name="dial_emergency_error" msgid="825822413209026039">"Ayikwazi ukushaya. I-<xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> akuyona inombolo yesimo esiphuthumayo."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Ayikwazi ukushaya. Shayela inombolo yesimo esiphuthumayo."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Ukushaya okuphuthumayo akutholakali"</string>
+    <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Umnikazi wedivayisi kuphela ongafaka amakhodi EPHINIKHODI/I-PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Amaphoyisa"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"I-Ambulensi"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Umlilo"</string>
@@ -559,6 +586,7 @@
     <string name="rtt_mode_title" msgid="3075948111362818043">"Ikholi yombhalo wesikhathi sangempela (i-RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Vumela ukuthumela imilayezo ngaphakathi kwekholi yezwi"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"I-RTT isiza abafonayo abangezwa ezindlebeni, abenzwa kanzima, abanokukhubazeka kwenkulumo, noma udinga ngaphezulu kwezwi kuphela.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Funda kabanzi&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Amakholi e-RTT alondolozwa njengokubhala ngokuloba ngomlayezo\n       &lt;br&gt; - I-RTT ayitholakali kumakholi evidiyo"</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Qaphela: I-RTT ayitholakali ngenkathi uzula"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"I-TTY Ivaliwe"</item>
     <item msgid="1449091874731375214">"I-TTY Igcwele"</item>
@@ -611,6 +639,12 @@
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yebo"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Cha"</string>
     <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>
     <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>
@@ -750,7 +784,7 @@
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Ukuvimbela ikholi kuyekiswe ukusebenza"</string>
     <string name="call_barring_change_pwd" msgid="1730691950940338387">"Shintsha iphasiwedi"</string>
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Shintsha iphasiwedi yokuvimbela"</string>
-    <string name="call_barring_change_pwd_description_disabled" msgid="6502248429882123711">"Ayikwazi ukushintsha iphasiwedi yokuvimbela."</string>
+    <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Ayikwazi ukushintsha iphasiwedi yokuvimbela ikholi"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Amaphasiwedi awafani"</string>
     <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Faka iphaiswedi enezinombolo ezingu-4"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Iphasiwedi ishintshiwe"</string>
@@ -759,7 +793,6 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Qinisekisa iphasiwedi"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Faka iphasiwedi"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Izilungiselelo zokuvimbela ikholi"</string>
-    <string name="call_barring_deactivate_all_no_password" msgid="1722810133682258452">"Yeka ukusebenzisa zonke izilungiselelo zokuvimbela?"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Inethiwekhi imatasa. Sicela uzame ikholi yakho futhi ngemuva kwesikhathi."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Inethiwekhi iminyene. Xhumana ne-opharetha yakho yeselula ukuze uthole usizo."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Ikholi yehlisiwe."</string>
@@ -789,4 +822,91 @@
     <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>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Ukuze usebenzise i-<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, qiniseka ukuthi idatha yeselula kanye nokuzula kuvuliwe ku-SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Ungashintsha lokhu kuzilungiselelo zenethiwekhi yeselula."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Chitha"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Vumela uxhumano lwedatha"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Khubaza uxhumano lwedatha"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Okunikeziwe kwe-VoLTE"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Kugunyazwe ukushaya kwevidiyo"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Kugunyazwe ukushaya kwe-Wifi"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"I-EAB/Ukuba khona kunikezelwe"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Idatha ye-Cbrs"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Nika amandla i-DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Qalisa kabusha idivayisi?"</string>
+    <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="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>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Buka Izinombolo Zokudayela Isevisi"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Isimo sesevisi ye-IMS"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Isimo se-IMS"</string>
+    <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Kubhalisiwe"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Akubhalisiwe"</string>
+    <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Iyatholakala"</string>
+    <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Akutholakali"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"Ukubhalisa kwe-IMS: <xliff:g id="STATUS">%1$s</xliff:g>\nI-Voice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nI-Voice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nUkushaya kwevidiyo: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT isixhumi esibonakalayo: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"Kwisevisi"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Ayikho isevisi"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Amakholi aphuthumayo kuphela"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Irediyo ivaliwe"</string>
+    <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Iyazulazula"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Ayizulazuli"</string>
+    <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Okungenzi lutho"</string>
+    <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Iyakhala"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Ikholi iyaqhubeka"</string>
+    <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Inqamukile"</string>
+    <string name="radioInfo_data_connecting" msgid="925092271092152472">"Iyaxhumeka"</string>
+    <string name="radioInfo_data_connected" msgid="7637335645634239508">"Ixhunyiwe"</string>
+    <string name="radioInfo_data_suspended" msgid="8695262782642002785">"Kumiswe okwesikhashana"</string>
+    <string name="radioInfo_unknown" msgid="5401423738500672850">"Akwaziwa"</string>
+    <string name="radioInfo_display_packets" msgid="6794302192441084157">"amaphakethe"</string>
+    <string name="radioInfo_display_bytes" msgid="7701006329222413797">"amabhaythi"</string>
+    <string name="radioInfo_display_dbm" msgid="7491944975710865703">"dBm"</string>
+    <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
+    <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
+    <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"I-subId yamanje:"</string>
+    <string name="radio_info_dds" msgid="1122593144425697126">"I-SubId ye-SIM yedatha yokuzenzakalela:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Umkhawulokudonsa we-DL (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Umkhawulokudonsa we-UL (kbps):"</string>
+    <string name="radio_info_signal_location_label" msgid="6188435197086550049">"Ulwazi lwendawo lweseli (kwehlisiwe):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"Ukulungiselelwa okuphathekayo kwesiteshi se-LTE:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Isilinganiso sokuqalisa kabusha solwazi lweseli:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"Ulwazi lwesilinganiso seseli:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Isevisi yedatha:"</string>
+    <string name="radio_info_roaming_label" msgid="6636932886446857120">"Ukuzulazula:"</string>
+    <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Ukuqondisa kabusha ikholi:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Inani lokuhlelwa kabusha kwe-PPP ngenkathi igcina ukuqala"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Inethiwekhi yamanje:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Idatha Etholiwe:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Isevisi yezwi:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Amandla esiginali:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Isimo sekholi yezwi:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Idatha ithunyelwe:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Umlayezo ulindile:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Inombolo yefoni:"</string>
+    <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="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>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Qhweba i-Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"Ukuhlola ikhasimende ye-HTTP:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Yenza ukuhlola kokuntwiza"</string>
+    <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Buyekeza"</string>
+    <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="band_mode_title" msgid="7988822920724576842">"Isetha imodi yebhendi yerediyo"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Ilayisha uhlu lwebhendi…"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Setha"</string>
+    <string name="band_mode_failed" msgid="1707488541847192924">"Akuphumelelanga"</string>
+    <string name="band_mode_succeeded" msgid="2230018000534761063">"Kuphumelele"</string>
+    <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Ulwazi lethebhulethi"</string>
+    <string name="phone_info_label" product="default" msgid="1784175881556791433">"Ulwazi lwefoni"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Ulwazi lokuhlinzeka lenkampani yenethiwekhi"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Cupha ukunikezwa kwenkampani yenethiwekhi"</string>
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index b697ed8..2db3aa0 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -44,7 +44,7 @@
     <!-- Dark variant of the action bar color.  Ensure this stays in sync with Dialer version. -->
     <color name="actionbar_background_color_dark">#ffffff</color>
     <!-- Color for icons in the actionbar. Ensure this stays in sync with Dialer version. -->
-    <color name="actionbar_icon_color">#ffffff</color>
+    <color name="actionbar_icon_color">#5f6368</color>
 
     <!-- Color for the setting text. -->
     <color name="setting_primary_color">#333333</color>
diff --git a/res/values/config.xml b/res/values/config.xml
index 8bc1919..7e71068 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -209,7 +209,7 @@
 
     <!-- The package to handle visual voicemail if the default dialer or the package
     CarrierConfigManager.KEY_CARRIER_VVM_PACKAGE_NAME_STRING does not handle it -->
-    <string name="system_visual_voicemail_client"></string>
+    <string name="system_visual_voicemail_client" translatable="false"/>
 
     <!-- Flag to enable VVM3 visual voicemail. VVM3 is used by Verizon Wireless. -->
     <bool name="vvm3_enabled">false</bool>
@@ -235,6 +235,12 @@
     <!-- Flag indicating whether the device supports RTT (real-time text) -->
     <bool name="config_support_rtt">false</bool>
 
+    <!-- String indicating the package name of the device ImsService implementation for MMTEL. -->
+    <string name="config_ims_mmtel_package" translatable="false"/>
+
+    <!-- String indicating the package name of the device ImsService implementation for RCS. -->
+    <string name="config_ims_rcs_package" translatable="false"/>
+
     <!-- The package name for the platform number verification supplier app. -->
     <string name="platform_number_verification_package" translatable="false"></string>
 
@@ -251,6 +257,24 @@
          audio stream which the remote party will be able to hear. -->
     <bool name="config_support_telephony_audio_device">false</bool>
 
+    <!-- Whether the device supports dialing emergency RTT calls when there's no SIM card installed
+    -->
+    <bool name="config_support_simless_emergency_rtt">false</bool>
+
+    <!-- Array of countries that support sim-less emergency RTT calls. Values should be
+         ISO3166 country codes in lowercase. -->
+    <string-array name="config_simless_emergency_rtt_supported_countries" translatable="false">
+        <item>us</item>
+    </string-array>
+
+    <string-array translatable="false" name="config_volte_provision_error_on_publish_response">
+        <item>403 not authorized for presence</item>
+    </string-array>
+
+    <string-array translatable="false" name="config_rcs_provision_error_on_publish_response">
+        <item>404 not found</item>
+    </string-array>
+
     <!-- The country list that shortcut view can be enabled. -->
     <string-array name="config_countries_to_enable_shortcut_view" translatable="false">
     </string-array>
@@ -261,4 +285,18 @@
          slot. If true, telephony will always try to place the emergency call on the subscription
          associated with default data first, instead of using the default voice configuration.-->
     <bool name="config_gnss_supl_requires_default_data_for_emergency">false</bool>
+
+    <!-- Whether a device can have 5G connection in DSDS mode. It should be true by default, but
+         in some devices per modem limitation 5G network can't be connected if two or more SIMs
+         are active simultaneously. In that case, this value should be false. -->
+    <bool name="config_5g_connection_in_dsds_mode">true</bool>
+
+    <!-- Vibrator pattern to be used as the default for notifications
+         that specify DEFAULT_VIBRATE. -->
+    <integer-array name="config_defaultNotificationVibePattern">
+        <item>0</item>
+        <item>350</item>
+        <item>250</item>
+        <item>350</item>
+    </integer-array>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f365139..1e44c72 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -42,6 +42,10 @@
     <string name="payphone">Payphone</string>
     <!-- In-call screen: status label for a call that's on hold -->
     <string name="onHold">On hold</string>
+    <!-- Title for carrier MMI message -->
+    <string name="carrier_mmi_msg_title"><xliff:g id="mmicarrier" example="T-Mobile">%s</xliff:g> Message</string>
+    <!-- Default title for carrier MMI message -->
+    <string name="default_carrier_mmi_msg_title">Carrier Message</string>
     <!-- Possible error messages with outgoing calls --><skip/>
     <string name="mmiStarted">MMI code started</string>
     <!-- Dialog label when a USSD code starts running -->
@@ -434,6 +438,17 @@
         <item>LTE/TDSCDMA/GSM/WCDMA</item>
         <item>TDSCDMA/CDMA/EVDO/GSM/WCDMA </item>
         <item>LTE/TDSCDMA/CDMA/EVDO/GSM/WCDMA</item>
+        <item>NR only</item>
+        <item>NR/LTE</item>
+        <item>NR/LTE/CDMA/EvDo</item>
+        <item>NR/LTE/GSM/WCDMA</item>
+        <item>NR/LTE/CDMA/EvDo/GSM/WCDMA</item>
+        <item>NR/LTE/WCDMA</item>
+        <item>NR/LTE/TDSCDMA</item>
+        <item>NR/LTE/TDSCDMA/GSM</item>
+        <item>NR/LTE/TDSCDMA/WCDMA</item>
+        <item>NR/LTE/TDSCDMA/GSM/WCDMA</item>
+        <item>NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA</item>
     </string-array>
     <!-- The preferred network modes RIL constants, in order of the modes above,
          e.g. the choice "GSM/WCDMA preferred" has the corresponding value "0" -->
@@ -461,6 +476,17 @@
         <item>"20"</item>
         <item>"21"</item>
         <item>"22"</item>
+        <item>"23"</item>
+        <item>"24"</item>
+        <item>"25"</item>
+        <item>"26"</item>
+        <item>"27"</item>
+        <item>"28"</item>
+        <item>"29"</item>
+        <item>"30"</item>
+        <item>"31"</item>
+        <item>"32"</item>
+        <item>"33"</item>
     </string-array>
 
     <!-- The following strings are summaries for preferred network modes in Mobile network settings,
@@ -489,6 +515,8 @@
     <string name="preferred_network_mode_lte_gsm_wcdma_summary">Preferred network mode: GSM/WCDMA/LTE</string>
     <!-- CDMA+LTE/EVDO -->
     <string name="preferred_network_mode_lte_cdma_evdo_summary">Preferred network mode: CDMA+LTE/EVDO</string>
+    <!-- LTE/CDMA/EvDo/GSM/WCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary">Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA</string>
     <!-- Global -->
     <string name="preferred_network_mode_global_summary">Preferred network mode: Global</string>
     <!-- LTE / WCDMA -->
@@ -517,6 +545,28 @@
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary">Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA</string>
     <!-- LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA -->
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary">Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA</string>
+    <!-- NR only [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_only_summary">Preferred network mode: NR only</string>
+    <!-- NR / LTE [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_summary">Preferred network mode: NR / LTE</string>
+    <!-- NR/LTE/CDMA/EvDo [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_summary">Preferred network mode: NR/LTE/CDMA/EvDo</string>
+    <!-- NR/LTE/GSM/WCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary">Preferred network mode: NR/LTE/GSM/WCDMA</string>
+    <!-- NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary">Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA</string>
+    <!-- NR/LTE/WCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_wcdma_summary">Preferred network mode: NR/LTE/WCDMA</string>
+    <!-- NR/LTE/TDSCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_tdscdma_summary">Preferred network mode: NR/LTE/TDSCDMA</string>
+    <!-- NR/LTE/TDSCDMA/GSM [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_summary">Preferred network mode: NR/LTE/TDSCDMA/GSM</string>
+    <!-- NR/LTE/TDSCDMA/WCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_tdscdma_wcdma_summary">Preferred network mode: NR/LTE/TDSCDMA/WCDMA</string>
+    <!-- NR/LTE/TDSCDMA/GSM/WCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary">Preferred network mode: NR/LTE/TDSCDMA/GSM/WCDMA</string>
+    <!-- NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA [CHAR LIMIT=NONE] -->
+    <string name="preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary">Preferred network mode: NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA</string>
 
     <!-- Mobile network settings screen, name for call settings category -->
     <string name="call_category">Calling</string>
@@ -753,6 +803,10 @@
     <string name="multi_category_enable">Multi-category enabled</string>
     <string name="multi_category_disable">Multi-category disabled</string>
 
+    <string name="network_recommended">\u0020(recommended)</string>
+    <string name="network_5G" translatable="false">5G</string>
+    <string name="network_lte_pure" translatable="false">LTE</string>
+    <string name="network_4G_pure" translatable="false">4G</string>
     <string name="network_lte">LTE (recommended)</string>
     <string name="network_4G">4G (recommended)</string>
     <string name="network_3G" translatable="false">3G</string>
@@ -973,7 +1027,7 @@
     <!-- FDN settings: error message displayed in a popup (toast) -->
     <string name="pin2_invalid">FDN wasn\'t updated because you typed an incorrect PIN.</string>
     <!-- FDN settings: error message displayed in a popup (toast) -->
-    <string name="fdn_invalid_number">FDN wasn\'t updated because the number exceeds 20 digits.</string>
+    <string name="fdn_invalid_number">FDN wasn\'t updated because the number exceeds <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digits.</string>
     <!-- FDN settings: error message displayed in a popup (toast), when the entered
          FDN number was inappropriate, OR, PIN2 the user entered was incorrect.
          Because of API restriction, there's no way to determine which is the exact
@@ -1192,6 +1246,9 @@
          emergency calling is not currently available. -->
     <string name="dial_emergency_calling_not_available">Emergency calling not available</string>
 
+    <!-- Only handle pin entry when phone user is system-->
+    <string name="pin_puk_system_user_only">Only the owner of the device can enter PIN/PUK codes.</string>
+
     <!-- Text for description of police calling type -->
     <string name="police_type_description">Police</string>
     <!-- Text for description of ambulance calling type -->
@@ -1263,6 +1320,8 @@
        &lt;br>&lt;br> - RTT calls are saved as a message transcript
        &lt;br> - RTT is not available for video calls</string>
 
+    <string name="no_rtt_when_roaming">Note: RTT is not available while roaming</string>
+
     <!-- Service option entries.  -->
     <string-array name="tty_mode_entries">
         <item>TTY Off</item>
@@ -1388,6 +1447,17 @@
     <string name="alert_dialog_no">No</string>
     <!-- ECM: ECM exit dialog choice -->
     <string name="alert_dialog_dismiss">Dismiss</string>
+    <!-- ECM: Notification body wihout data restriction hint -->
+    <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint">The phone is in emergency callback mode</string>
+    <!-- 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">
+        <!-- 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>
+        <!-- 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>
 
     <!-- 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. -->
@@ -1767,7 +1837,7 @@
     <!-- Call barring settings screen, change password -->
     <string name="call_barring_change_pwd_description">Change call barring password</string>
     <!-- Call barring settings screen, not possible to change call barring password -->
-    <string name="call_barring_change_pwd_description_disabled">Cannot change call barring password.</string>
+    <string name="call_barring_change_pwd_description_disabled">Cannot change call barring password</string>
     <!-- Call barring settings screen, change password -->
     <string name="call_barring_pwd_not_match">Passwords do not match</string>
     <!-- Call barring settings screen, change password -->
@@ -1784,8 +1854,6 @@
     <string name="messageCallBarring">Enter password</string>
     <!-- Call barring settings screen, section heading -->
     <string name="call_barring_settings">Call barring settings</string>
-    <!-- Call barring settings screen, deactivate all call barring settings -->
-    <string name="call_barring_deactivate_all_no_password">Deactivate all call barring settings?</string>
     <!-- In-call screen: error message shown when the user attempts to place a call, but the network
          does not have enough resources (e.g. it is busy) and the call cannot be placed. -->
     <string name="callFailed_NetworkBusy">Network is busy.  Please try your call again later.</string>
@@ -1881,4 +1949,209 @@
     <string name="supp_service_over_ut_precautions_roaming_dual_sim">To use <xliff:g id="supp service">%1$s</xliff:g>, make sure mobile data and data roaming are turned on for SIM <xliff:g id="sim number">%2$d</xliff:g>. You can change these in mobile network settings.</string>
     <!-- supplementary services over ut precaution exit dialog choice -->
     <string name="supp_service_over_ut_precautions_dialog_dismiss">Dismiss</string>
+
+    <!-- Data Connection Enable. Only shown in diagnostic screen, so precise translation is not needed. -->
+    <string name="radio_info_data_connection_enable">Enable Data Connection</string>
+    <!-- Data Connection Disable. Only shown in diagnostic screen, so precise translation is not needed. -->
+    <string name="radio_info_data_connection_disable">Disable Data Connection</string>
+
+    <!-- VoLTE provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
+    <string name="volte_provisioned_switch_string">VoLTE Provisioned</string>
+
+    <!-- Video calling provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
+    <string name="vt_provisioned_switch_string">Video Calling Provisioned</string>
+
+    <!-- Wifi Calling provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
+    <string name="wfc_provisioned_switch_string">Wifi Calling Provisioned</string>
+
+    <!-- EAB provisioning flag on. Only shown in diagnostic screen, so precise translation is not needed. -->
+    <string name="eab_provisioned_switch_string">EAB/Presence Provisioned</string>
+
+    <!-- Cbrs enable disable flag. Only shown in diagnostic screen, so precise translation is not needed -->
+    <string name="cbrs_data_switch_string">Cbrs Data</string>
+
+    <!-- Dsds enable/disable flag. Only shown in diagnostic screen, so precise translation is not needed, [CHAR LIMIT=none] -->
+    <string name="dsds_switch_string">Enable DSDS</string>
+
+    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
+    <string name="dsds_dialog_title">Restart Device?</string>
+
+    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
+    <string name="dsds_dialog_message">You need to restart your device to change this setting.</string>
+
+    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
+    <string name="dsds_dialog_confirm">Restart</string>
+
+    <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
+    <string name="dsds_dialog_cancel">Cancel</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>
+
+    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_menu_viewADN">View SIM Address Book</string>
+    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_menu_viewFDN">View Fixed Dialing Numbers</string>
+    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string>
+    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_menu_getIMS">IMS Service Status</string>
+
+    <!-- Phone Info screen. IMS Registration Title.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ims_reg_status_title">IMS Status</string>
+
+    <!-- Phone Info screen. IMS Status - Registered.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ims_reg_status_registered">Registered</string>
+    <!-- Phone Info screen. Ims Status - Unregistered.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ims_reg_status_not_registered">Not Registered</string>
+
+    <!-- Phone Info screen. Ims Feature Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ims_feature_status_available">Available</string>
+    <!-- Phone Info screen. Ims Feature status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ims_feature_status_unavailable">Unavailable</string>
+
+    <!-- Phone Info screen. IMS Registration.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ims_reg_status">IMS Registration: <xliff:g id="status" example="registered">%1$s</xliff:g>\u000AVoice over LTE: <xliff:g id="availability" example="available">%2$s</xliff:g>\u000AVoice over WiFi: <xliff:g id="availability" example="available">%3$s</xliff:g>\u000AVideo Calling: <xliff:g id="availability" example="available">%4$s</xliff:g>\u000AUT Interface: <xliff:g id="availability" example="available">%5$s</xliff:g></string>
+
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_service_in">In Service</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_service_out">Out of Service</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_service_emergency">Emergency Calls Only</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_service_off">Radio Off</string>
+
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_roaming_in">Roaming</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_roaming_not">Not Roaming</string>
+
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_phone_idle">Idle</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_phone_ringing">Ringing</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_phone_offhook">Call in Progress</string>
+
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_data_disconnected">Disconnected</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_data_connecting">Connecting</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_data_connected">Connected</string>
+    <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_data_suspended">Suspended</string>
+
+    <!-- Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_unknown">Unknown</string>
+    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_display_packets">pkts</string>
+    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_display_bytes">bytes</string>
+    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_display_dbm">dBm</string>
+    <!-- Phone Info screen. Units shown after a value.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_display_asu">asu</string>
+    <!-- Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_lac">LAC</string>
+    <!-- Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radioInfo_cid">CID</string>
+
+
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_subid">Current subId:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_dds">SubId of default data SIM:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_dl_kbps">DL Bandwidth (kbps):</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ul_kbps">UL Bandwidth (kbps):</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_signal_location_label">Cell Location Info (deprecated):</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_phy_chan_config">LTE Physical Channel Configuration:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_cell_info_refresh_rate">Cell Info Refresh Rate:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_cellinfo_label">All Cell Measurement Info:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_gprs_service_label">Data Service:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_roaming_label">Roaming:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_imei_label">IMEI:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, DO NOT TRANSLATE. -->
+    <string name="radio_info_imsi_label">IMSI:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_call_redirect_label">Call Redirect:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ppp_resets_label">Number of PPP Reset Since Boot:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_current_network_label">Current Network:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ppp_received_label">Data Received:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_gsm_service_label">Voice Service:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_signal_strength_label">Signal Strength:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_call_status_label">Voice Call Status:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ppp_sent_label">Data Sent:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_message_waiting_label">Message Waiting:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_phone_number_label">Phone Number:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_band_mode_label">Select Radio Band</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_voice_network_type_label">Voice 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_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="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>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ping_hostname_v4">Ping Hostname(www.google.com) IPv4:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_ping_hostname_v6">Ping Hostname(www.google.com) IPv6:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_http_client_test">HTTP Client Test:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="ping_test_label">Run Ping Test</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_smsc_label">SMSC:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_smsc_update_label">Update</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_smsc_refresh_label">Refresh</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_toggle_dns_check_label">Toggle DNS Check</string>
+    <!-- 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>
+
+    <!-- Band Mode Selection -->
+    <!-- Band mode screen.  Title of activity. -->
+    <string name="band_mode_title">Set Radio Band Mode</string>
+    <!-- Band mode screen.  Loading message. -->
+    <string name="band_mode_loading">Loading Band List\u2026</string>
+    <!-- Band mode screen. Button caption to set the bandmode. -->
+    <string name="band_mode_set">Set</string>
+    <!-- Band mode screen. Status message when unsuccessful. -->
+    <string name="band_mode_failed">Unsuccessful</string>
+    <!-- Band mode screen. Statusm essage when successful. -->
+    <string name="band_mode_succeeded">Successful</string>
+
+    <!-- The title of the activity to see phone info -->
+    <string name="phone_info_label" product="tablet">Tablet info</string>
+    <!-- The title of the activity to see phone info -->
+    <string name="phone_info_label" product="default">Phone info</string>
+
+    <!-- Carrier Provisioning Info [CHAR LIMIT=NONE] -->
+    <string name="carrier_provisioning">Carrier Provisioning Info</string>
+    <!-- Trigger Carrier Provisioning [CHAR LIMIT=NONE] -->
+    <string name="trigger_carrier_provisioning">Trigger Carrier Provisioning</string>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index c791968..8218a84 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -45,6 +45,23 @@
         <item name="android:layout_height">wrap_content</item>
     </style>
 
+    <style name="RadioInfo_entry_layout">
+        <item name="android:orientation">horizontal</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="info_value">
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:textAppearance">@style/TextAppearance.info_value</item>
+    </style>
+
+    <style name="form_value">
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_width">match_parent</item>
+    </style>
+
     <style name="TextAppearance" parent="android:TextAppearance">
     </style>
 
@@ -53,6 +70,11 @@
         <item name="android:textStyle">bold</item>
     </style>
 
+    <style name="TextAppearance.info_value">
+        <item name="android:textSize">14sp</item>
+        <item name="android:textStyle">normal</item>
+    </style>
+
     <!-- Preference Style for the phone number preferences -->
     <style name="EditPhoneNumberPreference">
         <item name="enableButtonText">@string/enable</item>
@@ -170,7 +192,6 @@
 
     <style name="DialerSettingsLight" parent="SettingsLight">
         <!-- Action bar.-->
-        <item name="android:tint">@color/dialer_secondary_text_color</item>
         <item name="android:windowBackground">@color/dialer_background_color</item>
         <item name="android:actionModeBackground">@color/dialer_background_color</item>
         <item name="android:windowLightStatusBar">true</item>
@@ -180,6 +201,7 @@
         <item name="android:windowLightNavigationBar">true</item>
         <item name="android:colorAccent">@color/dialer_theme_color</item>
         <item name="android:dialogTheme">@style/DialerAlertDialogTheme</item>
+        <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
     </style>
 
     <style name="DialerAlertDialogTheme"
@@ -189,21 +211,6 @@
         <item name="android:textColor">?android:attr/textColorPrimaryInverseDisableOnly</item>
     </style>
 
-    <style name="NetworkOperatorsSettingsTheme" parent="@android:style/Theme.DeviceDefault.Settings">
-        <item name="android:forceDarkAllowed">true</item>
-        <item name="android:switchPreferenceStyle">@style/SettingsSwitchPreference</item>
-        <item name="android:preferenceCategoryStyle">@style/SettingsPreferenceCategory</item>
-        <item name="android:preferenceStyle">@style/SettingsPreference</item>
-        <item name="android:dialogPreferenceStyle">@style/SettingsDialogPreference</item>
-        <item name="android:preferenceScreenStyle">@style/SettingsPreferenceScreen</item>
-    </style>
-
-    <style name="TrimmedHorizontalProgressBar" parent="android:Widget.Material.ProgressBar.Horizontal">
-        <item name="android:indeterminateDrawable">@drawable/progress_indeterminate_horizontal_material_trimmed</item>
-        <item name="android:minHeight">3dip</item>
-        <item name="android:maxHeight">3dip</item>
-    </style>
-
     <style name="Empty" parent="@android:style/Theme.Material.Light">
         <item name="android:forceDarkAllowed">true</item>
         <item name="android:windowIsTranslucent">true</item>
@@ -214,33 +221,6 @@
         <item name="android:backgroundDimEnabled">true</item>
     </style>
 
-    <style name="InCallAnimationStyle" parent="@*android:style/Animation.Holo.Activity">
-        <!-- Suppress task-to-task animation happening during the transition from
-             OutgoingCallBroadcaster (and SipOptionHandler) to InCallScreen.
-             The transition unexpectedly happens during the transition (inside the phone task),
-             because InCallScreen is using android:launchMode="singleInstance".
-
-             - taskOpenEnterAnimation/taskOpenExitAnimation is used for the first time
-               InCallScreen instance is created.
-
-             - taskToFrontEnterAnimation/taskToFrontExitAnimation is used when InCallScreen
-               is already available.
-               (Note that InCallScreen won't be destroyed once it is created)
-
-             TODO: try removing the flag instead -->
-        <item name="*android:taskOpenEnterAnimation">@*android:anim/activity_open_enter</item>
-        <item name="*android:taskOpenExitAnimation">@*android:anim/activity_open_exit</item>
-        <item name="*android:taskToFrontEnterAnimation">@*android:anim/activity_open_enter</item>
-        <item name="*android:taskToFrontExitAnimation">@*android:anim/activity_open_exit</item>
-    </style>
-
-    <style name="OutgoingAnimationStyle" parent="@*android:style/Animation.Holo.Activity">
-        <!-- Suppress task-to-task transition animation happening from
-             DialtactsActivity to OutgoingCallBroadcaster. -->
-        <item name="*android:taskOpenEnterAnimation">@*android:anim/activity_open_enter</item>
-        <item name="*android:taskOpenExitAnimation">@*android:anim/activity_open_exit</item>
-    </style>
-
     <!-- Style for the call settings action bar.  Should be kept in sync with Dialer. -->
     <style name="DialtactsActionBarStyle" parent="@style/TelephonyActionBarStyle">
         <!-- Shift the title text to the right -->
@@ -271,7 +251,7 @@
         <item name="android:src">@drawable/overflow_menu</item>
     </style>
 
-    <style name="EmergencyDialerTheme" parent="@*android:style/Theme.DeviceDefault.Settings.Dark.NoActionBar">
+    <style name="EmergencyDialerTheme" parent="@android:style/Theme.Material.NoActionBar">
         <item name="android:forceDarkAllowed">true</item>
         <item name="android:colorPrimaryDark">?android:attr/colorPrimary</item>
         <item name="android:colorBackgroundCacheHint">@null</item>
@@ -279,8 +259,8 @@
         <item name="android:statusBarColor">@android:color/transparent</item>
         <item name="android:navigationBarColor">@android:color/transparent</item>
         <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
-        <item name="emergencyButtonBackgroundColor">#3cffffff</item>
-        <item name="dialpadTheme">@style/Dialpad_DarkTransparent</item>
+        <item name="emergencyButtonBackgroundColor">#10ffffff</item>
+        <item name="dialpadTheme">@style/Dialpad_DarkTransparent.Emergency</item>
     </style>
 
     <style name="EmergencyDialerThemeDark" parent="@style/EmergencyDialerTheme">
@@ -288,7 +268,15 @@
         <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
         <item name="emergencyButtonBackgroundColor">#19414549</item>
         <item name="android:colorControlHighlight">#40000000</item>
-        <item name="dialpadTheme">@style/Dialpad_LightTransparent</item>
+        <item name="dialpadTheme">@style/Dialpad_LightTransparent.Emergency</item>
+    </style>
+
+    <style name="Dialpad_LightTransparent.Emergency">
+        <item name="dialpad_delete_padding">16dp</item>
+    </style>
+
+    <style name="Dialpad_DarkTransparent.Emergency">
+        <item name="dialpad_delete_padding">16dp</item>
     </style>
 
     <style name="EmergencyDialerAlertDialogTheme"
@@ -305,13 +293,6 @@
         <item name="android:actionOverflowButtonStyle">@style/DialtactsActionBarOverflow</item>
     </style>
 
-    <style name="OutgoingCallBroadcasterTheme" parent="@android:style/Theme.Holo.NoActionBar">
-        <item name="android:forceDarkAllowed">true</item>
-        <item name="android:windowBackground">@android:color/black</item>
-
-        <item name="*android:windowAnimationStyle">@style/OutgoingAnimationStyle</item>
-    </style>
-
     <style name="DialtactsDigitsTextAppearance">
         <item name="android:maxLines">1</item>
         <item name="android:textSize">@dimen/dialpad_digits_text_size</item>
@@ -330,48 +311,47 @@
         <item name="android:backgroundDimEnabled">false</item>
     </style>
 
-    <style name="CallSettingsWithoutDividerTheme" parent="SettingsLight">
-        <item name="android:forceDarkAllowed">true</item>
+    <style name="CallSettingsWithoutDividerTheme" parent="DialerSettingsLight">
         <item name="android:listDivider">@null</item>
     </style>
 
-    <style name="EmergencyInfoNameTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
-        <item name="android:textColor">@*android:color/primary_text_default_material_dark</item>
+    <style name="EmergencyInfoNameTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
+        <item name="android:textColor">@color/primary_text_default_material_dark</item>
         <item name="android:textSize">@dimen/emergency_info_name_text_size</item>
     </style>
 
-    <style name="EmergencyInfoHintTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
-        <item name="android:textColor">@*android:color/secondary_text_default_material_dark</item>
+    <style name="EmergencyInfoHintTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
+        <item name="android:textColor">@color/secondary_text_default_material_dark</item>
         <item name="android:textSize">@dimen/emergency_info_hint_text_size</item>
     </style>
 
-    <style name="EmergencyInfoTapHintTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="EmergencyInfoTapHintTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@android:color/white</item>
         <item name="android:textSize">@dimen/emergency_info_tap_hint_text_size</item>
     </style>
 
-    <style name="ShortcutViewHintTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
-        <item name="android:textColor">@*android:color/secondary_text_default_material_dark</item>
+    <style name="ShortcutViewHintTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
+        <item name="android:textColor">@color/secondary_text_default_material_dark</item>
     </style>
 
-    <style name="PhoneNumberTextAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
-        <item name="android:textColor">@*android:color/primary_text_default_material_light</item>
+    <style name="PhoneNumberTextAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
+        <item name="android:textColor">@color/primary_text_default_material_light</item>
         <item name="android:textSize">@dimen/emergency_shortcut_number_text_size</item>
     </style>
 
     <style name="PhoneNumberTypeAppearance">
         <item name="android:fontFamily">roboto</item>
-        <item name="android:textColor">@*android:color/secondary_text_default_material_light</item>
+        <item name="android:textColor">@color/secondary_text_default_material_light</item>
         <item name="android:textSize">@dimen/emergency_shortcut_type_text_size</item>
     </style>
 
-    <style name="PhoneNumberTapHintAppearance">
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
+    <style name="PhoneNumberTapHintAppearance"
+           parent="@android:style/TextAppearance.Material.Subhead">
         <item name="android:textColor">@android:color/white</item>
         <item name="android:textSize">@dimen/emergency_shortcut_tap_hint_text_size</item>
     </style>
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index ceea4a6..eace2e7 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -19,26 +19,22 @@
 <!-- Things unrelated to preference framework UI customization should go to other styles files -->
 <resources>
     <!-- Preferences -->
-    <style name="SettingsPreference" parent="@*android:style/Preference.DeviceDefault">
+    <style name="SettingsPreference" parent="@style/Preference.Material">
         <item name="android:singleLineTitle">false</item>
         <item name="android:iconSpaceReserved">true</item>
     </style>
 
-    <style name="SettingsSwitchPreference" parent="@*android:style/Preference.DeviceDefault.SwitchPreference">
+    <style name="SettingsSwitchPreference" parent="@style/Preference.SwitchPreference.Material">
         <item name="android:iconSpaceReserved">true</item>
         <item name="android:singleLineTitle">false</item>
     </style>
 
-    <style name="SettingsPreferenceCategory" parent="@*android:style/Preference.DeviceDefault.Category">
-        <item name="android:layout">@layout/preference_category_material_settings_with_divider</item>
-    </style>
-
-    <style name="SettingsDialogPreference" parent="@*android:style/Preference.DeviceDefault.DialogPreference">
+    <style name="SettingsDialogPreference" parent="@style/Preference.DialogPreference.Material">
         <item name="android:singleLineTitle">false</item>
         <item name="android:iconSpaceReserved">true</item>
     </style>
 
-    <style name="SettingsPreferenceScreen" parent="@*android:style/Preference.DeviceDefault.PreferenceScreen">
+    <style name="SettingsPreferenceScreen" parent="@style/Preference.PreferenceScreen.Material">
         <item name="android:singleLineTitle">false</item>
         <item name="android:iconSpaceReserved">true</item>
     </style>
diff --git a/res/xml/callbarring_options.xml b/res/xml/callbarring_options.xml
index 6f2c48a..6506031 100644
--- a/res/xml/callbarring_options.xml
+++ b/res/xml/callbarring_options.xml
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-     xmlns:phone="http://schemas.android.com/apk/res/com.android.phone"
+     xmlns:phone="http://schemas.android.com/apk/res-auto"
      android:title="@string/call_barring_settings">
 
     <!-- Note for all com.android.phone.EditPinPreference objects
diff --git a/res/xml/callforward_options.xml b/res/xml/callforward_options.xml
index 0ff1e90..775151e 100644
--- a/res/xml/callforward_options.xml
+++ b/res/xml/callforward_options.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-     xmlns:phone="http://schemas.android.com/apk/res/com.android.phone"
+     xmlns:phone="http://schemas.android.com/apk/res-auto"
      android:title="@string/call_forwarding_settings">
 
 
diff --git a/res/xml/carrier_ss_string.xml b/res/xml/carrier_ss_string.xml
index 826f0ea..29de13a 100644
--- a/res/xml/carrier_ss_string.xml
+++ b/res/xml/carrier_ss_string.xml
@@ -21,7 +21,7 @@
 
      If developer need to define ussd command by specific carrier, developer can add new xml and
      xml is named carrier_ss_string_carrierId.xml. The carrierId is a number and is defined in
-     <a href="https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/carrier_list.textpb">here</a>
+     <a href="https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.textpb">here</a>
      For example: carrier_ss_string_850.xml
 
      The tags define as below:
diff --git a/res/xml/carrier_ss_string_850.xml b/res/xml/carrier_ss_string_850.xml
index 86d5743..01eeee5 100644
--- a/res/xml/carrier_ss_string_850.xml
+++ b/res/xml/carrier_ss_string_850.xml
@@ -15,7 +15,7 @@
 -->
 <!-- This xml is the command's structure about supplementary service by ussd command for
      carrier id 850.
-     <a href="https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/carrier_list.textpb">here</a>
+     <a href="https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/latest_carrier_id/carrier_list.textpb">here</a>
      The introduction is same as carrier_ss_string.xml. @see carrier_ss_string_carrierId.xml
 -->
 
diff --git a/res/xml/cdma_options.xml b/res/xml/cdma_options.xml
deleted file mode 100644
index f6ef97a..0000000
--- a/res/xml/cdma_options.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 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.
-     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">
-
-    <com.android.phone.CdmaSystemSelectListPreference
-        android:key="cdma_system_select_key"
-        android:title="@string/cdma_system_select_title"
-        android:summary="@string/cdma_system_select_summary"
-        android:entries="@array/cdma_system_select_choices"
-        android:entryValues="@array/cdma_system_select_values"
-        android:dialogTitle="@string/cdma_system_select_dialogtitle" />
-
-    <com.android.phone.CdmaSubscriptionListPreference
-        android:key="cdma_subscription_key"
-        android:title="@string/cdma_subscription_title"
-        android:summary="@string/cdma_subscription_summary"
-        android:entries="@array/cdma_subscription_choices"
-        android:entryValues="@array/cdma_subscription_values"
-        android:dialogTitle="@string/cdma_subscription_dialogtitle" />
-
-    <!--We want separate APN setting from reset of settings because-->
-    <!--we want user to change it with caution.-->
-    <PreferenceCategory
-        android:key="category_cdma_apn_key">
-        <!-- The launching Intent will be defined thru code as we need to pass some Extra -->
-        <com.android.phone.RestrictedPreference
-            android:key="button_cdma_apn_key"
-            android:title="@string/apn_settings"
-            android:persistent="false"/>
-    </PreferenceCategory>
-
-    <Preference
-        android:key="carrier_settings_key"
-        android:title="@string/carrier_settings_title">
-        <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="@string/carrier_settings"
-                android:targetClass="@string/carrier_settings_menu" />
-    </Preference>
-
-</PreferenceScreen>
diff --git a/res/xml/gsm_umts_options.xml b/res/xml/gsm_umts_options.xml
deleted file mode 100644
index 81b2deb..0000000
--- a/res/xml/gsm_umts_options.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 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.
-     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">
-
-    <com.android.phone.NetworkOperators
-        android:key="network_operators_category_key"
-        android:title="@string/network_operator_category"
-        android:persistent="false">
-
-        <SwitchPreference
-            android:key="button_auto_select_key"
-            android:title="@string/select_automatically"
-            android:persistent="false"/>
-
-        <com.android.phone.NetworkSelectListPreference
-            android:key="button_network_select_key"
-            android:title="@string/network_select_title"
-            android:persistent="false"/>
-
-        <Preference
-            android:key="button_choose_network_key"
-            android:title="@string/choose_network_title"
-            android:fragment="com.android.phone.NetworkSelectSetting" />
-    </com.android.phone.NetworkOperators>
-
-    <!--We want separate APN setting from reset of settings because-->
-    <!--we want user to change it with caution.-->
-    <PreferenceCategory
-        android:key="category_gsm_apn_key"
-        android:layout="@layout/preference_category_no_label">
-
-        <com.android.phone.RestrictedPreference
-            android:key="button_gsm_apn_key"
-            android:title="@string/apn_settings"
-            android:persistent="false" />
-    </PreferenceCategory>
-
-    <PreferenceScreen
-        android:key="carrier_settings_key"
-        android:title="@string/carrier_settings_title">
-        <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="@string/carrier_settings"
-                android:targetClass="@string/carrier_settings_menu" />
-    </PreferenceScreen>
-
-</PreferenceScreen>
diff --git a/res/xml/network_setting_fragment.xml b/res/xml/network_setting_fragment.xml
deleted file mode 100644
index d334861..0000000
--- a/res/xml/network_setting_fragment.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 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.
-     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">
-
-    <PreferenceScreen
-        android:key="cdma_lte_data_service_key"
-        android:title="@string/cdma_lte_data_service">
-    </PreferenceScreen>
-
-    <com.android.phone.MobileDataPreference
-        android:key="mobile_data_enable"
-        android:title="@string/mobile_data_settings_title"
-        android:summary="@string/mobile_data_settings_summary"/>
-
-    <com.android.phone.RestrictedSwitchPreference
-        android:key="button_roaming_key"
-        android:title="@string/roaming"
-        android:persistent="false"
-        android:summaryOn="@string/roaming_enable"
-        android:summaryOff="@string/roaming_disable"/>
-
-    <com.android.phone.DataUsagePreference
-        android:key="data_usage_summary"
-        android:title="@string/data_usage_title" />
-
-    <com.android.phone.AdvancedOptionsPreference
-        android:key="advanced_options"/>
-
-    <SwitchPreference
-        android:key="enhanced_4g_lte"
-        android:title="@string/enhanced_4g_lte_mode_title"
-        android:persistent="false"
-        android:summary="@string/enhanced_4g_lte_mode_summary"/>
-
-    <ListPreference
-        android:key="preferred_network_mode_key"
-        android:title="@string/preferred_network_mode_title"
-        android:summary="@string/preferred_network_mode_summary"
-        android:entries="@array/preferred_network_mode_choices"
-        android:entryValues="@array/preferred_network_mode_values"
-        android:dialogTitle="@string/preferred_network_mode_dialogtitle" />
-
-    <ListPreference
-        android:key="enabled_networks_key"
-        android:title="@string/preferred_network_mode_title"
-        android:summary="@string/preferred_network_mode_summary"
-        android:entries="@array/enabled_networks_choices"
-        android:entryValues="@array/enabled_networks_values"
-        android:dialogTitle="@string/preferred_network_mode_dialogtitle" />
-
-    <Preference
-        android:key="carrier_settings_euicc_key"
-        android:title="@string/carrier_settings_euicc" />
-
-    <PreferenceCategory
-        android:key="calling"
-        android:title="@string/call_category">
-
-        <PreferenceScreen
-            android:key="wifi_calling_key"
-            android:title="@string/wifi_calling_settings_title">
-
-            <intent android:action="android.intent.action.MAIN"
-                    android:targetPackage="com.android.settings"
-                    android:targetClass="com.android.settings.Settings$WifiCallingSettingsActivity">
-                        <extra android:name="show_drawer_menu" android:value="true" />
-            </intent>
-
-        </PreferenceScreen>
-
-        <SwitchPreference
-            android:key="video_calling_key"
-            android:title="@string/video_calling_settings_title"
-            android:persistent="true"/>
-
-    </PreferenceCategory>
-
-</PreferenceScreen>
diff --git a/res/xml/voicemail_settings.xml b/res/xml/voicemail_settings.xml
index 021a764..cbe1cf4 100644
--- a/res/xml/voicemail_settings.xml
+++ b/res/xml/voicemail_settings.xml
@@ -15,7 +15,7 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:phone="http://schemas.android.com/apk/res/com.android.phone"
+    xmlns:phone="http://schemas.android.com/apk/res-auto"
     android:title="@string/voicemail">
 
     <com.android.phone.settings.VoicemailProviderListPreference
diff --git a/sip/res/values-gu/strings.xml b/sip/res/values-gu/strings.xml
index aa32a85..9eb810b 100644
--- a/sip/res/values-gu/strings.xml
+++ b/sip/res/values-gu/strings.xml
@@ -18,7 +18,7 @@
     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_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>
diff --git a/sip/res/values-in/strings.xml b/sip/res/values-in/strings.xml
index 535e5ac..709205c 100644
--- a/sip/res/values-in/strings.xml
+++ b/sip/res/values-in/strings.xml
@@ -40,7 +40,7 @@
     <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 sambungan internet."</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>
@@ -71,7 +71,7 @@
     <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 sambungan internet terlebih dahulu."</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 tersambung 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>
diff --git a/sip/res/values-mk/strings.xml b/sip/res/values-mk/strings.xml
index b810af8..f6b568a 100644
--- a/sip/res/values-mk/strings.xml
+++ b/sip/res/values-mk/strings.xml
@@ -26,7 +26,7 @@
     <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="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>
diff --git a/sip/res/values-pt-rPT/strings.xml b/sip/res/values-pt-rPT/strings.xml
index ae1b2ed..35aca3e 100644
--- a/sip/res/values-pt-rPT/strings.xml
+++ b/sip/res/values-pt-rPT/strings.xml
@@ -47,7 +47,7 @@
     <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 aplicação <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</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>
diff --git a/sip/res/values-uz/strings.xml b/sip/res/values-uz/strings.xml
index e6d00e7..f951de2 100644
--- a/sip/res/values-uz/strings.xml
+++ b/sip/res/values-uz/strings.xml
@@ -26,7 +26,7 @@
     <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 qo‘shish"</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>
diff --git a/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java b/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
index ec77ff1..1cf7f4b 100644
--- a/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
+++ b/sip/src/com/android/services/telephony/sip/SipAccountRegistry.java
@@ -126,7 +126,7 @@
      * @param context The context.
      */
     void verifyAndPurgeInvalidPhoneAccounts(Context context) {
-        TelecomManager telecomManager = TelecomManager.from(context);
+        TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
         SipProfileDb profileDb = new SipProfileDb(context);
         List<PhoneAccountHandle> accountHandles = telecomManager.getPhoneAccountsSupportingScheme(
                 PhoneAccount.SCHEME_SIP);
@@ -188,7 +188,8 @@
 
         // Un-register its PhoneAccount.
         PhoneAccountHandle handle = SipUtil.createAccountHandle(context, sipProfileName);
-        TelecomManager.from(context).unregisterPhoneAccount(handle);
+        TelecomManager tm = context.getSystemService(TelecomManager.class);
+        tm.unregisterPhoneAccount(handle);
     }
 
     /**
@@ -235,7 +236,7 @@
     private void startSipProfiles(Context context, String sipProfileName, boolean enableProfile) {
         final SipPreferences sipPreferences = new SipPreferences(context);
         boolean isReceivingCalls = sipPreferences.isReceivingCallsEnabled();
-        TelecomManager telecomManager = TelecomManager.from(context);
+        TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
         SipManager sipManager = SipManager.newInstance(context);
         SipProfileDb profileDb = new SipProfileDb(context);
         List<SipProfile> sipProfileList = profileDb.retrieveSipProfileList();
diff --git a/sip/src/com/android/services/telephony/sip/SipIncomingCallReceiver.java b/sip/src/com/android/services/telephony/sip/SipIncomingCallReceiver.java
index 19f5882..2dbd707 100644
--- a/sip/src/com/android/services/telephony/sip/SipIncomingCallReceiver.java
+++ b/sip/src/com/android/services/telephony/sip/SipIncomingCallReceiver.java
@@ -73,7 +73,7 @@
         if (accountHandle != null) {
             Bundle extras = new Bundle();
             extras.putParcelable(SipUtil.EXTRA_INCOMING_CALL_INTENT, intent);
-            TelecomManager tm = TelecomManager.from(context);
+            TelecomManager tm = context.getSystemService(TelecomManager.class);
             PhoneAccount phoneAccount = tm.getPhoneAccount(accountHandle);
             if (phoneAccount != null && phoneAccount.isEnabled()) {
                 tm.addNewIncomingCall(accountHandle, extras);
@@ -84,7 +84,7 @@
     }
 
     private boolean isRunningInSystemUser() {
-        return UserHandle.myUserId() == UserHandle.USER_SYSTEM;
+        return UserHandle.myUserId() == UserHandle.SYSTEM.getIdentifier();
     }
 
     private static void log(String msg) {
diff --git a/sip/src/com/android/services/telephony/sip/SipProfileDb.java b/sip/src/com/android/services/telephony/sip/SipProfileDb.java
index bb1c7ec..812ebb4 100644
--- a/sip/src/com/android/services/telephony/sip/SipProfileDb.java
+++ b/sip/src/com/android/services/telephony/sip/SipProfileDb.java
@@ -16,11 +16,10 @@
 
 package com.android.services.telephony.sip;
 
-import com.android.internal.os.AtomicFile;
-
 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;
 
diff --git a/sip/src/com/android/services/telephony/sip/SipSettings.java b/sip/src/com/android/services/telephony/sip/SipSettings.java
index ded16df..813ba51 100644
--- a/sip/src/com/android/services/telephony/sip/SipSettings.java
+++ b/sip/src/com/android/services/telephony/sip/SipSettings.java
@@ -42,6 +42,7 @@
 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;
@@ -238,9 +239,9 @@
     }
 
     private void processActiveProfilesFromSipService() {
-        SipProfile[] activeList = {};
+        List<SipProfile> activeList = new ArrayList<>();
         try {
-            activeList = mSipManager.getListOfProfiles();
+            activeList = mSipManager.getProfiles();
         } catch (SipException e) {
             log("SipManager could not retrieve SIP profiles: " + e);
         }
diff --git a/sip/src/com/android/services/telephony/sip/SipUtil.java b/sip/src/com/android/services/telephony/sip/SipUtil.java
index ff38754..5c7409f 100644
--- a/sip/src/com/android/services/telephony/sip/SipUtil.java
+++ b/sip/src/com/android/services/telephony/sip/SipUtil.java
@@ -29,12 +29,11 @@
 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 com.android.phone.R;
-import com.android.server.sip.SipService;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -46,16 +45,17 @@
             "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) &&
-                context.getResources().getBoolean(
-                        com.android.internal.R.bool.config_voice_capable);
+        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(
@@ -190,7 +190,10 @@
         // 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.
-        SipService.start(phoneGlobalsContext);
+        Intent startSipIntent = new Intent();
+        startSipIntent.setAction(SipManager.ACTION_START_SIP);
+        startSipIntent.setPackage(PHONE_PACKAGE);
+        phoneGlobalsContext.startService(startSipIntent);
     }
 
     /**
diff --git a/sip/src/com/android/services/telephony/sip/components/TelephonySipService.java b/sip/src/com/android/services/telephony/sip/components/TelephonySipService.java
new file mode 100644
index 0000000..5b863b1
--- /dev/null
+++ b/sip/src/com/android/services/telephony/sip/components/TelephonySipService.java
@@ -0,0 +1,43 @@
+/*
+ * 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/AdvancedOptionsPreference.java b/src/com/android/phone/AdvancedOptionsPreference.java
deleted file mode 100644
index 5f07790..0000000
--- a/src/com/android/phone/AdvancedOptionsPreference.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2017 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.preference.Preference;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.TextView;
-
-/**
- * Customized preference class representing the "Advanced" button that expands to fields that
- * are hidden by default.
- */
-public class AdvancedOptionsPreference extends Preference {
-    public AdvancedOptionsPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    protected void onBindView(View view) {
-        super.onBindView(view);
-
-        setIcon(com.android.internal.R.drawable.ic_expand_more);
-        setTitle(R.string.advanced_options_title);
-        TextView summary = view.findViewById(android.R.id.summary);
-        summary.setMaxLines(1);
-    }
-}
diff --git a/src/com/android/phone/CLIRListPreference.java b/src/com/android/phone/CLIRListPreference.java
index 5c6132b..d8a9041 100755
--- a/src/com/android/phone/CLIRListPreference.java
+++ b/src/com/android/phone/CLIRListPreference.java
@@ -47,10 +47,15 @@
     protected void onDialogClosed(boolean positiveResult) {
         super.onDialogClosed(positiveResult);
 
-        mPhone.setOutgoingCallerIdDisplay(convertValueToCLIRMode(getValue()),
-                mHandler.obtainMessage(MyHandler.MESSAGE_SET_CLIR));
-        if (mTcpListener != null) {
-            mTcpListener.onStarted(this, false);
+        if (positiveResult && (getValue() != null)) {
+            mPhone.setOutgoingCallerIdDisplay(convertValueToCLIRMode(getValue()),
+                    mHandler.obtainMessage(MyHandler.MESSAGE_SET_CLIR));
+            if (mTcpListener != null) {
+                mTcpListener.onStarted(this, false);
+            }
+        } else {
+            Log.d(LOG_TAG, String.format("onDialogClosed: positiveResult=%b value=%s -- do nothing",
+                        positiveResult, getValue()));
         }
     }
 
diff --git a/src/com/android/phone/CallBarringDeselectAllPreference.java b/src/com/android/phone/CallBarringDeselectAllPreference.java
index 153bc0c..7191937 100644
--- a/src/com/android/phone/CallBarringDeselectAllPreference.java
+++ b/src/com/android/phone/CallBarringDeselectAllPreference.java
@@ -18,14 +18,10 @@
 
 import android.content.Context;
 import android.os.Bundle;
-import android.telephony.ServiceState;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.View;
 import android.widget.EditText;
 
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.phone.settings.fdn.EditPinPreference;
 
 /**
@@ -35,9 +31,6 @@
     private static final String LOG_TAG = "CallBarringDeselectAllPreference";
     private static final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
 
-    private boolean mShowPassword;
-    private Phone mPhone;
-
     /**
      * CallBarringDeselectAllPreference constructor.
      *
@@ -50,30 +43,10 @@
 
     @Override
     protected void showDialog(Bundle state) {
-        // Finds out if the password field should be shown or not.
-        ImsPhone imsPhone = mPhone != null ? (ImsPhone) mPhone.getImsPhone() : null;
-        mShowPassword = !(imsPhone != null
-                && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE)
-                        || imsPhone.isUtEnabled()));
-
-        // Selects dialog message depending on if the password field is shown or not.
-        setDialogMessage(getContext().getString(mShowPassword
-                ? R.string.messageCallBarring : R.string.call_barring_deactivate_all_no_password));
-
-        if (DBG) {
-            Log.d(LOG_TAG, "showDialog: mShowPassword: " + mShowPassword);
-        }
-
+        setDialogMessage(getContext().getString(R.string.messageCallBarring));
         super.showDialog(state);
     }
 
-    void init(Phone phone) {
-        if (DBG) {
-            Log.d(LOG_TAG, "init: phoneId = " + phone.getPhoneId());
-        }
-        mPhone = phone;
-    }
-
     @Override
     protected void onBindDialogView(View view) {
         super.onBindDialogView(view);
@@ -81,20 +54,7 @@
         final EditText editText = (EditText) view.findViewById(android.R.id.edit);
         if (editText != null) {
             // Hide the input-text-line if the password is not shown.
-            editText.setVisibility(mShowPassword ? View.VISIBLE : View.GONE);
+            editText.setVisibility(View.VISIBLE);
         }
     }
-
-    @Override
-    protected boolean needInputMethod() {
-        // Input method should only be displayed if the password-field is shown.
-        return mShowPassword;
-    }
-
-    /**
-     * Returns whether the password field is shown.
-     */
-    boolean isPasswordShown() {
-        return mShowPassword;
-    }
 }
diff --git a/src/com/android/phone/CallBarringEditPreference.java b/src/com/android/phone/CallBarringEditPreference.java
index 72b3ea5..b8e3250 100644
--- a/src/com/android/phone/CallBarringEditPreference.java
+++ b/src/com/android/phone/CallBarringEditPreference.java
@@ -26,7 +26,6 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
-import android.telephony.ServiceState;
 import android.text.method.DigitsKeyListener;
 import android.text.method.PasswordTransformationMethod;
 import android.util.AttributeSet;
@@ -36,10 +35,10 @@
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.CommandException;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
-import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.phone.settings.fdn.EditPinPreference;
 
 import java.lang.ref.WeakReference;
@@ -58,10 +57,7 @@
     private CharSequence mDisableText;
     private CharSequence mSummaryOn;
     private CharSequence mSummaryOff;
-    private CharSequence mDialogMessageEnabled;
-    private CharSequence mDialogMessageDisabled;
     private int mButtonClicked;
-    private boolean mShowPassword;
     private final MyHandler mHandler = new MyHandler(this);
     private Phone mPhone;
     private TimeConsumingPreferenceListener mTcpListener;
@@ -91,10 +87,6 @@
         typedArray = context.obtainStyledAttributes(attrs,
                 R.styleable.CallBarringEditPreference, 0, R.style.EditPhoneNumberPreference);
         mFacility = typedArray.getString(R.styleable.CallBarringEditPreference_facility);
-        mDialogMessageEnabled = typedArray.getString(
-                R.styleable.CallBarringEditPreference_dialogMessageEnabledNoPwd);
-        mDialogMessageDisabled = typedArray.getString(
-                R.styleable.CallBarringEditPreference_dialogMessageDisabledNoPwd);
         typedArray.recycle();
     }
 
@@ -117,7 +109,7 @@
         if (!skipReading) {
             // Query call barring status
             mPhone.getCallBarring(mFacility, "", mHandler.obtainMessage(
-                    MyHandler.MESSAGE_GET_CALL_BARRING), 0);
+                    MyHandler.MESSAGE_GET_CALL_BARRING), CommandsInterface.SERVICE_CLASS_VOICE);
             if (mTcpListener != null) {
                 mTcpListener.onStarted(this, true);
             }
@@ -131,29 +123,8 @@
     }
 
     @Override
-    protected boolean needInputMethod() {
-        // Input method should only be displayed if the password-field is shown.
-        return mShowPassword;
-    }
-
-    void setInputMethodNeeded(boolean needed) {
-        mShowPassword = needed;
-    }
-
-    @Override
     protected void showDialog(Bundle state) {
-        setShowPassword();
-        if (mShowPassword) {
-            setDialogMessage(getContext().getString(R.string.messageCallBarring));
-        } else {
-            setDialogMessage(mIsActivated ? mDialogMessageEnabled : mDialogMessageDisabled);
-        }
-
-        if (DBG) {
-            Log.d(LOG_TAG, "showDialog: mShowPassword: " + mShowPassword
-                    + ", mIsActivated: " + mIsActivated);
-        }
-
+        setDialogMessage(getContext().getString(R.string.messageCallBarring));
         super.showDialog(state);
     }
 
@@ -205,8 +176,7 @@
             editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
             editText.setKeyListener(DigitsKeyListener.getInstance());
 
-            // Hide the input-text-line if the password is not shown.
-            editText.setVisibility(mShowPassword ? View.VISIBLE : View.GONE);
+            editText.setVisibility(View.VISIBLE);
         }
     }
 
@@ -218,17 +188,14 @@
                     + positiveResult);
         }
         if (mButtonClicked != DialogInterface.BUTTON_NEGATIVE) {
-            String password = null;
-            if (mShowPassword) {
-                password = getEditText().getText().toString();
+            String password = getEditText().getText().toString();
 
-                // Check if the password is valid.
-                if (password == null || password.length() != PW_LENGTH) {
-                    Toast.makeText(getContext(),
-                            getContext().getString(R.string.call_barring_right_pwd_number),
-                            Toast.LENGTH_SHORT).show();
-                    return;
-                }
+            // Check if the password is valid.
+            if (password == null || password.length() != PW_LENGTH) {
+                Toast.makeText(getContext(),
+                        getContext().getString(R.string.call_barring_right_pwd_number),
+                        Toast.LENGTH_SHORT).show();
+                return;
             }
 
             if (DBG) {
@@ -236,7 +203,8 @@
             }
             // Send set call barring message to RIL layer.
             mPhone.setCallBarring(mFacility, !mIsActivated, password,
-                    mHandler.obtainMessage(MyHandler.MESSAGE_SET_CALL_BARRING), 0);
+                    mHandler.obtainMessage(MyHandler.MESSAGE_SET_CALL_BARRING),
+                    CommandsInterface.SERVICE_CLASS_VOICE);
             if (mTcpListener != null) {
                 mTcpListener.onStarted(this, false);
             }
@@ -255,13 +223,6 @@
         notifyDependencyChange(shouldDisableDependents());
     }
 
-    private void setShowPassword() {
-        ImsPhone imsPhone = mPhone != null ? (ImsPhone) mPhone.getImsPhone() : null;
-        mShowPassword = !(imsPhone != null
-                && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE)
-                        || imsPhone.isUtEnabled()));
-    }
-
     @Override
     public boolean shouldDisableDependents() {
         return mIsActivated;
@@ -313,16 +274,6 @@
                 pref.mTcpListener.onFinished(pref, false);
             } else {
                 pref.mTcpListener.onFinished(pref, true);
-                ImsPhone imsPhone = pref.mPhone != null
-                        ? (ImsPhone) pref.mPhone.getImsPhone() : null;
-                if (!pref.mShowPassword && (imsPhone == null || !imsPhone.isUtEnabled())) {
-                    // Re-enable password when rejected from NW and modem would perform CSFB
-                    pref.mShowPassword = true;
-                    if (DBG) {
-                        Log.d(LOG_TAG,
-                                "handleGetCallBarringResponse: mShowPassword changed for CSFB");
-                    }
-                }
             }
 
             // Unsuccessful query for call barring.
@@ -377,7 +328,7 @@
                     "",
                     obtainMessage(MESSAGE_GET_CALL_BARRING, 0, MESSAGE_SET_CALL_BARRING,
                             ar.exception),
-                    0);
+                    CommandsInterface.SERVICE_CLASS_VOICE);
         }
     }
 }
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index ea9dd3f..54acaad 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -28,6 +28,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.os.UserManager;
@@ -96,6 +97,7 @@
             "phone_account_settings_preference_screen";
 
     private static final String ENABLE_VIDEO_CALLING_KEY = "button_enable_video_calling";
+    private static final String BUTTON_VP_KEY = "button_voice_privacy_key";
 
     private Phone mPhone;
     private ImsManager mImsMgr;
@@ -227,9 +229,9 @@
                                 startActivity(intent);
                             }
                         };
-                builder.setMessage(getResources().getString(
+                builder.setMessage(getResourcesForSubId().getString(
                                 R.string.enable_video_calling_dialog_msg))
-                        .setNeutralButton(getResources().getString(
+                        .setNeutralButton(getResourcesForSubId().getString(
                                 R.string.enable_video_calling_dialog_settings),
                                 networkSettingsClickListener)
                         .setPositiveButton(android.R.string.ok, null)
@@ -248,7 +250,8 @@
         if (DBG) log("onCreate: Intent is " + getIntent());
 
         // Make sure we are running as an admin user.
-        if (!UserManager.get(this).isAdminUser()) {
+        UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
+        if (!userManager.isAdminUser()) {
             Toast.makeText(this, R.string.call_settings_admin_user_only,
                     Toast.LENGTH_SHORT).show();
             finish();
@@ -256,10 +259,10 @@
         }
 
         mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
-        mSubscriptionInfoHelper.setActionBarTitle(
-                getActionBar(), getResources(), R.string.call_settings_with_label);
         mPhone = mSubscriptionInfoHelper.getPhone();
-        mTelecomManager = TelecomManager.from(this);
+        mSubscriptionInfoHelper.setActionBarTitle(
+                getActionBar(), getResourcesForSubId(), R.string.call_settings_with_label);
+        mTelecomManager = getSystemService(TelecomManager.class);
     }
 
     private void updateImsManager(Phone phone) {
@@ -274,8 +277,8 @@
     }
 
     private void listenPhoneState(boolean listen) {
-        TelephonyManager telephonyManager =
-                (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
+        TelephonyManager telephonyManager = getSystemService(TelephonyManager.class)
+                .createForSubscriptionId(mPhone.getSubId());
         telephonyManager.listen(mPhoneStateListener, listen
                 ? PhoneStateListener.LISTEN_CALL_STATE : PhoneStateListener.LISTEN_NONE);
     }
@@ -284,10 +287,7 @@
         @Override
         public void onCallStateChanged(int state, String incomingNumber) {
             if (DBG) log("PhoneStateListener onCallStateChanged: state is " + state);
-            // Use TelecomManager#getCallStete instead of 'state' parameter because it needs
-            // to check the current state of all phone calls.
-            boolean isCallStateIdle =
-                    mTelecomManager.getCallState() == TelephonyManager.CALL_STATE_IDLE;
+            boolean isCallStateIdle = state == TelephonyManager.CALL_STATE_IDLE;
             if (mEnableVideoCalling != null) {
                 mEnableVideoCalling.setEnabled(isCallStateIdle);
             }
@@ -364,7 +364,7 @@
         mButtonAutoRetry = (SwitchPreference) findPreference(BUTTON_RETRY_KEY);
 
         mEnableVideoCalling = (SwitchPreference) findPreference(ENABLE_VIDEO_CALLING_KEY);
-        mButtonWifiCalling = findPreference(getResources().getString(
+        mButtonWifiCalling = findPreference(getResourcesForSubId().getString(
                 R.string.wifi_calling_settings_key));
 
         PersistableBundle carrierConfig =
@@ -401,6 +401,9 @@
                     if (!carrierConfig.getBoolean(
                             CarrierConfigManager.KEY_VOICE_PRIVACY_DISABLE_UI_BOOL)) {
                         addPreferencesFromResource(R.xml.cdma_call_privacy);
+                        CdmaVoicePrivacySwitchPreference buttonVoicePrivacy =
+                                (CdmaVoicePrivacySwitchPreference) findPreference(BUTTON_VP_KEY);
+                        buttonVoicePrivacy.setPhone(mPhone);
                     }
                 } else if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
                     if (mPhone.getIccCard() == null || !mPhone.getIccCard().getIccFdnAvailable()) {
@@ -477,8 +480,7 @@
         } else if (!mImsMgr.isWfcEnabledByPlatform() || !mImsMgr.isWfcProvisionedOnDevice()) {
             prefSet.removePreference(mButtonWifiCalling);
         } else {
-            String title = SubscriptionManager.getResourcesForSubId(mPhone.getContext(),
-                    mPhone.getSubId()).getString(R.string.wifi_calling);
+            String title = getResourcesForSubId().getString(R.string.wifi_calling);
             mButtonWifiCalling.setTitle(title);
 
             int resId = com.android.internal.R.string.wifi_calling_off_summary;
@@ -500,7 +502,7 @@
                         if (DBG) log("Unexpected WFC mode value: " + wfcMode);
                 }
             }
-            mButtonWifiCalling.setSummary(resId);
+            mButtonWifiCalling.setSummary(getResourcesForSubId().getString(resId));
             Intent intent = mButtonWifiCalling.getIntent();
             if (intent != null) {
                 intent.putExtra(Settings.EXTRA_SUB_ID, mPhone.getSubId());
@@ -562,9 +564,9 @@
         setIntent(newIntent);
 
         mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
-        mSubscriptionInfoHelper.setActionBarTitle(
-                getActionBar(), getResources(), R.string.call_settings_with_label);
         mPhone = mSubscriptionInfoHelper.getPhone();
+        mSubscriptionInfoHelper.setActionBarTitle(
+                getActionBar(), getResourcesForSubId(), R.string.call_settings_with_label);
     }
 
     private static void log(String msg) {
@@ -593,4 +595,12 @@
         activity.startActivity(intent);
         activity.finish();
     }
+
+    private Resources getResourcesForSubId() {
+        if (mPhone != null) {
+            return SubscriptionManager.getResourcesForSubId(mPhone.getContext(), mPhone.getSubId());
+        } else {
+            return getResources();
+        }
+    }
 }
diff --git a/src/com/android/phone/CallForwardEditPreference.java b/src/com/android/phone/CallForwardEditPreference.java
index 76f17b1..e8cf0d1 100644
--- a/src/com/android/phone/CallForwardEditPreference.java
+++ b/src/com/android/phone/CallForwardEditPreference.java
@@ -159,6 +159,7 @@
                     mPhone.setCallForwardingOption(action,
                             reason,
                             number,
+                            mServiceClass,
                             time,
                             mHandler.obtainMessage(MyHandler.MESSAGE_SET_CF,
                                     action,
@@ -216,7 +217,7 @@
      */
     void startCallForwardOptionsQuery() {
         if (!mCallForwardByUssd) {
-            mPhone.getCallForwardingOption(reason,
+            mPhone.getCallForwardingOption(reason, mServiceClass,
                     mHandler.obtainMessage(MyHandler.MESSAGE_GET_CF,
                             // unused in this case
                             CommandsInterface.CF_ACTION_DISABLE,
@@ -359,9 +360,8 @@
                     mTcpListener.onError(CallForwardEditPreference.this, RESPONSE_ERROR);
                 }
                 CallForwardInfo cfInfoArray[] = (CallForwardInfo[]) ar.result;
-                if (cfInfoArray.length == 0) {
+                if (cfInfoArray == null || cfInfoArray.length == 0) {
                     Log.d(LOG_TAG, "handleGetCFResponse: cfInfoArray.length==0");
-                    setEnabled(false);
                     mTcpListener.onError(CallForwardEditPreference.this, RESPONSE_ERROR);
                 } else {
                     for (int i = 0, length = cfInfoArray.length; i < length; i++) {
@@ -372,6 +372,11 @@
                             CallForwardInfo info = cfInfoArray[i];
                             handleCallForwardResult(info);
 
+                            if (ar.userObj instanceof Throwable) {
+                                Log.d(LOG_TAG, "Skipped duplicated error dialog");
+                                continue;
+                            }
+
                             // Show an alert if we got a success response but
                             // with unexpected values.
                             // Currently only handle the fail-to-disable case
@@ -423,7 +428,7 @@
             }
             Log.d(LOG_TAG, "handleSetCFResponse: re get");
             if (!mCallForwardByUssd) {
-                mPhone.getCallForwardingOption(reason,
+                mPhone.getCallForwardingOption(reason, mServiceClass,
                         obtainMessage(MESSAGE_GET_CF, msg.arg1, MESSAGE_SET_CF, ar.exception));
             } else {
                 mHandler.sendMessage(mHandler.obtainMessage(mHandler.MESSAGE_GET_CF_USSD,
diff --git a/src/com/android/phone/CallNotifier.java b/src/com/android/phone/CallNotifier.java
index 7db17ff..6c18623 100644
--- a/src/com/android/phone/CallNotifier.java
+++ b/src/com/android/phone/CallNotifier.java
@@ -21,6 +21,7 @@
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.media.AudioManager;
+import android.media.AudioSystem;
 import android.media.ToneGenerator;
 import android.os.AsyncResult;
 import android.os.Handler;
@@ -392,10 +393,10 @@
             try {
                 int stream;
                 if (mBluetoothHeadset != null) {
-                    stream = mBluetoothHeadset.isAudioOn() ? AudioManager.STREAM_BLUETOOTH_SCO:
-                        AudioManager.STREAM_VOICE_CALL;
+                    stream = isBluetoothAudioOn() ? AudioSystem.STREAM_BLUETOOTH_SCO :
+                            AudioSystem.STREAM_VOICE_CALL;
                 } else {
-                    stream = AudioManager.STREAM_VOICE_CALL;
+                    stream = AudioSystem.STREAM_VOICE_CALL;
                 }
                 toneGenerator = new ToneGenerator(stream, toneVolume);
                 // if (DBG) log("- created toneGenerator: " + toneGenerator);
@@ -479,6 +480,11 @@
         }
     }
 
+    // Returns whether there are any connected Bluetooth audio devices
+    private boolean isBluetoothAudioOn() {
+        return mBluetoothHeadset.getConnectedDevices().size() > 0;
+    }
+
     /**
      * Displays a notification when the phone receives a DisplayInfo record.
      */
@@ -553,7 +559,8 @@
 
     public void updatePhoneStateListeners(boolean isRefresh, int updateType, int subIdToUpdate) {
         List<SubscriptionInfo> subInfos = SubscriptionController.getInstance()
-                .getActiveSubscriptionInfoList(mApplication.getOpPackageName());
+                .getActiveSubscriptionInfoList(mApplication.getOpPackageName(),
+                        mApplication.getAttributionTag());
 
         // Sort sub id list based on slot id, so that CFI/MWI notifications will be updated for
         // slot 0 first then slot 1. This is needed to ensure that when CFI or MWI is enabled for
@@ -610,7 +617,7 @@
         for (int i = 0; i < subInfos.size(); i++) {
             int subId = subInfos.get(i).getSubscriptionId();
             if (!mPhoneStateListeners.containsKey(subId)) {
-                CallNotifierPhoneStateListener listener = new CallNotifierPhoneStateListener();
+                CallNotifierPhoneStateListener listener = new CallNotifierPhoneStateListener(subId);
                 mTelephonyManager.createForSubscriptionId(subId).listen(listener,
                         PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
                         | PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR);
@@ -762,8 +769,11 @@
             };
 
     private class CallNotifierPhoneStateListener extends PhoneStateListener {
-        public CallNotifierPhoneStateListener() {
+        private final int mSubId;
+
+        CallNotifierPhoneStateListener(int subId) {
             super();
+            this.mSubId = subId;
         }
 
         @Override
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 36f14b7..866e481 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright (c) 2015, The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,7 +20,8 @@
 import static android.service.carrier.CarrierService.ICarrierServiceWrapper.RESULT_ERROR;
 
 import android.annotation.NonNull;
-import android.app.ActivityManager;
+import android.annotation.Nullable;
+import android.app.AppOpsManager;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -37,9 +38,9 @@
 import android.os.IBinder;
 import android.os.Message;
 import android.os.PersistableBundle;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
-import android.os.ServiceManager;
 import android.os.UserHandle;
 import android.preference.PreferenceManager;
 import android.service.carrier.CarrierIdentifier;
@@ -47,7 +48,10 @@
 import android.service.carrier.ICarrierService;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyFrameworkInitializer;
 import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.ArraySet;
 import android.util.LocalLog;
 import android.util.Log;
 
@@ -57,14 +61,9 @@
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.SubscriptionInfoUpdater;
 import com.android.internal.telephony.TelephonyPermissions;
-import com.android.internal.util.ArrayUtils;
-import com.android.internal.util.FastXmlSerializer;
+import com.android.internal.telephony.util.ArrayUtils;
 import com.android.internal.util.IndentingPrintWriter;
 
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-import org.xmlpull.v1.XmlPullParserFactory;
-
 import java.io.File;
 import java.io.FileDescriptor;
 import java.io.FileInputStream;
@@ -77,11 +76,11 @@
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 /**
  * CarrierConfigLoader binds to privileged carrier apps to fetch carrier config overlays.
  */
-
 public class CarrierConfigLoader extends ICarrierConfigLoader.Stub {
     private static final String LOG_TAG = "CarrierConfigLoader";
 
@@ -96,14 +95,18 @@
     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;
     // Service connection for binding to config app.
     private CarrierServiceConnection[] mServiceConnection;
     // Whether we are bound to a service for each phone
     private boolean[] mServiceBound;
-    // Whether we have sent config change bcast for each phone id.
+    // 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;
 
@@ -111,7 +114,7 @@
     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(50);
+    private final LocalLog mCarrierConfigLoadingLog = new LocalLog(100);
 
 
     // Message codes; see mHandler below.
@@ -145,17 +148,25 @@
     private static final int EVENT_FETCH_CARRIER_TIMEOUT = 15;
     // SubscriptionInfoUpdater has finished updating the sub for the carrier config.
     private static final int EVENT_SUBSCRIPTION_INFO_UPDATED = 16;
+    // Multi-SIM config changed.
+    private static final int EVENT_MULTI_SIM_CONFIG_CHANGED = 17;
 
     private static final int BIND_TIMEOUT_MILLIS = 30000;
 
-    // Tags used for saving and restoring XML documents.
-    private static final String TAG_DOCUMENT = "carrier_config";
-    private static final String TAG_VERSION = "package_version";
-    private static final String TAG_BUNDLE = "bundle_data";
+    // Keys used for saving and restoring config bundle from file.
+    private static final String KEY_VERSION = "__carrier_config_package_version__";
+
+    private static final String OVERRIDE_PACKAGE_ADDITION = "-override";
 
     // SharedPreferences key for last known build fingerprint.
     private static final String KEY_FINGERPRINT = "build_fingerprint";
 
+    // Argument for #dump that indicates we should also call the default and specified carrier
+    // service's #dump method. In multi-SIM devices, it's possible that carrier A is on SIM 1 and
+    // carrier B is on SIM 2, in which case we should not dump carrier B's service when carrier A
+    // requested the dump.
+    private static final String DUMP_ARG_REQUESTING_PACKAGE = "--requesting-package";
+
     // Handler to process various events.
     //
     // For each phoneId, the event sequence should be:
@@ -177,58 +188,62 @@
         @Override
         public void handleMessage(Message msg) {
             final int phoneId = msg.arg1;
-            logWithLocalLog("mHandler: " + msg.what + " phoneId: " + phoneId);
+            logdWithLocalLog("mHandler: " + msg.what + " phoneId: " + phoneId);
+            if (!SubscriptionManager.isValidPhoneId(phoneId)
+                    && msg.what != EVENT_MULTI_SIM_CONFIG_CHANGED) {
+                return;
+            }
             switch (msg.what) {
-                case EVENT_CLEAR_CONFIG:
-                {
-                    /* Ignore clear configuration request if device is being shutdown. */
-                    Phone phone = PhoneFactory.getPhone(phoneId);
-                    if (phone != null) {
-                        if (phone.isShuttingDown()) {
-                            break;
-                        }
-                    }
-
-                    mConfigFromDefaultApp[phoneId] = null;
-                    mConfigFromCarrierApp[phoneId] = null;
-                    mServiceConnection[phoneId] = null;
-                    broadcastConfigChangedIntent(phoneId, false);
+                case EVENT_CLEAR_CONFIG: {
+                    clearConfigForPhone(phoneId, true);
                     break;
                 }
 
-                case EVENT_SYSTEM_UNLOCKED:
-                {
-                    for (int i = 0; i < TelephonyManager.from(mContext).getPhoneCount(); ++i) {
-                        // When user unlock device, we should only try to send broadcast again if we
-                        // have sent it before unlock. This will avoid we try to load carrier config
-                        // when SIM is still loading when unlock happens.
+                case EVENT_SYSTEM_UNLOCKED: {
+                    for (int i = 0; i < TelephonyManager.from(mContext).getActiveModemCount();
+                            ++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
+                        // unlock happens.
                         if (mHasSentConfigChange[i]) {
+                            logdWithLocalLog("System unlocked");
+                            mFromSystemUnlocked[i] = true;
                             updateConfigForPhoneId(i);
                         }
                     }
                     break;
                 }
 
-                case EVENT_PACKAGE_CHANGED:
-                {
+                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).getPhoneCount();
+                        int numPhones = TelephonyManager.from(mContext).getActiveModemCount();
                         for (int i = 0; i < numPhones; ++i) {
+                            logdWithLocalLog("Package changed: " + carrierPackageName
+                                    + ", phone=" + i);
                             updateConfigForPhoneId(i);
                         }
                     }
                     break;
                 }
 
-                case EVENT_DO_FETCH_DEFAULT:
-                {
-                    final PersistableBundle config =
-                            restoreConfigFromXml(mPlatformCarrierConfigPackage, phoneId);
+                case EVENT_DO_FETCH_DEFAULT: {
+                    // Restore persistent override values.
+                    PersistableBundle config = restoreConfigFromXml(
+                            mPlatformCarrierConfigPackage, OVERRIDE_PACKAGE_ADDITION, phoneId);
                     if (config != null) {
-                        log(
+                        logd("Loaded persistent override config from XML. package="
+                                + mPlatformCarrierConfigPackage
+                                + " phoneId=" + phoneId);
+                        mPersistentOverrideConfigs[phoneId] = config;
+                    }
+
+                    config = restoreConfigFromXml(mPlatformCarrierConfigPackage, "", phoneId);
+                    if (config != null) {
+                        logd(
                                 "Loaded config from XML. package="
                                         + mPlatformCarrierConfigPackage
                                         + " phoneId="
@@ -258,8 +273,7 @@
                     break;
                 }
 
-                case EVENT_CONNECTED_TO_DEFAULT:
-                {
+                case EVENT_CONNECTED_TO_DEFAULT: {
                     removeMessages(EVENT_BIND_DEFAULT_TIMEOUT);
                     final CarrierServiceConnection conn = (CarrierServiceConnection) msg.obj;
                     // If new service connection has been created, unbind.
@@ -288,8 +302,8 @@
                                     }
                                     PersistableBundle config =
                                             resultData.getParcelable(KEY_CONFIG_BUNDLE);
-                                    saveConfigToXml(mPlatformCarrierConfigPackage, phoneId,
-                                        carrierId, config);
+                                    saveConfigToXml(mPlatformCarrierConfigPackage, "", phoneId,
+                                            carrierId, config);
                                     mConfigFromDefaultApp[phoneId] = config;
                                     sendMessage(
                                             obtainMessage(
@@ -301,7 +315,7 @@
                         ICarrierService carrierService =
                                 ICarrierService.Stub.asInterface(conn.service);
                         carrierService.getCarrierConfig(carrierId, resultReceiver);
-                        logWithLocalLog("fetch config for default app: "
+                        logdWithLocalLog("Fetch config for default app: "
                                 + mPlatformCarrierConfigPackage
                                 + " carrierid: " + carrierId.toString());
                     } catch (RemoteException e) {
@@ -317,9 +331,8 @@
                 }
 
                 case EVENT_BIND_DEFAULT_TIMEOUT:
-                case EVENT_FETCH_DEFAULT_TIMEOUT:
-                {
-                    loge("bind/fetch time out from " + mPlatformCarrierConfigPackage);
+                case EVENT_FETCH_DEFAULT_TIMEOUT: {
+                    loge("Bind/fetch time out from " + mPlatformCarrierConfigPackage);
                     removeMessages(EVENT_FETCH_DEFAULT_TIMEOUT);
                     // If we attempted to bind to the app, but the service connection is null due to
                     // the race condition that clear config event happens before bind/fetch complete
@@ -327,15 +340,14 @@
                     if (mServiceConnection[phoneId] != null) {
                         // If a ResponseReceiver callback is in the queue when this happens, we will
                         // unbind twice and throw an exception.
-                        mContext.unbindService(mServiceConnection[phoneId]);
+                        unbindIfBound(mContext, mServiceConnection[phoneId], phoneId);
                         broadcastConfigChangedIntent(phoneId);
                     }
                     notifySubscriptionInfoUpdater(phoneId);
                     break;
                 }
 
-                case EVENT_FETCH_DEFAULT_DONE:
-                {
+                case EVENT_FETCH_DEFAULT_DONE: {
                     // If we attempted to bind to the app, but the service connection is null, then
                     // config was cleared while we were waiting and we should not continue.
                     if (!msg.getData().getBoolean("loaded_from_xml", false)
@@ -344,7 +356,7 @@
                     }
                     final String carrierPackageName = getCarrierPackageForPhoneId(phoneId);
                     if (carrierPackageName != null) {
-                        log("Found carrier config app: " + carrierPackageName);
+                        logd("Found carrier config app: " + carrierPackageName);
                         sendMessage(obtainMessage(EVENT_DO_FETCH_CARRIER, phoneId, -1));
                     } else {
                         notifySubscriptionInfoUpdater(phoneId);
@@ -352,13 +364,12 @@
                     break;
                 }
 
-                case EVENT_DO_FETCH_CARRIER:
-                {
+                case EVENT_DO_FETCH_CARRIER: {
                     final String carrierPackageName = getCarrierPackageForPhoneId(phoneId);
                     final PersistableBundle config =
-                            restoreConfigFromXml(carrierPackageName, phoneId);
+                            restoreConfigFromXml(carrierPackageName, "", phoneId);
                     if (config != null) {
-                        log(
+                        logd(
                                 "Loaded config from XML. package="
                                         + carrierPackageName
                                         + " phoneId="
@@ -369,26 +380,22 @@
                         sendMessage(newMsg);
                     } else {
                         // No cached config, so fetch it from a carrier app.
-                        if (carrierPackageName != null
-                                && bindToConfigPackage(
-                                        carrierPackageName,
-                                        phoneId,
-                                        EVENT_CONNECTED_TO_CARRIER)) {
+                        if (carrierPackageName != null && bindToConfigPackage(carrierPackageName,
+                                phoneId, EVENT_CONNECTED_TO_CARRIER)) {
                             sendMessageDelayed(
                                     obtainMessage(EVENT_BIND_CARRIER_TIMEOUT, phoneId, -1),
                                     BIND_TIMEOUT_MILLIS);
                         } else {
                             // Send broadcast if bind fails.
                             broadcastConfigChangedIntent(phoneId);
-                            loge("bind to carrier app: " + carrierPackageName + " fails");
+                            loge("Bind to carrier app: " + carrierPackageName + " fails");
                             notifySubscriptionInfoUpdater(phoneId);
                         }
                     }
                     break;
                 }
 
-                case EVENT_CONNECTED_TO_CARRIER:
-                {
+                case EVENT_CONNECTED_TO_CARRIER: {
                     removeMessages(EVENT_BIND_CARRIER_TIMEOUT);
                     final CarrierServiceConnection conn = (CarrierServiceConnection) msg.obj;
                     // If new service connection has been created, unbind.
@@ -419,8 +426,8 @@
                                     }
                                     PersistableBundle config =
                                             resultData.getParcelable(KEY_CONFIG_BUNDLE);
-                                    saveConfigToXml(getCarrierPackageForPhoneId(phoneId), phoneId,
-                                        carrierId, config);
+                                    saveConfigToXml(getCarrierPackageForPhoneId(phoneId), "",
+                                            phoneId, carrierId, config);
                                     mConfigFromCarrierApp[phoneId] = config;
                                     sendMessage(
                                             obtainMessage(
@@ -432,7 +439,7 @@
                         ICarrierService carrierService =
                                 ICarrierService.Stub.asInterface(conn.service);
                         carrierService.getCarrierConfig(carrierId, resultReceiver);
-                        logWithLocalLog("fetch config for carrier app: "
+                        logdWithLocalLog("Fetch config for carrier app: "
                                 + getCarrierPackageForPhoneId(phoneId)
                                 + " carrierid: " + carrierId.toString());
                     } catch (RemoteException e) {
@@ -447,9 +454,8 @@
                 }
 
                 case EVENT_BIND_CARRIER_TIMEOUT:
-                case EVENT_FETCH_CARRIER_TIMEOUT:
-                {
-                    loge("bind/fetch from carrier app timeout");
+                case EVENT_FETCH_CARRIER_TIMEOUT: {
+                    loge("Bind/fetch from carrier app timeout");
                     removeMessages(EVENT_FETCH_CARRIER_TIMEOUT);
                     // If we attempted to bind to the app, but the service connection is null due to
                     // the race condition that clear config event happens before bind/fetch complete
@@ -463,8 +469,7 @@
                     notifySubscriptionInfoUpdater(phoneId);
                     break;
                 }
-                case EVENT_FETCH_CARRIER_DONE:
-                {
+                case EVENT_FETCH_CARRIER_DONE: {
                     // If we attempted to bind to the app, but the service connection is null, then
                     // config was cleared while we were waiting and we should not continue.
                     if (!msg.getData().getBoolean("loaded_from_xml", false)
@@ -475,13 +480,12 @@
                     break;
                 }
 
-                case EVENT_CHECK_SYSTEM_UPDATE:
-                {
+                case EVENT_CHECK_SYSTEM_UPDATE: {
                     SharedPreferences sharedPrefs =
                             PreferenceManager.getDefaultSharedPreferences(mContext);
                     final String lastFingerprint = sharedPrefs.getString(KEY_FINGERPRINT, null);
                     if (!Build.FINGERPRINT.equals(lastFingerprint)) {
-                        log(
+                        logd(
                                 "Build fingerprint changed. old: "
                                         + lastFingerprint
                                         + " new: "
@@ -498,6 +502,9 @@
                 case EVENT_SUBSCRIPTION_INFO_UPDATED:
                     broadcastConfigChangedIntent(phoneId);
                     break;
+                case EVENT_MULTI_SIM_CONFIG_CHANGED:
+                    onMultiSimConfigChanged();
+                    break;
             }
         }
     }
@@ -525,18 +532,21 @@
         pkgFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
         pkgFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
         pkgFilter.addDataScheme("package");
-        context.registerReceiverAsUser(mPackageReceiver, UserHandle.ALL, pkgFilter, null, null);
+        context.registerReceiver(mPackageReceiver, pkgFilter);
 
-        int numPhones = TelephonyManager.from(context).getPhoneCount();
+        int numPhones = TelephonyManager.from(context).getSupportedModemCount();
         mConfigFromDefaultApp = new PersistableBundle[numPhones];
         mConfigFromCarrierApp = new PersistableBundle[numPhones];
+        mPersistentOverrideConfigs = new PersistableBundle[numPhones];
         mOverrideConfigs = new PersistableBundle[numPhones];
         mServiceConnection = new CarrierServiceConnection[numPhones];
         mServiceBound = new boolean[numPhones];
         mHasSentConfigChange = new boolean[numPhones];
+        mFromSystemUnlocked = new boolean[numPhones];
         // Make this service available through ServiceManager.
-        ServiceManager.addService(Context.CARRIER_CONFIG_SERVICE, this);
-        log("CarrierConfigLoader has started");
+        TelephonyFrameworkInitializer
+                .getTelephonyServiceManager().getCarrierConfigServiceRegisterer().register(this);
+        logd("CarrierConfigLoader has started");
         mSubscriptionInfoUpdater = PhoneFactory.getSubscriptionInfoUpdater();
         mHandler.sendEmptyMessage(EVENT_CHECK_SYSTEM_UPDATE);
     }
@@ -558,6 +568,23 @@
         }
     }
 
+    private void clearConfigForPhone(int phoneId, boolean sendBroadcast) {
+        /* Ignore clear configuration request if device is being shutdown. */
+        Phone phone = PhoneFactory.getPhone(phoneId);
+        if (phone != null) {
+            if (phone.isShuttingDown()) {
+                return;
+            }
+        }
+
+        mConfigFromDefaultApp[phoneId] = null;
+        mConfigFromCarrierApp[phoneId] = null;
+        mServiceConnection[phoneId] = null;
+        mHasSentConfigChange[phoneId] = false;
+
+        if (sendBroadcast) broadcastConfigChangedIntent(phoneId, false);
+    }
+
     private void notifySubscriptionInfoUpdater(int phoneId) {
         String configPackagename;
         PersistableBundle configToSend;
@@ -571,6 +598,18 @@
             configPackagename = mPlatformCarrierConfigPackage;
             configToSend = mConfigFromDefaultApp[phoneId];
         }
+
+        if (configToSend == null) {
+            configToSend = new PersistableBundle();
+        }
+
+        // mOverrideConfigs is for testing. And it will override current configs.
+        PersistableBundle config = mOverrideConfigs[phoneId];
+        if (config != null) {
+            configToSend = new PersistableBundle(configToSend);
+            configToSend.putAll(config);
+        }
+
         mSubscriptionInfoUpdater.updateSubscriptionByCarrierConfigAndNotifyComplete(
                 phoneId, configPackagename, configToSend,
                 mHandler.obtainMessage(EVENT_SUBSCRIPTION_INFO_UPDATED, phoneId, -1));
@@ -583,7 +622,6 @@
     private void broadcastConfigChangedIntent(int phoneId, boolean addSubIdExtra) {
         Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
         intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT |
-                Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND |
                 Intent.FLAG_RECEIVER_FOREGROUND);
         if (addSubIdExtra) {
             int simApplicationState = TelephonyManager.SIM_STATE_UNKNOWN;
@@ -593,6 +631,8 @@
                         .createForSubscriptionId(subIds[0]);
                 simApplicationState = telMgr.getSimApplicationState();
             }
+            logd("Broadcast CARRIER_CONFIG_CHANGED for phone " + phoneId
+                    + " simApplicationState " + simApplicationState);
             // Include subId/carrier id extra only if SIM records are loaded
             if (simApplicationState != TelephonyManager.SIM_STATE_UNKNOWN
                     && simApplicationState != TelephonyManager.SIM_STATE_NOT_READY) {
@@ -603,17 +643,25 @@
             }
         }
         intent.putExtra(CarrierConfigManager.EXTRA_SLOT_INDEX, phoneId);
-        log("Broadcast CARRIER_CONFIG_CHANGED for phone " + phoneId);
-        ActivityManager.broadcastStickyIntent(intent, UserHandle.USER_ALL);
+        intent.putExtra(CarrierConfigManager.EXTRA_REBROADCAST_ON_UNLOCK,
+                mFromSystemUnlocked[phoneId]);
+        mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
+        int[] subIds = SubscriptionManager.getSubId(phoneId);
+        if (subIds != null && subIds.length > 0) {
+            logd("Broadcast CARRIER_CONFIG_CHANGED for phone " + phoneId + ", subId=" + subIds[0]);
+        } else {
+            logd("Broadcast CARRIER_CONFIG_CHANGED for phone " + phoneId);
+        }
         mHasSentConfigChange[phoneId] = true;
+        mFromSystemUnlocked[phoneId] = false;
     }
 
     /** Binds to the default or carrier config app. */
     private boolean bindToConfigPackage(String pkgName, int phoneId, int eventId) {
-        logWithLocalLog("Binding to " + pkgName + " for phone " + phoneId);
+        logdWithLocalLog("Binding to " + pkgName + " for phone " + phoneId);
         Intent carrierService = new Intent(CarrierService.CARRIER_SERVICE_INTERFACE);
         carrierService.setPackage(pkgName);
-        mServiceConnection[phoneId] = new CarrierServiceConnection(phoneId, eventId);
+        mServiceConnection[phoneId] = new CarrierServiceConnection(phoneId, pkgName, eventId);
         try {
             if (mContext.bindService(carrierService, mServiceConnection[phoneId],
                     Context.BIND_AUTO_CREATE)) {
@@ -720,12 +768,13 @@
      * In case of errors or invalid input, no file will be written.
      *
      * @param packageName the name of the package from which we fetched this bundle.
-     * @param phoneId the phone ID.
-     * @param carrierId contains all carrier-identifying information.
-     * @param config the bundle to be written. Null will be treated as an empty bundle.
+     * @param extraString An extra string to be used in the XML file name.
+     * @param phoneId     the phone ID.
+     * @param carrierId   contains all carrier-identifying information.
+     * @param config      the bundle to be written. Null will be treated as an empty bundle.
      */
-    private void saveConfigToXml(String packageName, int phoneId, CarrierIdentifier carrierId,
-        PersistableBundle config) {
+    private void saveConfigToXml(String packageName, @NonNull String extraString, int phoneId,
+            CarrierIdentifier carrierId, PersistableBundle config) {
         if (SubscriptionManager.getSimStateForSlotIndex(phoneId)
                 != TelephonyManager.SIM_STATE_LOADED) {
             loge("Skip save config because SIM records are not loaded.");
@@ -753,32 +802,19 @@
             return;
         }
 
-        logWithLocalLog("save config to xml, packagename: " + packageName + " phoneId: " + phoneId);
+        logdWithLocalLog(
+                "Save config to xml, packagename: " + packageName + " phoneId: " + phoneId);
 
         FileOutputStream outFile = null;
         try {
             outFile = new FileOutputStream(
                     new File(mContext.getFilesDir(),
-                            getFilenameForConfig(packageName, iccid, cid)));
-            FastXmlSerializer out = new FastXmlSerializer();
-            out.setOutput(outFile, "utf-8");
-            out.startDocument("utf-8", true);
-            out.startTag(null, TAG_DOCUMENT);
-            out.startTag(null, TAG_VERSION);
-            out.text(version);
-            out.endTag(null, TAG_VERSION);
-            out.startTag(null, TAG_BUNDLE);
-            config.saveToXml(out);
-            out.endTag(null, TAG_BUNDLE);
-            out.endTag(null, TAG_DOCUMENT);
-            out.endDocument();
-            out.flush();
+                            getFilenameForConfig(packageName, extraString, iccid, cid)));
+            config.putString(KEY_VERSION, version);
+            config.writeToStream(outFile);
+            outFile.flush();
             outFile.close();
-        }
-        catch (IOException e) {
-            loge(e.toString());
-        }
-        catch (XmlPullParserException e) {
+        } catch (IOException e) {
             loge(e.toString());
         }
     }
@@ -793,11 +829,13 @@
      * current version, then null will be returned.
      *
      * @param packageName the name of the package from which we fetched this bundle.
-     * @param phoneId the phone ID.
+     * @param extraString An extra string to be used in the XML file name.
+     * @param phoneId     the phone ID.
      * @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.
+     * version does not match, or reading config fails.
      */
-    private PersistableBundle restoreConfigFromXml(String packageName, int phoneId) {
+    private PersistableBundle restoreConfigFromXml(String packageName, @NonNull String extraString,
+            int phoneId) {
         final String version = getPackageVersion(packageName);
         if (version == null) {
             loge("Failed to get package version for: " + packageName);
@@ -817,38 +855,28 @@
         }
 
         PersistableBundle restoredBundle = null;
+        File file = null;
         FileInputStream inFile = null;
         try {
-            inFile = new FileInputStream(
-                    new File(mContext.getFilesDir(),
-                            getFilenameForConfig(packageName, iccid, cid)));
-            XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
-            parser.setInput(inFile, "utf-8");
+            file = new File(mContext.getFilesDir(),
+                    getFilenameForConfig(packageName, extraString, iccid, cid));
+            inFile = new FileInputStream(file);
 
-            int event;
-            while (((event = parser.next()) != XmlPullParser.END_DOCUMENT)) {
+            restoredBundle = PersistableBundle.readFromStream(inFile);
+            String savedVersion = restoredBundle.getString(KEY_VERSION);
+            restoredBundle.remove(KEY_VERSION);
 
-                if (event == XmlPullParser.START_TAG && TAG_VERSION.equals(parser.getName())) {
-                    String savedVersion = parser.nextText();
-                    if (!version.equals(savedVersion)) {
-                        loge("Saved version mismatch: " + version + " vs " + savedVersion);
-                        break;
-                    }
-                }
-
-                if (event == XmlPullParser.START_TAG && TAG_BUNDLE.equals(parser.getName())) {
-                    restoredBundle = PersistableBundle.restoreFromXml(parser);
-                }
+            if (!version.equals(savedVersion)) {
+                loge("Saved version mismatch: " + version + " vs " + savedVersion);
+                restoredBundle = null;
             }
+
             inFile.close();
-        }
-        catch (FileNotFoundException e) {
-            loge(e.toString());
-        }
-        catch (XmlPullParserException e) {
-            loge(e.toString());
-        }
-        catch (IOException e) {
+        } catch (FileNotFoundException e) {
+            // Missing file is normal occurrence that might occur with a new sim or when restoring
+            // an override file during boot and should not be treated as an error.
+            if (file != null) logd("File not found: " + file.getPath());
+        } catch (IOException e) {
             loge(e.toString());
         }
 
@@ -877,20 +905,20 @@
         });
         if (packageFiles == null || packageFiles.length < 1) return false;
         for (File f : packageFiles) {
-            log("deleting " + f.getName());
+            logd("Deleting " + f.getName());
             f.delete();
         }
         return true;
     }
 
     /** Builds a canonical file name for a config file. */
-    private String getFilenameForConfig(@NonNull String packageName, @NonNull String iccid,
-                                        int cid) {
+    private String getFilenameForConfig(@NonNull String packageName, @NonNull String extraString,
+            @NonNull String iccid, int cid) {
         // the same carrier should have a single copy of XML file named after carrier id.
         // However, it's still possible that platform doesn't recognize the current sim carrier,
         // we will use iccid + carrierid as the canonical file name. carrierid can also handle the
         // cases SIM OTA resolves to different carrier while iccid remains the same.
-        return "carrierconfig-" + packageName + "-" + iccid + "-" + cid + ".xml";
+        return "carrierconfig-" + packageName + extraString + "-" + iccid + "-" + cid + ".xml";
     }
 
     /** Return the current version code of a package, or null if the name is not found. */
@@ -920,10 +948,25 @@
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_DO_FETCH_DEFAULT, phoneId, -1));
     }
 
+    private void onMultiSimConfigChanged() {
+        for (int i = TelephonyManager.from(mContext).getActiveModemCount();
+                i < mConfigFromDefaultApp.length; i++) {
+            clearConfigForPhone(i, false);
+        }
+    }
+
     @Override
-    public @NonNull PersistableBundle getConfigForSubId(int subId, String callingPackage) {
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mContext, subId, callingPackage, "getCarrierConfig")) {
+    @NonNull
+    public PersistableBundle getConfigForSubId(int subId, String callingPackage) {
+        return getConfigForSubIdWithFeature(subId, callingPackage, null);
+    }
+
+    @Override
+    @NonNull
+    public PersistableBundle getConfigForSubIdWithFeature(int subId, String callingPackage,
+            String callingFeatureId) {
+        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mContext, subId, callingPackage,
+                callingFeatureId, "getCarrierConfig")) {
             return new PersistableBundle();
         }
 
@@ -933,49 +976,77 @@
             PersistableBundle config = mConfigFromDefaultApp[phoneId];
             if (config != null) {
                 retConfig.putAll(config);
-                retConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
+                if (getCarrierPackageForPhoneId(phoneId) == null) {
+                    retConfig.putBoolean(
+                            CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
+                }
             }
             config = mConfigFromCarrierApp[phoneId];
             if (config != null) {
                 retConfig.putAll(config);
                 retConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
             }
+            config = mPersistentOverrideConfigs[phoneId];
+            if (config != null) {
+                retConfig.putAll(config);
+                retConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
+            }
             config = mOverrideConfigs[phoneId];
             if (config != null) {
                 retConfig.putAll(config);
-                retConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
             }
         }
         return retConfig;
     }
 
     @Override
-    public void overrideConfig(int subscriptionId, PersistableBundle overrides) {
+    public void overrideConfig(int subscriptionId, @Nullable PersistableBundle overrides,
+            boolean persistent) {
         mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.MODIFY_PHONE_STATE, null);
         //TODO: Also check for SHELL UID to restrict this method to testing only (b/131326259)
         int phoneId = SubscriptionManager.getPhoneId(subscriptionId);
         if (!SubscriptionManager.isValidPhoneId(phoneId)) {
-            log("Ignore invalid phoneId: " + phoneId + " for subId: " + subscriptionId);
+            logd("Ignore invalid phoneId: " + phoneId + " for subId: " + subscriptionId);
             return;
         }
+        overrideConfig(mOverrideConfigs, phoneId, overrides);
 
-        if (overrides == null) {
-            mOverrideConfigs[phoneId] = new PersistableBundle();
-        } else if (mOverrideConfigs[phoneId] == null) {
-            mOverrideConfigs[phoneId] = overrides;
-        } else {
-            mOverrideConfigs[phoneId].putAll(overrides);
+        if (persistent) {
+            overrideConfig(mPersistentOverrideConfigs, phoneId, overrides);
+
+            if (overrides != null) {
+                final CarrierIdentifier carrierId = getCarrierIdentifierForPhoneId(phoneId);
+                saveConfigToXml(mPlatformCarrierConfigPackage, OVERRIDE_PACKAGE_ADDITION, phoneId,
+                        carrierId, mPersistentOverrideConfigs[phoneId]);
+            } else {
+                final String iccid = getIccIdForPhoneId(phoneId);
+                final int cid = getSpecificCarrierIdForPhoneId(phoneId);
+                String fileName = getFilenameForConfig(mPlatformCarrierConfigPackage,
+                        OVERRIDE_PACKAGE_ADDITION, iccid, cid);
+                File fileToDelete = new File(mContext.getFilesDir(), fileName);
+                fileToDelete.delete();
+            }
         }
-
         notifySubscriptionInfoUpdater(phoneId);
     }
 
+    private void overrideConfig(@NonNull PersistableBundle[] currentOverrides, int phoneId,
+            @Nullable PersistableBundle overrides) {
+        if (overrides == null) {
+            currentOverrides[phoneId] = new PersistableBundle();
+        } else if (currentOverrides[phoneId] == null) {
+            currentOverrides[phoneId] = overrides;
+        } else {
+            currentOverrides[phoneId].putAll(overrides);
+        }
+    }
+
     @Override
     public void notifyConfigChangedForSubId(int subId) {
         int phoneId = SubscriptionManager.getPhoneId(subId);
         if (!SubscriptionManager.isValidPhoneId(phoneId)) {
-            log("Ignore invalid phoneId: " + phoneId + " for subId: " + subId);
+            logd("Ignore invalid phoneId: " + phoneId + " for subId: " + subId);
             return;
         }
 
@@ -997,7 +1068,7 @@
     public void updateConfigForPhoneId(int phoneId, String simState) {
         mContext.enforceCallingOrSelfPermission(
                 android.Manifest.permission.MODIFY_PHONE_STATE, null);
-        logWithLocalLog("update config for phoneId: " + phoneId + " simState: " + simState);
+        logdWithLocalLog("Update config for phoneId: " + phoneId + " simState: " + simState);
         if (!SubscriptionManager.isValidPhoneId(phoneId)) {
             return;
         }
@@ -1007,6 +1078,7 @@
             case IccCardConstants.INTENT_VALUE_ICC_CARD_IO_ERROR:
             case IccCardConstants.INTENT_VALUE_ICC_CARD_RESTRICTED:
             case IccCardConstants.INTENT_VALUE_ICC_UNKNOWN:
+            case IccCardConstants.INTENT_VALUE_ICC_NOT_READY:
                 mHandler.sendMessage(mHandler.obtainMessage(EVENT_CLEAR_CONFIG, phoneId, -1));
                 break;
             case IccCardConstants.INTENT_VALUE_ICC_LOADED:
@@ -1018,45 +1090,84 @@
 
     @Override
     public String getDefaultCarrierServicePackageName() {
+        mContext.enforceCallingOrSelfPermission(
+                android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE,
+                "getDefaultCarrierServicePackageName");
         return mPlatformCarrierConfigPackage;
     }
 
+    private void unbindIfBound(Context context, CarrierServiceConnection conn,
+            int phoneId) {
+        if (mServiceBound[phoneId]) {
+            mServiceBound[phoneId] = false;
+            context.unbindService(conn);
+        }
+    }
+
+    /**
+     * If {@code args} contains {@link #DUMP_ARG_REQUESTING_PACKAGE} and a following package name,
+     * we'll also call {@link IBinder#dump} on the default carrier service (if bound) and the
+     * specified carrier service (if bound). Typically, this is done for connectivity bug reports
+     * where we don't call {@code dumpsys activity service all-non-platform} because that contains
+     * too much info, but we still want to let carrier apps include their diagnostics.
+     */
     @Override
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        IndentingPrintWriter indentPW = new IndentingPrintWriter(pw, "    ");
         if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.DUMP)
                 != PackageManager.PERMISSION_GRANTED) {
-            pw.println("Permission Denial: can't dump carrierconfig from from pid="
+            indentPW.println("Permission Denial: can't dump carrierconfig from from pid="
                     + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid());
             return;
         }
-        pw.println("CarrierConfigLoader: " + this);
-        for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
-            pw.println("Phone Id = " + i);
-            // display default values in CarrierConfigManager
-            printConfig(CarrierConfigManager.getDefaultConfig(), pw,
-                    "Default Values from CarrierConfigManager");
-            pw.println("");
-            // display ConfigFromDefaultApp
-            printConfig(mConfigFromDefaultApp[i], pw, "mConfigFromDefaultApp");
-            pw.println("");
-            // display ConfigFromCarrierApp
-            printConfig(mConfigFromCarrierApp[i], pw, "mConfigFromCarrierApp");
-            pw.println("");
-            printConfig(mOverrideConfigs[i], pw, "mOverrideConfigs");
+        String requestingPackage = null;
+        int requestingPackageIndex = ArrayUtils.indexOf(args, DUMP_ARG_REQUESTING_PACKAGE);
+        if (requestingPackageIndex >= 0 && requestingPackageIndex < args.length - 1
+                && !TextUtils.isEmpty(args[requestingPackageIndex + 1])) {
+            requestingPackage = args[requestingPackageIndex + 1];
+            // Throws a SecurityException if the caller is impersonating another app in an effort to
+            // dump extra info (which may contain PII the caller doesn't have a right to).
+            enforceCallerIsSystemOrRequestingPackage(requestingPackage);
         }
 
-        pw.println("CarrierConfigLoadingLog=");
-        mCarrierConfigLoadingLog.dump(fd, pw, args);
+        indentPW.println("CarrierConfigLoader: " + this);
+        for (int i = 0; i < TelephonyManager.from(mContext).getActiveModemCount(); i++) {
+            indentPW.println("Phone Id = " + i);
+            // display default values in CarrierConfigManager
+            printConfig(CarrierConfigManager.getDefaultConfig(), indentPW,
+                    "Default Values from CarrierConfigManager");
+            // display ConfigFromDefaultApp
+            printConfig(mConfigFromDefaultApp[i], indentPW, "mConfigFromDefaultApp");
+            // display ConfigFromCarrierApp
+            printConfig(mConfigFromCarrierApp[i], indentPW, "mConfigFromCarrierApp");
+            printConfig(mPersistentOverrideConfigs[i], indentPW, "mPersistentOverrideConfigs");
+            printConfig(mOverrideConfigs[i], indentPW, "mOverrideConfigs");
+        }
+
+        indentPW.println("CarrierConfigLoadingLog=");
+        mCarrierConfigLoadingLog.dump(fd, indentPW, args);
+
+        if (requestingPackage != null) {
+            logd("Including default and requesting package " + requestingPackage
+                    + " carrier services in dump");
+            indentPW.println("");
+            indentPW.println("Connected services");
+            dumpCarrierServiceIfBound(fd, indentPW, "Default config package",
+                    mPlatformCarrierConfigPackage, false /* considerCarrierPrivileges */);
+            dumpCarrierServiceIfBound(fd, indentPW, "Requesting package", requestingPackage,
+                    true /* considerCarrierPrivileges */);
+        }
     }
 
-    private void printConfig(PersistableBundle configApp, PrintWriter pw, String name) {
-        IndentingPrintWriter indentPW = new IndentingPrintWriter(pw, "    ");
+    private void printConfig(PersistableBundle configApp, IndentingPrintWriter indentPW,
+            String name) {
+        indentPW.increaseIndent();
         if (configApp == null) {
-            indentPW.increaseIndent();
             indentPW.println(name + " : null ");
+            indentPW.decreaseIndent();
+            indentPW.println("");
             return;
         }
-        indentPW.increaseIndent();
         indentPW.println(name + " : ");
         List<String> sortedKeys = new ArrayList<String>(configApp.keySet());
         Collections.sort(sortedKeys);
@@ -1072,35 +1183,162 @@
                 indentPW.println(key + " = " + configApp.get(key));
             }
         }
+        indentPW.decreaseIndent();
+        indentPW.decreaseIndent();
+        indentPW.decreaseIndent();
+        indentPW.println("");
     }
 
-    private void unbindIfBound(Context context, CarrierServiceConnection conn,
-            int phoneId) {
-        if (mServiceBound[phoneId]) {
-            mServiceBound[phoneId] = false;
-            context.unbindService(conn);
+    /**
+     * Passes without problem when one of these conditions is true:
+     * - The caller is a privileged UID (e.g. for dumpstate.cpp generating a bug report, where the
+     * system knows the true caller plumbed in through the {@link android.os.BugreportManager} API).
+     * - The caller's UID matches the supplied package.
+     *
+     * @throws SecurityException if none of the above conditions are met.
+     */
+    private void enforceCallerIsSystemOrRequestingPackage(String requestingPackage)
+            throws SecurityException {
+        final int callingUid = Binder.getCallingUid();
+        if (callingUid == Process.ROOT_UID || callingUid == Process.SYSTEM_UID
+                || callingUid == Process.SHELL_UID || callingUid == Process.PHONE_UID) {
+            // Bug reports (dumpstate.cpp) run as SHELL, and let some other privileged UIDs through
+            // as well.
+            return;
         }
+        // An app is trying to dump extra detail, block it if they aren't who they claim to be.
+        AppOpsManager appOps = mContext.getSystemService(AppOpsManager.class);
+        if (appOps == null) {
+            throw new SecurityException("No AppOps");
+        }
+        // Will throw a SecurityException if the UID and package don't match.
+        appOps.checkPackage(callingUid, requestingPackage);
+    }
+
+    /**
+     * Searches for one or more appropriate {@link CarrierService} instances to dump based on the
+     * current connections.
+     *
+     * @param targetPkgName             the target package name to dump carrier services for
+     * @param considerCarrierPrivileges if true, allow a carrier service to be dumped if it shares
+     *                                  carrier privileges with {@code targetPkgName};
+     *                                  otherwise, only dump a carrier service if it is {@code
+     *                                  targetPkgName}
+     */
+    private void dumpCarrierServiceIfBound(FileDescriptor fd, IndentingPrintWriter indentPW,
+            String prefix, 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
+        // used for multiple phoneIds, we assume that it's smart enough to handle that on its own,
+        // and that in most cases we'd just be dumping duplicate information and bloating a report.
+        indentPW.increaseIndent();
+        indentPW.println(prefix + " : " + targetPkgName);
+        Set<String> dumpedPkgNames = new ArraySet<>(mServiceConnection.length);
+        for (CarrierServiceConnection connection : mServiceConnection) {
+            if (connection == null || !SubscriptionManager.isValidPhoneId(connection.phoneId)
+                    || TextUtils.isEmpty(connection.pkgName)) {
+                continue;
+            }
+            final String servicePkgName = connection.pkgName;
+            // Note: we intentionally ignore system components here because we should NOT match the
+            // shell caller that's typically used for bug reports via non-BugreportManager triggers.
+            final boolean exactPackageMatch = TextUtils.equals(targetPkgName, servicePkgName);
+            final boolean carrierPrivilegesMatch =
+                    considerCarrierPrivileges && hasCarrierPrivileges(targetPkgName,
+                            connection.phoneId);
+            if (!exactPackageMatch && !carrierPrivilegesMatch) continue;
+            // Make sure this service is actually alive before trying to dump it. We don't pay
+            // attention to mServiceBound[connection.phoneId] because typically carrier apps will
+            // request long-lived bindings, and even if we unbind the app, it may still be alive due
+            // to CarrierServiceBindHelper. Pull it out as a reference so even if it gets set to
+            // null within the ServiceConnection during unbinding we can avoid an NPE.
+            final IBinder service = connection.service;
+            if (service == null || !service.isBinderAlive() || !service.pingBinder()) continue;
+            // We've got a live service. Last check is just to make sure we don't dump a package
+            // multiple times.
+            if (!dumpedPkgNames.add(servicePkgName)) continue;
+            if (!exactPackageMatch) {
+                logd(targetPkgName + " has carrier privileges on phoneId " + connection.phoneId
+                        + ", service provided by " + servicePkgName);
+                indentPW.increaseIndent();
+                indentPW.println("Proxy : " + servicePkgName);
+                indentPW.decreaseIndent();
+            }
+            // Flush before we let the app output anything to ensure correct ordering of output.
+            // Internally, Binder#dump calls flush on its printer after finishing so we don't
+            // need to do anything after.
+            indentPW.flush();
+            try {
+                logd("Dumping " + servicePkgName);
+                // We don't need to give the carrier service any args.
+                connection.service.dump(fd, null /* args */);
+                logd("Done with " + servicePkgName);
+            } catch (RemoteException e) {
+                logd("RemoteException from " + servicePkgName, e);
+                indentPW.increaseIndent();
+                indentPW.println("RemoteException");
+                indentPW.increaseIndent();
+                e.printStackTrace(indentPW);
+                indentPW.decreaseIndent();
+                indentPW.decreaseIndent();
+                // We won't retry this package again because now it's in dumpedPkgNames.
+            }
+            indentPW.println("");
+        }
+        if (dumpedPkgNames.isEmpty()) {
+            indentPW.increaseIndent();
+            indentPW.println("Not bound");
+            indentPW.decreaseIndent();
+            indentPW.println("");
+        }
+        indentPW.decreaseIndent();
+    }
+
+    private boolean hasCarrierPrivileges(String pkgName, int phoneId) {
+        int[] subIds = SubscriptionManager.getSubId(phoneId);
+        if (ArrayUtils.isEmpty(subIds)) {
+            return false;
+        }
+        return TelephonyManager.from(mContext).createForSubscriptionId(
+                subIds[0]).checkCarrierPrivilegesForPackage(pkgName)
+                == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS;
     }
 
     private class CarrierServiceConnection implements ServiceConnection {
-        int phoneId;
-        int eventId;
+        final int phoneId;
+        final String pkgName;
+        final int eventId;
         IBinder service;
 
-        public CarrierServiceConnection(int phoneId, int eventId) {
+        CarrierServiceConnection(int phoneId, String pkgName, int eventId) {
             this.phoneId = phoneId;
+            this.pkgName = pkgName;
             this.eventId = eventId;
         }
 
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
-            log("Connected to config app: " + name.flattenToString());
+            logd("Connected to config app: " + name.flattenToShortString());
             this.service = service;
             mHandler.sendMessage(mHandler.obtainMessage(eventId, phoneId, -1, this));
         }
 
         @Override
         public void onServiceDisconnected(ComponentName name) {
+            logd("Disconnected from config app: " + name.flattenToShortString());
+            this.service = null;
+        }
+
+        @Override
+        public void onBindingDied(ComponentName name) {
+            logd("Binding died from config app: " + name.flattenToShortString());
+            this.service = null;
+        }
+
+        @Override
+        public void onNullBinding(ComponentName name) {
+            logd("Null binding from config app: " + name.flattenToShortString());
             this.service = null;
         }
     }
@@ -1111,8 +1349,9 @@
             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))
+            if (replace && !Intent.ACTION_PACKAGE_REPLACED.equals(action)) {
                 return;
+            }
 
             switch (action) {
                 case Intent.ACTION_BOOT_COMPLETED:
@@ -1134,11 +1373,15 @@
         }
     }
 
-    private void log(String msg) {
+    private void logd(String msg) {
         Log.d(LOG_TAG, msg);
     }
 
-    private void logWithLocalLog(String msg) {
+    private void logd(String msg, Throwable tr) {
+        Log.d(LOG_TAG, msg, tr);
+    }
+
+    private void logdWithLocalLog(String msg) {
         Log.d(LOG_TAG, msg);
         mCarrierConfigLoadingLog.log(msg);
     }
diff --git a/src/com/android/phone/CdmaCallOptions.java b/src/com/android/phone/CdmaCallOptions.java
index acfa496..8513664 100644
--- a/src/com/android/phone/CdmaCallOptions.java
+++ b/src/com/android/phone/CdmaCallOptions.java
@@ -21,7 +21,6 @@
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
-import android.preference.SwitchPreference;
 import android.telephony.CarrierConfigManager;
 import android.view.MenuItem;
 
@@ -32,7 +31,7 @@
     private final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
 
     private static final String BUTTON_VP_KEY = "button_voice_privacy_key";
-    private SwitchPreference mButtonVoicePrivacy;
+    private CdmaVoicePrivacySwitchPreference mButtonVoicePrivacy;
 
     @Override
     protected void onCreate(Bundle icicle) {
@@ -44,7 +43,8 @@
         subInfoHelper.setActionBarTitle(
                 getActionBar(), getResources(), R.string.labelCdmaMore_with_label);
 
-        mButtonVoicePrivacy = (SwitchPreference) findPreference(BUTTON_VP_KEY);
+        mButtonVoicePrivacy = (CdmaVoicePrivacySwitchPreference) findPreference(BUTTON_VP_KEY);
+        mButtonVoicePrivacy.setPhone(subInfoHelper.getPhone());
         PersistableBundle carrierConfig;
         if (subInfoHelper.hasSubId()) {
             carrierConfig = PhoneGlobals.getInstance().getCarrierConfigForSubId(
diff --git a/src/com/android/phone/CdmaOptions.java b/src/com/android/phone/CdmaOptions.java
deleted file mode 100644
index 1dc4a09..0000000
--- a/src/com/android/phone/CdmaOptions.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (C) 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.
- * 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.Intent;
-import android.os.PersistableBundle;
-import android.os.SystemProperties;
-import android.preference.Preference;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceScreen;
-import android.provider.Settings;
-import android.telephony.CarrierConfigManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-
-/**
- * List of Phone-specific settings screens.
- */
-public class CdmaOptions {
-    private static final String LOG_TAG = "CdmaOptions";
-
-    private CarrierConfigManager mCarrierConfigManager;
-    private CdmaSystemSelectListPreference mButtonCdmaSystemSelect;
-    private CdmaSubscriptionListPreference mButtonCdmaSubscription;
-    private RestrictedPreference mButtonAPNExpand;
-    private Preference mCategoryAPNExpand;
-    private Preference mButtonCarrierSettings;
-
-    private static final String BUTTON_CDMA_SYSTEM_SELECT_KEY = "cdma_system_select_key";
-    private static final String BUTTON_CDMA_SUBSCRIPTION_KEY = "cdma_subscription_key";
-    private static final String BUTTON_CARRIER_SETTINGS_KEY = "carrier_settings_key";
-    private static final String BUTTON_APN_EXPAND_KEY = "button_cdma_apn_key";
-    private static final String CATEGORY_APN_EXPAND_KEY = "category_cdma_apn_key";
-
-    private PreferenceFragment mPrefFragment;
-    private PreferenceScreen mPrefScreen;
-    private int mSubId;
-
-    public CdmaOptions(PreferenceFragment prefFragment, PreferenceScreen prefScreen, int subId) {
-        mPrefFragment = prefFragment;
-        mPrefScreen = prefScreen;
-        mPrefFragment.addPreferencesFromResource(R.xml.cdma_options);
-        mCarrierConfigManager = new CarrierConfigManager(prefFragment.getContext());
-
-        // Initialize preferences.
-        mButtonCdmaSystemSelect = (CdmaSystemSelectListPreference) mPrefScreen
-                .findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY);
-        mButtonCdmaSubscription = (CdmaSubscriptionListPreference) mPrefScreen
-                .findPreference(BUTTON_CDMA_SUBSCRIPTION_KEY);
-        mButtonCarrierSettings = mPrefScreen.findPreference(BUTTON_CARRIER_SETTINGS_KEY);
-        mButtonAPNExpand = (RestrictedPreference) mPrefScreen.findPreference(BUTTON_APN_EXPAND_KEY);
-        mCategoryAPNExpand = mPrefScreen.findPreference(CATEGORY_APN_EXPAND_KEY);
-
-        updateSubscriptionId(subId);
-    }
-
-    protected void updateSubscriptionId(int subId) {
-        mSubId = subId;
-        int phoneType = TelephonyManager.from(mPrefFragment.getContext())
-                .createForSubscriptionId(mSubId).getPhoneType();
-
-        PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        // Some CDMA carriers want the APN settings.
-        boolean addAPNExpand = shouldAddApnExpandPreference(phoneType, carrierConfig);
-        boolean addCdmaSubscription =
-                deviceSupportsNvAndRuim();
-        // Read platform settings for carrier settings
-        boolean addCarrierSettings =
-                carrierConfig.getBoolean(CarrierConfigManager.KEY_CARRIER_SETTINGS_ENABLE_BOOL);
-
-        mPrefScreen.addPreference(mButtonCdmaSystemSelect);
-        mButtonCdmaSystemSelect.setEnabled(true);
-
-        // Making no assumptions of whether they are added or removed at this point.
-        // Calling add or remove explicitly to make sure they are updated.
-
-        if (addAPNExpand) {
-            log("update: addAPNExpand");
-            mButtonAPNExpand.setDisabledByAdmin(
-                    MobileNetworkSettings.isDpcApnEnforced(mButtonAPNExpand.getContext())
-                            ? RestrictedLockUtilsInternal.getDeviceOwner(
-                                    mButtonAPNExpand.getContext())
-                            : null);
-            mButtonAPNExpand.setOnPreferenceClickListener(
-                    new Preference.OnPreferenceClickListener() {
-                        @Override
-                        public boolean onPreferenceClick(Preference preference) {
-                            MetricsLogger.action(mButtonAPNExpand.getContext(),
-                                    MetricsEvent.ACTION_MOBILE_NETWORK_APN_SETTINGS);
-                            // We need to build the Intent by hand as the Preference Framework
-                            // does not allow to add an Intent with some extras into a Preference
-                            // XML file
-                            final Intent intent = new Intent(Settings.ACTION_APN_SETTINGS);
-                            // This will setup the Home and Search affordance
-                            intent.putExtra(":settings:show_fragment_as_subsetting", true);
-                            intent.putExtra("sub_id", mSubId);
-                            mPrefFragment.startActivity(intent);
-                            return true;
-                        }
-                    });
-            mPrefScreen.addPreference(mCategoryAPNExpand);
-        } else {
-            mPrefScreen.removePreference(mCategoryAPNExpand);
-        }
-
-        if (addCdmaSubscription) {
-            log("Both NV and Ruim supported, ENABLE subscription type selection");
-            mPrefScreen.addPreference(mButtonCdmaSubscription);
-            mButtonCdmaSubscription.setEnabled(true);
-        } else {
-            log("Both NV and Ruim NOT supported, REMOVE subscription type selection");
-            mPrefScreen.removePreference(mButtonCdmaSubscription);
-        }
-
-        if (addCarrierSettings) {
-            mPrefScreen.addPreference(mButtonCarrierSettings);
-        } else {
-            mPrefScreen.removePreference(mButtonCarrierSettings);
-        }
-    }
-
-    /**
-     * Return whether we should add the APN expandable preference based on the phone type and
-     * carrier config
-     */
-    @VisibleForTesting
-    public static boolean shouldAddApnExpandPreference(int phoneType, PersistableBundle config) {
-        return phoneType == PhoneConstants.PHONE_TYPE_CDMA
-                && config.getBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL);
-    }
-
-    private boolean deviceSupportsNvAndRuim() {
-        // retrieve the list of subscription types supported by device.
-        String subscriptionsSupported = SystemProperties.get("ril.subscription.types");
-        boolean nvSupported = false;
-        boolean ruimSupported = false;
-
-        log("deviceSupportsnvAnRum: prop=" + subscriptionsSupported);
-        if (!TextUtils.isEmpty(subscriptionsSupported)) {
-            // Searches through the comma-separated list for a match for "NV"
-            // and "RUIM" to update nvSupported and ruimSupported.
-            for (String subscriptionType : subscriptionsSupported.split(",")) {
-                subscriptionType = subscriptionType.trim();
-                if (subscriptionType.equalsIgnoreCase("NV")) {
-                    nvSupported = true;
-                }
-                if (subscriptionType.equalsIgnoreCase("RUIM")) {
-                    ruimSupported = true;
-                }
-            }
-        }
-
-        log("deviceSupportsnvAnRum: nvSupported=" + nvSupported +
-                " ruimSupported=" + ruimSupported);
-        return (nvSupported && ruimSupported);
-    }
-
-    public boolean preferenceTreeClick(Preference preference) {
-        if (preference.getKey().equals(BUTTON_CDMA_SYSTEM_SELECT_KEY)) {
-            log("preferenceTreeClick: return BUTTON_CDMA_ROAMING_KEY true");
-            return true;
-        }
-        if (preference.getKey().equals(BUTTON_CDMA_SUBSCRIPTION_KEY)) {
-            log("preferenceTreeClick: return CDMA_SUBSCRIPTION_KEY true");
-            return true;
-        }
-        return false;
-    }
-
-    public void showDialog(Preference preference) {
-        if (preference.getKey().equals(BUTTON_CDMA_SYSTEM_SELECT_KEY)) {
-            mButtonCdmaSystemSelect.showDialog(null);
-        } else if (preference.getKey().equals(BUTTON_CDMA_SUBSCRIPTION_KEY)) {
-            mButtonCdmaSubscription.showDialog(null);
-        }
-    }
-
-    protected void log(String s) {
-        android.util.Log.d(LOG_TAG, s);
-    }
-}
diff --git a/src/com/android/phone/CdmaSubscriptionListPreference.java b/src/com/android/phone/CdmaSubscriptionListPreference.java
deleted file mode 100644
index cd0c681..0000000
--- a/src/com/android/phone/CdmaSubscriptionListPreference.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2009 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.os.Bundle;
-import android.preference.ListPreference;
-import android.provider.Settings;
-import android.telephony.TelephonyManager;
-import android.util.AttributeSet;
-import android.util.Log;
-
-import com.android.internal.telephony.Phone;
-import com.android.settingslib.utils.ThreadUtils;
-
-public class CdmaSubscriptionListPreference extends ListPreference {
-
-    private static final String LOG_TAG = "CdmaSubscriptionListPreference";
-
-    // Used for CDMA subscription mode
-    private static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0;
-    private static final int CDMA_SUBSCRIPTION_NV = 1;
-
-    //preferredSubscriptionMode  0 - RUIM/SIM, preferred
-    //                           1 - NV
-    static final int preferredSubscriptionMode = Phone.PREFERRED_CDMA_SUBSCRIPTION;
-
-    private TelephonyManager mTelephonyManager;
-
-    public CdmaSubscriptionListPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-
-        mTelephonyManager = TelephonyManager.from(context);
-        setCurrentCdmaSubscriptionModeValue();
-    }
-
-    private void setCurrentCdmaSubscriptionModeValue() {
-        int cdmaSubscriptionMode = Settings.Global.getInt(getContext().getContentResolver(),
-                Settings.Global.CDMA_SUBSCRIPTION_MODE, preferredSubscriptionMode);
-        setValue(Integer.toString(cdmaSubscriptionMode));
-    }
-
-    public CdmaSubscriptionListPreference(Context context) {
-        this(context, null);
-    }
-
-    /**
-     * Sets the subscription id associated with this preference.
-     *
-     * @param subId the subscription id.
-     */
-    public void setSubscriptionId(int subId) {
-        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(subId);
-    }
-
-    @Override
-    protected void showDialog(Bundle state) {
-        setCurrentCdmaSubscriptionModeValue();
-
-        super.showDialog(state);
-    }
-
-    @Override
-    protected void onDialogClosed(boolean positiveResult) {
-        super.onDialogClosed(positiveResult);
-
-        if (!positiveResult) {
-            //The button was dismissed - no need to set new value
-            return;
-        }
-
-        int buttonCdmaSubscriptionMode = Integer.parseInt(getValue());
-        Log.d(LOG_TAG, "Setting new value " + buttonCdmaSubscriptionMode);
-        int statusCdmaSubscriptionMode;
-        switch(buttonCdmaSubscriptionMode) {
-            case CDMA_SUBSCRIPTION_NV:
-                statusCdmaSubscriptionMode = Phone.CDMA_SUBSCRIPTION_NV;
-                break;
-            case CDMA_SUBSCRIPTION_RUIM_SIM:
-                statusCdmaSubscriptionMode = Phone.CDMA_SUBSCRIPTION_RUIM_SIM;
-                break;
-            default:
-                statusCdmaSubscriptionMode = Phone.PREFERRED_CDMA_SUBSCRIPTION;
-        }
-
-        // Set the CDMA subscription mode, when mode has been successfully changed, update the
-        // mode to the global setting.
-        ThreadUtils.postOnBackgroundThread(() -> {
-            // The subscription mode selected by user.
-            int cdmaSubscriptionMode = Integer.parseInt(getValue());
-
-            boolean isSuccessed = mTelephonyManager.setCdmaSubscriptionMode(
-                    statusCdmaSubscriptionMode);
-
-            // Update the global settings if successed.
-            if (isSuccessed) {
-                Settings.Global.putInt(getContext().getContentResolver(),
-                        Settings.Global.CDMA_SUBSCRIPTION_MODE,
-                        cdmaSubscriptionMode);
-            } else {
-                Log.e(LOG_TAG, "Setting Cdma subscription source failed");
-            }
-        });
-    }
-}
diff --git a/src/com/android/phone/CdmaSystemSelectListPreference.java b/src/com/android/phone/CdmaSystemSelectListPreference.java
deleted file mode 100644
index 0044a8b..0000000
--- a/src/com/android/phone/CdmaSystemSelectListPreference.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2009 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.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.preference.ListPreference;
-import android.provider.Settings;
-import android.telephony.TelephonyManager;
-import android.util.AttributeSet;
-import android.util.Log;
-
-import com.android.settingslib.utils.ThreadUtils;
-
-public class CdmaSystemSelectListPreference extends ListPreference {
-
-    private static final String LOG_TAG = "CdmaRoamingListPreference";
-    private static final boolean DBG = false;
-
-    private TelephonyManager mTelephonyManager;
-    private MyHandler mHandler = new MyHandler();
-
-    public CdmaSystemSelectListPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-
-        mHandler = new MyHandler();
-        mTelephonyManager = TelephonyManager.from(context);
-    }
-
-    public CdmaSystemSelectListPreference(Context context) {
-        this(context, null);
-    }
-
-    /**
-     * Sets the subscription id associated with this preference.
-     *
-     * @param subId the subscription id.
-     */
-    public void setSubscriptionId(int subId) {
-        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(subId);
-        queryCdmaRoamingMode();
-    }
-
-    @Override
-    protected void showDialog(Bundle state) {
-        if (!mTelephonyManager.getEmergencyCallbackMode()) {
-            super.showDialog(state);
-        }
-    }
-
-    @Override
-    protected void onDialogClosed(boolean positiveResult) {
-        super.onDialogClosed(positiveResult);
-
-        if (positiveResult && (getValue() != null)) {
-            int buttonCdmaRoamingMode = Integer.parseInt(getValue());
-            int settingsCdmaRoamingMode = Settings.Global.getInt(
-                    getContext().getContentResolver(),
-                    Settings.Global.CDMA_ROAMING_MODE,
-                    TelephonyManager.CDMA_ROAMING_MODE_HOME);
-            if (buttonCdmaRoamingMode != settingsCdmaRoamingMode) {
-                int cdmaRoamingMode = TelephonyManager.CDMA_ROAMING_MODE_ANY;
-                if (buttonCdmaRoamingMode != TelephonyManager.CDMA_ROAMING_MODE_ANY) {
-                    cdmaRoamingMode = TelephonyManager.CDMA_ROAMING_MODE_HOME;
-                }
-                //Set the Settings.Secure network mode
-                Settings.Global.putInt(
-                        getContext().getContentResolver(),
-                        Settings.Global.CDMA_ROAMING_MODE,
-                        buttonCdmaRoamingMode);
-                //Set the roaming preference mode
-                setCdmaRoamingMode(cdmaRoamingMode);
-            }
-        } else {
-            Log.d(LOG_TAG, String.format("onDialogClosed: positiveResult=%b value=%s -- do nothing",
-                    positiveResult, getValue()));
-        }
-    }
-
-    private class MyHandler extends Handler {
-
-        static final int MESSAGE_GET_ROAMING_PREFERENCE = 0;
-        static final int MESSAGE_SET_ROAMING_PREFERENCE = 1;
-
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MESSAGE_GET_ROAMING_PREFERENCE:
-                    handleQueryCdmaRoamingPreference(msg);
-                    break;
-
-                case MESSAGE_SET_ROAMING_PREFERENCE:
-                    handleSetCdmaRoamingPreference(msg);
-                    break;
-            }
-        }
-
-        private void handleQueryCdmaRoamingPreference(Message msg) {
-            int cdmaRoamingMode = msg.arg1;
-
-            if (cdmaRoamingMode != TelephonyManager.CDMA_ROAMING_MODE_RADIO_DEFAULT) {
-                int settingsRoamingMode = Settings.Global.getInt(
-                        getContext().getContentResolver(),
-                        Settings.Global.CDMA_ROAMING_MODE,
-                        TelephonyManager.CDMA_ROAMING_MODE_HOME);
-
-                //check that statusCdmaRoamingMode is from an accepted value
-                if (cdmaRoamingMode == TelephonyManager.CDMA_ROAMING_MODE_HOME
-                        || cdmaRoamingMode == TelephonyManager.CDMA_ROAMING_MODE_ANY) {
-                    //check changes in statusCdmaRoamingMode and updates settingsRoamingMode
-                    if (cdmaRoamingMode != settingsRoamingMode) {
-                        settingsRoamingMode = cdmaRoamingMode;
-                        //changes the Settings.Secure accordingly to statusCdmaRoamingMode
-                        Settings.Global.putInt(
-                                getContext().getContentResolver(),
-                                Settings.Global.CDMA_ROAMING_MODE,
-                                settingsRoamingMode);
-                    }
-                    //changes the mButtonPreferredNetworkMode accordingly to modemNetworkMode
-                    setValue(Integer.toString(cdmaRoamingMode));
-                }
-                else {
-                    if(DBG) Log.i(LOG_TAG, "reset cdma roaming mode to default" );
-                    resetCdmaRoamingModeToDefault();
-                }
-            }
-        }
-
-        private void handleSetCdmaRoamingPreference(Message msg) {
-            boolean isSuccessed = (boolean) msg.obj;
-
-            if (isSuccessed && (getValue() != null)) {
-                int cdmaRoamingMode = Integer.parseInt(getValue());
-                Settings.Global.putInt(
-                        getContext().getContentResolver(),
-                        Settings.Global.CDMA_ROAMING_MODE,
-                        cdmaRoamingMode );
-            } else {
-                queryCdmaRoamingMode();
-            }
-        }
-
-        private void resetCdmaRoamingModeToDefault() {
-            //set the mButtonCdmaRoam
-            setValue(Integer.toString(TelephonyManager.CDMA_ROAMING_MODE_ANY));
-            //set the Settings.System
-            Settings.Global.putInt(
-                    getContext().getContentResolver(),
-                    Settings.Global.CDMA_ROAMING_MODE,
-                    TelephonyManager.CDMA_ROAMING_MODE_ANY);
-            //Set the Status
-            setCdmaRoamingMode(TelephonyManager.CDMA_ROAMING_MODE_ANY);
-        }
-    }
-
-    private void queryCdmaRoamingMode() {
-        ThreadUtils.postOnBackgroundThread(() -> {
-            Message msg = mHandler.obtainMessage(MyHandler.MESSAGE_GET_ROAMING_PREFERENCE);
-            msg.arg1 = mTelephonyManager.getCdmaRoamingMode();
-            msg.sendToTarget();
-        });
-    }
-
-    private void setCdmaRoamingMode(int mode) {
-        ThreadUtils.postOnBackgroundThread(() -> {
-            Message msg = mHandler.obtainMessage(MyHandler.MESSAGE_SET_ROAMING_PREFERENCE);
-            msg.obj = mTelephonyManager.setCdmaRoamingMode(mode);
-            msg.sendToTarget();
-        });
-    }
-}
diff --git a/src/com/android/phone/CdmaVoicePrivacySwitchPreference.java b/src/com/android/phone/CdmaVoicePrivacySwitchPreference.java
index b79a3f0..0192c2a 100644
--- a/src/com/android/phone/CdmaVoicePrivacySwitchPreference.java
+++ b/src/com/android/phone/CdmaVoicePrivacySwitchPreference.java
@@ -102,4 +102,8 @@
             phone.getEnhancedVoicePrivacy(obtainMessage(MESSAGE_GET_VP));
         }
     }
+
+    public void setPhone(Phone phone) {
+        this.phone = phone;
+    }
 }
diff --git a/src/com/android/phone/CellInfoUtil.java b/src/com/android/phone/CellInfoUtil.java
index 8272029..f6d741f 100644
--- a/src/com/android/phone/CellInfoUtil.java
+++ b/src/com/android/phone/CellInfoUtil.java
@@ -33,6 +33,7 @@
 
 import com.android.internal.telephony.OperatorInfo;
 
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -149,7 +150,8 @@
                 mcc,
                 mnc,
                 operatorInfo.getOperatorAlphaLong(),
-                operatorInfo.getOperatorAlphaShort());
+                operatorInfo.getOperatorAlphaShort(),
+                Collections.emptyList());
 
         CellInfoGsm ci = new CellInfoGsm();
         ci.setCellIdentity(cig);
diff --git a/src/com/android/phone/DataUsagePreference.java b/src/com/android/phone/DataUsagePreference.java
deleted file mode 100644
index b6b26e2..0000000
--- a/src/com/android/phone/DataUsagePreference.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2017 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.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.net.NetworkTemplate;
-import android.preference.Preference;
-import android.provider.Settings;
-import android.telephony.TelephonyManager;
-import android.text.format.Formatter;
-import android.util.AttributeSet;
-
-import com.android.settingslib.net.DataUsageController;
-
-/**
- * The preference that shows mobile data usage summary and
- * leads to mobile data usage list page.
- */
-public class DataUsagePreference extends Preference {
-
-    private NetworkTemplate mTemplate;
-    private int mSubId;
-
-    public DataUsagePreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    /**
-     * After creating this preference, this functions needs to be called to
-     * initialize which subID it connects to.
-     */
-    public void initialize(int subId) {
-        Activity activity = (Activity) getContext();
-
-        mSubId = subId;
-        mTemplate = getNetworkTemplate(activity, subId);
-
-        DataUsageController controller = new DataUsageController(activity);
-
-        DataUsageController.DataUsageInfo usageInfo = controller.getDataUsageInfo(mTemplate);
-        setSummary(activity.getString(R.string.data_usage_template,
-                Formatter.formatFileSize(activity, usageInfo.usageLevel), usageInfo.period));
-        setIntent(getIntent());
-    }
-
-    @Override
-    public Intent getIntent() {
-        Intent intent = new Intent(Settings.ACTION_MOBILE_DATA_USAGE);
-
-        intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mTemplate);
-        intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
-
-        return intent;
-    }
-
-    private NetworkTemplate getNetworkTemplate(Activity activity, int subId) {
-        TelephonyManager tm = (TelephonyManager) activity
-                .getSystemService(Context.TELEPHONY_SERVICE);
-        NetworkTemplate mobileAll = NetworkTemplate.buildTemplateMobileAll(
-                tm.getSubscriberId(subId));
-        return NetworkTemplate.normalize(mobileAll,
-                tm.getMergedSubscriberIds());
-    }
-}
diff --git a/src/com/android/phone/EmergencyActionGroup.java b/src/com/android/phone/EmergencyActionGroup.java
index b8bf7a8..4961a69 100644
--- a/src/com/android/phone/EmergencyActionGroup.java
+++ b/src/com/android/phone/EmergencyActionGroup.java
@@ -157,21 +157,19 @@
     public void onClick(View v) {
         Intent intent = (Intent) v.getTag(R.id.tag_intent);
 
-        switch (v.getId()) {
-            case R.id.action1:
-            case R.id.action2:
-            case R.id.action3:
-                if (AccessibilityManager.getInstance(mContext).isTouchExplorationEnabled()) {
-                    getContext().startActivity(intent);
-                } else {
-                    revealTheButton(v);
-                }
-                break;
-            case R.id.selected_container:
-                if (!mHiding) {
-                    getContext().startActivity(intent);
-                }
-                break;
+        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);
+            }
         }
     }
 
diff --git a/src/com/android/phone/EmergencyAssistanceHelper.java b/src/com/android/phone/EmergencyAssistanceHelper.java
index 33788d3..79ee515 100644
--- a/src/com/android/phone/EmergencyAssistanceHelper.java
+++ b/src/com/android/phone/EmergencyAssistanceHelper.java
@@ -31,8 +31,6 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import com.android.internal.util.CollectionUtils;
-
 import java.util.List;
 
 /**
@@ -120,8 +118,9 @@
     private static String getDefaultEmergencyPackage(Context context) {
         long identity = Binder.clearCallingIdentity();
         try {
-            return CollectionUtils.firstOrNull(context.getSystemService(RoleManager.class)
-                    .getRoleHolders(RoleManager.ROLE_EMERGENCY));
+            List<String> roleHolders = context.getSystemService(RoleManager.class)
+                    .getRoleHolders(RoleManager.ROLE_EMERGENCY);
+            return roleHolders.isEmpty() ? null : roleHolders.get(0);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
diff --git a/src/com/android/phone/EmergencyCallbackModeExitDialog.java b/src/com/android/phone/EmergencyCallbackModeExitDialog.java
index e602b34..591f435 100644
--- a/src/com/android/phone/EmergencyCallbackModeExitDialog.java
+++ b/src/com/android/phone/EmergencyCallbackModeExitDialog.java
@@ -35,6 +35,7 @@
 import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
+import android.telephony.TelephonyManager;
 import android.util.Log;
 
 import com.android.internal.telephony.Phone;
@@ -68,6 +69,7 @@
     private boolean mInEmergencyCall = false;
     private static final int ECM_TIMER_RESET = 1;
     private Phone mPhone = null;
+    private boolean mIsResumed = false;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -100,6 +102,18 @@
     }
 
     @Override
+    public void onResume() {
+        super.onResume();
+        mIsResumed = true;
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mIsResumed = false;
+    }
+
+    @Override
     public void onDestroy() {
         super.onDestroy();
         try {
@@ -176,7 +190,7 @@
      * Shows Emergency Callback Mode dialog and starts countdown timer
      */
     private void showEmergencyCallbackModeExitDialog() {
-        if (this.isDestroyed()) {
+        if (isDestroyed()) {
             Log.w(TAG, "Tried to show dialog, but activity was already finished");
             return;
         }
@@ -287,8 +301,14 @@
             return String.format(getResources().getQuantityText(
                     R.plurals.alert_dialog_not_avaialble_in_ecm, minutes).toString(), time);
         case EXIT_ECM_DIALOG:
-            return String.format(getResources().getQuantityText(R.plurals.alert_dialog_exit_ecm,
-                    minutes).toString(), time);
+                boolean shouldRestrictData = mPhone.getImsPhone() != null
+                        && mPhone.getImsPhone().isInImsEcm();
+                return String.format(getResources().getQuantityText(
+                        // 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);
         }
         return null;
     }
@@ -311,7 +331,8 @@
             // Received exit Emergency Callback Mode notification close all dialogs
             if (intent.getAction().equals(
                     TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED)) {
-                if (intent.getBooleanExtra("phoneinECMState", false) == false) {
+                // Cancel if the sticky broadcast extra for whether or not we are in ECM is false.
+                if (!intent.getBooleanExtra(TelephonyManager.EXTRA_PHONE_IN_ECM_STATE, false)) {
                     if (mAlertDialog != null)
                         mAlertDialog.dismiss();
                     if (mProgressDialog != null)
diff --git a/src/com/android/phone/EmergencyCallbackModeService.java b/src/com/android/phone/EmergencyCallbackModeService.java
index 86f8fe6..464db6f 100644
--- a/src/com/android/phone/EmergencyCallbackModeService.java
+++ b/src/com/android/phone/EmergencyCallbackModeService.java
@@ -30,13 +30,14 @@
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
-import android.os.SystemProperties;
+import android.os.UserHandle;
+import android.sysprop.TelephonyProperties;
+import android.telephony.TelephonyManager;
 import android.util.Log;
 
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.telephony.TelephonyProperties;
 import com.android.internal.telephony.util.NotificationChannelController;
 
 import java.text.SimpleDateFormat;
@@ -50,7 +51,7 @@
 public class EmergencyCallbackModeService extends Service {
 
     // Default Emergency Callback Mode timeout value
-    private static final int DEFAULT_ECM_EXIT_TIMER_VALUE = 300000;
+    private static final long DEFAULT_ECM_EXIT_TIMER_VALUE = 300000L;
     private static final String LOG_TAG = "EmergencyCallbackModeService";
 
     private NotificationManager mNotificationManager = null;
@@ -106,7 +107,8 @@
             mPhone.unregisterForEcmTimerReset(mHandler);
 
             // Cancel the notification and timer
-            mNotificationManager.cancel(R.string.phone_in_ecm_notification_title);
+            mNotificationManager.cancelAsUser(null, R.string.phone_in_ecm_notification_title,
+                    UserHandle.ALL);
             mTimer.cancel();
         }
     }
@@ -120,7 +122,7 @@
             // Stop the service when phone exits Emergency Callback Mode
             if (intent.getAction().equals(
                     TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED)) {
-                if (intent.getBooleanExtra("phoneinECMState", false) == false) {
+                if (!intent.getBooleanExtra(TelephonyManager.EXTRA_PHONE_IN_ECM_STATE, false)) {
                     stopSelf();
                 }
             }
@@ -139,8 +141,7 @@
      */
     private void startTimerNotification() {
         // Get Emergency Callback Mode timeout value
-        long ecmTimeout = SystemProperties.getLong(
-                    TelephonyProperties.PROPERTY_ECM_EXIT_TIMER, DEFAULT_ECM_EXIT_TIMER_VALUE);
+        long ecmTimeout = TelephonyProperties.ecm_exit_timer().orElse(DEFAULT_ECM_EXIT_TIMER_VALUE);
 
         // Show the notification
         showNotification(ecmTimeout);
@@ -198,7 +199,11 @@
         // Format notification string
         String text = null;
         if(mInEmergencyCall) {
-            text = getText(R.string.phone_in_ecm_call_notification_text).toString();
+            text = getText(
+                    // During IMS ECM, data restriction hint should be removed.
+                    (imsPhone != null && imsPhone.isInImsEcm())
+                    ? R.string.phone_in_ecm_call_notification_text_without_data_restriction_hint
+                    : R.string.phone_in_ecm_call_notification_text).toString();
         } else {
             // Calculate the time in ms when the notification will be finished.
             long finishedCountMs = millisUntilFinished + System.currentTimeMillis();
@@ -209,14 +214,19 @@
 
             String completeTime = SimpleDateFormat.getTimeInstance(SimpleDateFormat.SHORT).format(
                     finishedCountMs);
-            text = getResources().getString(R.string.phone_in_ecm_notification_complete_time,
+            text = getResources().getString(
+                    // During IMS ECM, data restriction hint should be removed.
+                    (imsPhone != null && imsPhone.isInImsEcm())
+                    ? R.string.phone_in_ecm_notification_complete_time_without_data_restriction_hint
+                    : R.string.phone_in_ecm_notification_complete_time,
                     completeTime);
         }
         builder.setContentText(text);
         builder.setChannelId(NotificationChannelController.CHANNEL_ID_ALERT);
 
         // Show notification
-        mNotificationManager.notify(R.string.phone_in_ecm_notification_title, builder.build());
+        mNotificationManager.notifyAsUser(null, R.string.phone_in_ecm_notification_title,
+                builder.build(), UserHandle.ALL);
     }
 
     /**
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 03a2e57..42bfb24 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -20,9 +20,11 @@
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
+import android.annotation.ColorInt;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
+import android.app.WallpaperColors;
 import android.app.WallpaperManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -31,6 +33,7 @@
 import android.database.DataSetObserver;
 import android.graphics.Color;
 import android.graphics.Point;
+import android.graphics.drawable.ColorDrawable;
 import android.media.AudioManager;
 import android.media.ToneGenerator;
 import android.net.Uri;
@@ -38,12 +41,10 @@
 import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.provider.Settings;
-import android.telecom.ParcelableCallAnalytics;
 import android.telecom.PhoneAccount;
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneNumberUtils;
-import android.telephony.Rlog;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -68,15 +69,10 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.TextView;
 
-import com.android.internal.colorextraction.ColorExtractor;
-import com.android.internal.colorextraction.ColorExtractor.GradientColors;
-import com.android.internal.colorextraction.drawable.ScrimDrawable;
-import com.android.phone.EmergencyDialerMetricsLogger.DialedFrom;
-import com.android.phone.EmergencyDialerMetricsLogger.PhoneNumberType;
-import com.android.phone.EmergencyDialerMetricsLogger.UiModeErrorCode;
 import com.android.phone.common.dialpad.DialpadKeyButton;
 import com.android.phone.common.util.ViewUtil;
 import com.android.phone.common.widget.ResizingTextEditText;
+import com.android.telephony.Rlog;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -100,7 +96,8 @@
  */
 public class EmergencyDialer extends Activity implements View.OnClickListener,
         View.OnLongClickListener, View.OnKeyListener, TextWatcher,
-        DialpadKeyButton.OnPressedListener, ColorExtractor.OnColorsChangedListener,
+        DialpadKeyButton.OnPressedListener,
+        WallpaperManager.OnColorsChangedListener,
         EmergencyShortcutButton.OnConfirmClickListener,
         EmergencyInfoGroup.OnConfirmClickListener {
 
@@ -155,6 +152,11 @@
     /** Size limit of emergency shortcut buttons container. **/
     private static final int SHORTCUT_SIZE_LIMIT = 3;
 
+    private static final float COLOR_DELTA = 1.0f / 16.0f;
+
+    /** Dial button color, from packages/apps/PhoneCommon/res/drawable-mdpi/fab_green.png **/
+    @ColorInt private static final int DIALER_GREEN = 0xff00c853;
+
     ResizingTextEditText mDigits;
     private View mDialButton;
     private View mDelete;
@@ -212,8 +214,7 @@
     private String mLastNumber; // last number we tried to dial. Used to restore error dialog.
 
     // Background gradient
-    private ColorExtractor mColorExtractor;
-    private ScrimDrawable mBackgroundDrawable;
+    private ColorDrawable mBackgroundDrawable;
     private boolean mSupportsDarkText;
 
     private boolean mIsWfcEmergencyCallingWarningEnabled;
@@ -222,8 +223,6 @@
     private int mEntryType;
     private ShortcutViewUtils.Config mShortcutViewConfig;
 
-    private EmergencyDialerMetricsLogger mMetricsLogger;
-
     @Override
     public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         // Do nothing
@@ -258,8 +257,6 @@
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        mMetricsLogger = new EmergencyDialerMetricsLogger(this);
-
         mEntryType = getIntent().getIntExtra(EXTRA_ENTRY_TYPE, ENTRY_TYPE_UNKNOWN);
         Log.d(LOG_TAG, "Launched from " + entryTypeToString(mEntryType));
 
@@ -276,15 +273,13 @@
         Log.d(LOG_TAG, "Enable emergency dialer shortcut: "
                 + mShortcutViewConfig.isEnabled());
 
-        mColorExtractor = new ColorExtractor(this);
-
         if (mShortcutViewConfig.isEnabled()) {
             // Shortcut view doesn't support dark text theme.
             updateTheme(false);
         } else {
-            GradientColors lockScreenColors = mColorExtractor.getColors(WallpaperManager.FLAG_LOCK,
-                    ColorExtractor.TYPE_EXTRA_DARK);
-            updateTheme(lockScreenColors.supportsDarkText());
+            WallpaperColors wallpaperColors =
+                    getWallpaperManager().getWallpaperColors(WallpaperManager.FLAG_LOCK);
+            updateTheme(supportsDarkText(wallpaperColors));
         }
 
         setContentView(R.layout.emergency_dialer);
@@ -298,7 +293,7 @@
         mDefaultDigitsTextSize = mDigits.getScaledTextSize();
         maybeAddNumberFormatting();
 
-        mBackgroundDrawable = new ScrimDrawable();
+        mBackgroundDrawable = new ColorDrawable();
         Point displaySize = new Point();
         ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
                 .getDefaultDisplay().getSize(displaySize);
@@ -471,16 +466,15 @@
 
     @Override
     public boolean onKey(View view, int keyCode, KeyEvent event) {
-        switch (view.getId()) {
-            case R.id.digits:
-                // Happen when "Done" button of the IME is pressed. This can happen when this
-                // Activity is forced into landscape mode due to a desk dock.
-                if (keyCode == KeyEvent.KEYCODE_ENTER
-                        && event.getAction() == KeyEvent.ACTION_UP) {
-                    placeCall();
-                    return true;
-                }
-                break;
+        if (view.getId()
+                == R.id.digits) { // Happen when "Done" button of the IME is pressed. This can
+            // happen when this
+            // Activity is forced into landscape mode due to a desk dock.
+            if (keyCode == KeyEvent.KEYCODE_ENTER
+                    && event.getAction() == KeyEvent.ACTION_UP) {
+                placeCall();
+                return true;
+            }
         }
         return false;
     }
@@ -501,11 +495,7 @@
         if (!TextUtils.isEmpty(phoneNumber)) {
             if (DBG) Log.d(LOG_TAG, "dial emergency number: " + Rlog.pii(LOG_TAG, phoneNumber));
 
-            // Write metrics when user has intention to make a call from a shortcut button.
-            mMetricsLogger.logPlaceCall(DialedFrom.SHORTCUT, PhoneNumberType.HAS_SHORTCUT,
-                    mShortcutViewConfig.getPhoneInfo());
-
-            placeCall(phoneNumber, ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_SHORTCUT,
+            placeCall(phoneNumber, TelecomManager.CALL_SOURCE_EMERGENCY_SHORTCUT,
                     mShortcutViewConfig.getPhoneInfo());
         } else {
             Log.d(LOG_TAG, "emergency number is empty");
@@ -524,27 +514,22 @@
 
     @Override
     public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.deleteButton: {
-                keyPressed(KeyEvent.KEYCODE_DEL);
-                return;
+        if (view.getId() == R.id.deleteButton) {
+            keyPressed(KeyEvent.KEYCODE_DEL);
+            return;
+        } else if (view.getId() == R.id.floating_action_button) {
+            view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
+            placeCall();
+            return;
+        } else if (view.getId() == R.id.digits) {
+            if (mDigits.length() != 0) {
+                mDigits.setCursorVisible(true);
             }
-            case R.id.floating_action_button: {
-                view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
-                placeCall();
-                return;
-            }
-            case R.id.digits: {
-                if (mDigits.length() != 0) {
-                    mDigits.setCursorVisible(true);
-                }
-                return;
-            }
-            case R.id.floating_action_button_dialpad: {
-                mDigits.getText().clear();
-                switchView(mDialpadView, mEmergencyShortcutView, true);
-                return;
-            }
+            return;
+        } else if (view.getId() == R.id.floating_action_button_dialpad) {
+            mDigits.getText().clear();
+            switchView(mDialpadView, mEmergencyShortcutView, true);
+            return;
         }
     }
 
@@ -553,67 +538,54 @@
         if (!pressed) {
             return;
         }
-        switch (view.getId()) {
-            case R.id.one: {
-                playTone(ToneGenerator.TONE_DTMF_1);
-                keyPressed(KeyEvent.KEYCODE_1);
-                return;
-            }
-            case R.id.two: {
-                playTone(ToneGenerator.TONE_DTMF_2);
-                keyPressed(KeyEvent.KEYCODE_2);
-                return;
-            }
-            case R.id.three: {
-                playTone(ToneGenerator.TONE_DTMF_3);
-                keyPressed(KeyEvent.KEYCODE_3);
-                return;
-            }
-            case R.id.four: {
-                playTone(ToneGenerator.TONE_DTMF_4);
-                keyPressed(KeyEvent.KEYCODE_4);
-                return;
-            }
-            case R.id.five: {
-                playTone(ToneGenerator.TONE_DTMF_5);
-                keyPressed(KeyEvent.KEYCODE_5);
-                return;
-            }
-            case R.id.six: {
-                playTone(ToneGenerator.TONE_DTMF_6);
-                keyPressed(KeyEvent.KEYCODE_6);
-                return;
-            }
-            case R.id.seven: {
-                playTone(ToneGenerator.TONE_DTMF_7);
-                keyPressed(KeyEvent.KEYCODE_7);
-                return;
-            }
-            case R.id.eight: {
-                playTone(ToneGenerator.TONE_DTMF_8);
-                keyPressed(KeyEvent.KEYCODE_8);
-                return;
-            }
-            case R.id.nine: {
-                playTone(ToneGenerator.TONE_DTMF_9);
-                keyPressed(KeyEvent.KEYCODE_9);
-                return;
-            }
-            case R.id.zero: {
-                playTone(ToneGenerator.TONE_DTMF_0);
-                keyPressed(KeyEvent.KEYCODE_0);
-                return;
-            }
-            case R.id.pound: {
-                playTone(ToneGenerator.TONE_DTMF_P);
-                keyPressed(KeyEvent.KEYCODE_POUND);
-                return;
-            }
-            case R.id.star: {
-                playTone(ToneGenerator.TONE_DTMF_S);
-                keyPressed(KeyEvent.KEYCODE_STAR);
-                return;
-            }
+        if (view.getId() == R.id.one) {
+            playTone(ToneGenerator.TONE_DTMF_1);
+            keyPressed(KeyEvent.KEYCODE_1);
+            return;
+        } else if (view.getId() == R.id.two) {
+            playTone(ToneGenerator.TONE_DTMF_2);
+            keyPressed(KeyEvent.KEYCODE_2);
+            return;
+        } else if (view.getId() == R.id.three) {
+            playTone(ToneGenerator.TONE_DTMF_3);
+            keyPressed(KeyEvent.KEYCODE_3);
+            return;
+        } else if (view.getId() == R.id.four) {
+            playTone(ToneGenerator.TONE_DTMF_4);
+            keyPressed(KeyEvent.KEYCODE_4);
+            return;
+        } else if (view.getId() == R.id.five) {
+            playTone(ToneGenerator.TONE_DTMF_5);
+            keyPressed(KeyEvent.KEYCODE_5);
+            return;
+        } else if (view.getId() == R.id.six) {
+            playTone(ToneGenerator.TONE_DTMF_6);
+            keyPressed(KeyEvent.KEYCODE_6);
+            return;
+        } else if (view.getId() == R.id.seven) {
+            playTone(ToneGenerator.TONE_DTMF_7);
+            keyPressed(KeyEvent.KEYCODE_7);
+            return;
+        } else if (view.getId() == R.id.eight) {
+            playTone(ToneGenerator.TONE_DTMF_8);
+            keyPressed(KeyEvent.KEYCODE_8);
+            return;
+        } else if (view.getId() == R.id.nine) {
+            playTone(ToneGenerator.TONE_DTMF_9);
+            keyPressed(KeyEvent.KEYCODE_9);
+            return;
+        } else if (view.getId() == R.id.zero) {
+            playTone(ToneGenerator.TONE_DTMF_0);
+            keyPressed(KeyEvent.KEYCODE_0);
+            return;
+        } else if (view.getId() == R.id.pound) {
+            playTone(ToneGenerator.TONE_DTMF_P);
+            keyPressed(KeyEvent.KEYCODE_POUND);
+            return;
+        } else if (view.getId() == R.id.star) {
+            playTone(ToneGenerator.TONE_DTMF_S);
+            keyPressed(KeyEvent.KEYCODE_STAR);
+            return;
         }
     }
 
@@ -623,16 +595,13 @@
     @Override
     public boolean onLongClick(View view) {
         int id = view.getId();
-        switch (id) {
-            case R.id.deleteButton: {
-                mDigits.getText().clear();
-                return true;
-            }
-            case R.id.zero: {
-                removePreviousDigitIfPossible();
-                keyPressed(KeyEvent.KEYCODE_PLUS);
-                return true;
-            }
+        if (id == R.id.deleteButton) {
+            mDigits.getText().clear();
+            return true;
+        } else if (id == R.id.zero) {
+            removePreviousDigitIfPossible();
+            keyPressed(KeyEvent.KEYCODE_PLUS);
+            return true;
         }
         return false;
     }
@@ -641,21 +610,20 @@
     protected void onStart() {
         super.onStart();
 
-        mMetricsLogger.logLaunchEmergencyDialer(mEntryType,
-                mShortcutViewConfig.isEnabled() ? UiModeErrorCode.SUCCESS
-                        : UiModeErrorCode.UNSPECIFIED_ERROR);
-
         if (mShortcutViewConfig.isEnabled()) {
             // Shortcut view doesn't support dark text theme.
-            mBackgroundDrawable.setColor(Color.BLACK, false);
+            mBackgroundDrawable.setColor(Color.BLACK);
             updateTheme(false);
         } else {
-            mColorExtractor.addOnColorsChangedListener(this);
-            GradientColors lockScreenColors = mColorExtractor.getColors(WallpaperManager.FLAG_LOCK,
-                    ColorExtractor.TYPE_EXTRA_DARK);
-            // Do not animate when view isn't visible yet, just set an initial state.
-            mBackgroundDrawable.setColor(lockScreenColors.getMainColor(), false);
-            updateTheme(lockScreenColors.supportsDarkText());
+            WallpaperManager wallpaperManager = getWallpaperManager();
+            if (wallpaperManager.isWallpaperSupported()) {
+                wallpaperManager.addOnColorsChangedListener(this, null);
+            }
+
+            WallpaperColors wallpaperColors =
+                    wallpaperManager.getWallpaperColors(WallpaperManager.FLAG_LOCK);
+            mBackgroundDrawable.setColor(getPrimaryColor(wallpaperColors));
+            updateTheme(supportsDarkText(wallpaperColors));
         }
 
         if (mShortcutViewConfig.isEnabled()) {
@@ -696,7 +664,11 @@
     @Override
     protected void onStop() {
         super.onStop();
-        mColorExtractor.removeOnColorsChangedListener(this);
+
+        WallpaperManager wallpaperManager = getWallpaperManager();
+        if (wallpaperManager.isWallpaperSupported()) {
+            wallpaperManager.removeOnColorsChangedListener(this);
+        }
     }
 
     /**
@@ -741,28 +713,24 @@
         // nothing and just returns input number.
         mLastNumber = PhoneNumberUtils.convertToEmergencyNumber(this, mLastNumber);
 
-        @DialedFrom final int dialedFrom =
-                mShortcutViewConfig.isEnabled() ? DialedFrom.FASTER_LAUNCHER_DIALPAD
-                        : DialedFrom.TRADITIONAL_DIALPAD;
-        @PhoneNumberType final int phoneNumberType;
-
         boolean isEmergencyNumber;
         ShortcutViewUtils.PhoneInfo phoneToMakeCall = null;
         if (mShortcutAdapter != null && mShortcutAdapter.hasShortcut(mLastNumber)) {
             isEmergencyNumber = true;
             phoneToMakeCall = mShortcutViewConfig.getPhoneInfo();
-            phoneNumberType = PhoneNumberType.HAS_SHORTCUT;
         } else if (mShortcutViewConfig.hasPromotedEmergencyNumber(mLastNumber)) {
             // If a number from SIM/network/... is categoried as police/ambulance/fire,
             // hasPromotedEmergencyNumber() will return true, but it maybe not promoted as a
             // shortcut button because a number provided by database has higher priority.
             isEmergencyNumber = true;
             phoneToMakeCall = mShortcutViewConfig.getPhoneInfo();
-            phoneNumberType = PhoneNumberType.NO_SHORTCUT;
         } else {
-            isEmergencyNumber = getSystemService(TelephonyManager.class)
-                    .isEmergencyNumber(mLastNumber);
-            phoneNumberType = PhoneNumberType.NO_SHORTCUT;
+            try {
+                isEmergencyNumber = getSystemService(TelephonyManager.class)
+                        .isEmergencyNumber(mLastNumber);
+            } catch (IllegalStateException ise) {
+                isEmergencyNumber = false;
+            }
         }
 
         if (isEmergencyNumber) {
@@ -775,19 +743,11 @@
                 return;
             }
 
-            // Write metrics when user has intention to make a call from dialpad
-            mMetricsLogger.logPlaceCall(dialedFrom, phoneNumberType, phoneToMakeCall);
-
-            placeCall(mLastNumber, ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_DIALPAD,
+            placeCall(mLastNumber, TelecomManager.CALL_SOURCE_EMERGENCY_DIALPAD,
                     phoneToMakeCall);
         } else {
             if (DBG) Log.d(LOG_TAG, "rejecting bad requested number " + mLastNumber);
 
-            // Write metrics when user has intention to make a call of a non-emergency number, even
-            // this number is rejected.
-            mMetricsLogger.logPlaceCall(dialedFrom, PhoneNumberType.NOT_EMERGENCY_NUMBER,
-                    phoneToMakeCall);
-
             showDialog(BAD_EMERGENCY_NUMBER_DIALOG);
         }
         mDigits.getText().delete(0, mDigits.getText().length());
@@ -937,12 +897,10 @@
     }
 
     @Override
-    public void onColorsChanged(ColorExtractor extractor, int which) {
+    public void onColorsChanged(WallpaperColors colors, int which) {
         if ((which & WallpaperManager.FLAG_LOCK) != 0) {
-            GradientColors colors = extractor.getColors(WallpaperManager.FLAG_LOCK,
-                    ColorExtractor.TYPE_EXTRA_DARK);
-            mBackgroundDrawable.setColor(colors.getMainColor(), true /* animated */);
-            updateTheme(colors.supportsDarkText());
+            mBackgroundDrawable.setColor(getPrimaryColor(colors));
+            updateTheme(supportsDarkText(colors));
         }
     }
 
@@ -1223,12 +1181,88 @@
 
     private String callSourceToString(int callSource) {
         switch (callSource) {
-            case ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_DIALPAD:
+            case TelecomManager.CALL_SOURCE_EMERGENCY_DIALPAD:
                 return "DialPad";
-            case ParcelableCallAnalytics.CALL_SOURCE_EMERGENCY_SHORTCUT:
+            case TelecomManager.CALL_SOURCE_EMERGENCY_SHORTCUT:
                 return "Shortcut";
             default:
                 return "Unknown-" + callSource;
         }
     }
+
+    private WallpaperManager getWallpaperManager() {
+        return getSystemService(WallpaperManager.class);
+    }
+
+    private static boolean supportsDarkText(WallpaperColors colors) {
+        if (colors != null) {
+            return (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT) != 0;
+        }
+        // It's possible that wallpaper colors are null (e.g. when colors are being
+        // processed or a live wallpaper is used). In this case, fallback to same
+        // behavior as when shortcut view is enabled.
+        return false;
+    }
+
+    private int getPrimaryColor(WallpaperColors colors) {
+        if (colors != null) {
+            // Android accessibility scanner
+            // (https://support.google.com/accessibility/android/answer/7158390)
+            // suggest small text and graphics have a contrast ratio greater than
+            // 4.5 with background color. The color generated from wallpaper may not
+            // follow this rule. Calculate a proper color here.
+            Color primary = colors.getPrimaryColor();
+            Color text;
+            if (mSupportsDarkText) {
+                text = Color.valueOf(Color.BLACK);
+            } else {
+                text = Color.valueOf(Color.WHITE);
+            }
+            Color dial = Color.valueOf(DIALER_GREEN);
+            // If current primary color can't follow the contrast ratio rule, make it
+            // deeper/lighter and try again.
+            while (!checkContrastRatio(primary, text)) {
+                primary = getNextColor(primary, mSupportsDarkText);
+            }
+            if (!mSupportsDarkText) {
+                while (!checkContrastRatio(primary, dial)) {
+                    primary = getNextColor(primary, mSupportsDarkText);
+                }
+            }
+            return primary.toArgb();
+        }
+        // It's possible that wallpaper colors are null (e.g. when colors are being
+        // processed or a live wallpaper is used). In this case, fallback to same
+        // behavior as when shortcut view is enabled.
+        return Color.BLACK;
+    }
+
+    private Color getNextColor(Color color, boolean darkText) {
+        float sign = darkText ? 1.f : -1.f;
+        float r = color.red() + sign * COLOR_DELTA;
+        float g = color.green() + sign * COLOR_DELTA;
+        float b = color.blue() + sign * COLOR_DELTA;
+        if (r < 0f) r = 0f;
+        if (g < 0f) g = 0f;
+        if (b < 0f) b = 0f;
+        if (r > 1f) r = 1f;
+        if (g > 1f) g = 1f;
+        if (b > 1f) b = 1f;
+        return Color.valueOf(r, g, b);
+    }
+
+    private boolean checkContrastRatio(Color color1, Color color2) {
+        float lum1 = color1.luminance();
+        float lum2 = color2.luminance();
+        double cr;
+        if (lum1 >= lum2) {
+            cr = (lum1 + 0.05) / (lum2 + 0.05);
+        } else {
+            cr = (lum2 + 0.05) / (lum1 + 0.05);
+        }
+
+        // Make cr greater than 5.0 instead of 4.5 to guarantee that transparent white
+        // text and graphics can have contrast ratio greather than 4.5 with background.
+        return cr > 5.0;
+    }
 }
diff --git a/src/com/android/phone/EmergencyDialerMetricsLogger.java b/src/com/android/phone/EmergencyDialerMetricsLogger.java
deleted file mode 100644
index b9ba352..0000000
--- a/src/com/android/phone/EmergencyDialerMetricsLogger.java
+++ /dev/null
@@ -1,289 +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 com.android.phone;
-
-import android.annotation.IntDef;
-import android.app.KeyguardManager;
-import android.content.Context;
-import android.metrics.LogMaker;
-import android.os.Build;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-
-import androidx.annotation.Nullable;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * EmergencyCallMetricsLogger is a utility to collect metrics of emergency calls
- */
-class EmergencyDialerMetricsLogger {
-    private static final String LOG_TAG = "EmergencyDialerLogger";
-
-    @IntDef({
-            DialedFrom.TRADITIONAL_DIALPAD,
-            DialedFrom.SHORTCUT,
-            DialedFrom.FASTER_LAUNCHER_DIALPAD,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface DialedFrom {
-        int TRADITIONAL_DIALPAD = 0;
-        int SHORTCUT = 1;
-        int FASTER_LAUNCHER_DIALPAD = 2;
-    }
-
-    @IntDef({
-            LaunchedFrom.UNDEFINED,
-            LaunchedFrom.LOCK_SCREEN,
-            LaunchedFrom.POWER_KEY_MENU,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface LaunchedFrom {
-        int UNDEFINED = 0;
-        int LOCK_SCREEN = 1;
-        int POWER_KEY_MENU = 2;
-    }
-
-    @IntDef({
-            PhoneNumberType.HAS_SHORTCUT,
-            PhoneNumberType.NO_SHORTCUT,
-            PhoneNumberType.NOT_EMERGENCY_NUMBER,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface PhoneNumberType {
-        int HAS_SHORTCUT = 0;
-        int NO_SHORTCUT = 1;
-        int NOT_EMERGENCY_NUMBER = 2;
-    }
-
-    @IntDef({
-            UiModeErrorCode.UNSPECIFIED_ERROR,
-            UiModeErrorCode.SUCCESS,
-            UiModeErrorCode.CONFIG_ENTRY_POINT,
-            UiModeErrorCode.CONFIG_SIM_OPERATOR,
-            UiModeErrorCode.UNSUPPORTED_COUNTRY,
-            UiModeErrorCode.AIRPLANE_MODE,
-            UiModeErrorCode.NO_PROMOTED_NUMBER,
-            UiModeErrorCode.NO_CAPABLE_PHONE,
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    @interface UiModeErrorCode {
-        int UNSPECIFIED_ERROR = -1;
-        int SUCCESS = 0;
-        int CONFIG_ENTRY_POINT = 1;
-        int CONFIG_SIM_OPERATOR = 2;
-        int UNSUPPORTED_COUNTRY = 3;
-        int AIRPLANE_MODE = 4;
-        int NO_PROMOTED_NUMBER = 5;
-        int NO_CAPABLE_PHONE = 6;
-    }
-
-    private class TelephonyInfo {
-        private final String mNetworkCountryIso;
-        private final String mNetworkOperator;
-
-        TelephonyInfo(String networkCountryIso, String networkOperator) {
-            mNetworkCountryIso = networkCountryIso;
-            mNetworkOperator = networkOperator;
-        }
-    }
-
-    private final MetricsLogger mMetricsLogger = new MetricsLogger();
-
-    private final Context mAppContext;
-
-    @LaunchedFrom
-    private int mLaunchedFrom;
-    @UiModeErrorCode
-    private int mUiModeErrorCode;
-
-    EmergencyDialerMetricsLogger(Context context) {
-        mAppContext = context.getApplicationContext();
-    }
-
-    /**
-     * Log when Emergency Dialer is launched.
-     * - Where the user launch Emergency Dialer from.
-     * - Whether shortcut view is enabled, and the reason why it's not enabled.
-     *
-     * @param entryType
-     * @param uiModeErrorCode
-     */
-    public void logLaunchEmergencyDialer(int entryType,
-            @UiModeErrorCode int uiModeErrorCode) {
-        final @EmergencyDialerMetricsLogger.LaunchedFrom int launchedFrom;
-        if (entryType == EmergencyDialer.ENTRY_TYPE_LOCKSCREEN_BUTTON) {
-            launchedFrom = EmergencyDialerMetricsLogger.LaunchedFrom.LOCK_SCREEN;
-        } else if (entryType == EmergencyDialer.ENTRY_TYPE_POWER_MENU) {
-            launchedFrom = EmergencyDialerMetricsLogger.LaunchedFrom.POWER_KEY_MENU;
-        } else {
-            launchedFrom = EmergencyDialerMetricsLogger.LaunchedFrom.UNDEFINED;
-        }
-
-        mLaunchedFrom = launchedFrom;
-        mUiModeErrorCode = uiModeErrorCode;
-    }
-
-    /**
-     * Log when user tring to place an emergency call.
-     * - Which UI (traditional dialpad, shortcut button, dialpad in shortcut view) the user place
-     *   the call from.
-     * - The number is promoted in shortcut view or not, or not even an emergency number?
-     * - Whether the device is locked.
-     * - Network country ISO and network operator.
-     *
-     * @param dialedFrom
-     * @param phoneNumberType
-     * @param phoneInfo
-     */
-    public void logPlaceCall(@DialedFrom int dialedFrom,
-            @PhoneNumberType int phoneNumberType,
-            @Nullable ShortcutViewUtils.PhoneInfo phoneInfo) {
-        TelephonyInfo telephonyInfo = getTelephonyInfo(phoneNumberType, phoneInfo);
-        final KeyguardManager keyguard = mAppContext.getSystemService(KeyguardManager.class);
-
-        logBeforeMakeCall(dialedFrom, phoneNumberType, keyguard.isKeyguardLocked(),
-                telephonyInfo.mNetworkCountryIso, telephonyInfo.mNetworkOperator);
-    }
-
-    private TelephonyInfo getTelephonyInfo(@PhoneNumberType int phoneNumberType,
-            @Nullable ShortcutViewUtils.PhoneInfo phoneInfo) {
-        final TelephonyManager telephonyManager = mAppContext.getSystemService(
-                TelephonyManager.class);
-        final TelephonyManager subTelephonyManager;
-        final String networkCountryIso;
-        final String networkOperator;
-        if (phoneNumberType == PhoneNumberType.HAS_SHORTCUT && phoneInfo != null) {
-            subTelephonyManager = telephonyManager.createForSubscriptionId(phoneInfo.getSubId());
-            networkCountryIso = phoneInfo.getCountryIso();
-        } else {
-            // No specific phone to make this call. Take information of default network.
-            subTelephonyManager = null;
-            networkCountryIso = telephonyManager.getNetworkCountryIso();
-        }
-        if (subTelephonyManager != null) {
-            networkOperator = subTelephonyManager.getNetworkOperator();
-        } else {
-            // This could be:
-            // - No specific phone to make this call.
-            // - Subscription changed! Maybe the device roamed to another network?
-            // Take information of default network.
-            networkOperator = telephonyManager.getNetworkOperator();
-        }
-
-        return new TelephonyInfo(networkCountryIso, networkOperator);
-    }
-
-    private void logBeforeMakeCall(@DialedFrom int dialedFrom,
-            @PhoneNumberType int phoneNumberType,
-            boolean isDeviceLocked,
-            String networkCountryIso,
-            String networkOperator) {
-        if (Log.isLoggable(LOG_TAG, Log.DEBUG)) {
-            Log.d(LOG_TAG, "EmergencyDialer session: dialedFrom=" + dialFromToString(dialedFrom)
-                    + ", launchedFrom=" + launchedFromToString(mLaunchedFrom)
-                    + ", uimode=" + uiModeErrorCodeToString(mUiModeErrorCode)
-                    + ", type=" + phoneNumberTypeToString(phoneNumberType)
-                    + ", locked=" + isDeviceLocked
-                    + ", country=" + networkCountryIso
-                    + ", operator=" + networkOperator);
-        }
-        mMetricsLogger.write(new LogMaker(MetricsEvent.EMERGENCY_DIALER_MAKE_CALL_V2)
-                .setType(MetricsEvent.TYPE_ACTION)
-                .setSubtype(dialedFrom)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_LAUNCH_FROM, mLaunchedFrom)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_UI_MODE_ERROR_CODE,
-                        mUiModeErrorCode)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_PHONE_NUMBER_TYPE,
-                        phoneNumberType)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_IS_DEVICE_LOCKED,
-                        isDeviceLocked ? 1 : 0)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_NETWORK_COUNTRY_ISO,
-                        networkCountryIso)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_NETWORK_OPERATOR,
-                        networkOperator)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_RADIO_VERSION,
-                        Build.getRadioVersion())
-        );
-    }
-
-    private String dialFromToString(@DialedFrom int dialedFrom) {
-        switch (dialedFrom) {
-            case DialedFrom.TRADITIONAL_DIALPAD:
-                return "traditional";
-            case DialedFrom.SHORTCUT:
-                return "shortcut";
-            case DialedFrom.FASTER_LAUNCHER_DIALPAD:
-                return "dialpad";
-            default:
-                return "unknown_error";
-        }
-    }
-
-    private String launchedFromToString(@LaunchedFrom int launchedFrom) {
-        switch (launchedFrom) {
-            case LaunchedFrom.UNDEFINED:
-                return "undefined";
-            case LaunchedFrom.LOCK_SCREEN:
-                return "lockscreen";
-            case LaunchedFrom.POWER_KEY_MENU:
-                return "powermenu";
-            default:
-                return "unknown_error";
-        }
-    }
-
-    private String phoneNumberTypeToString(@PhoneNumberType int phoneNumberType) {
-        switch (phoneNumberType) {
-            case PhoneNumberType.HAS_SHORTCUT:
-                return "has_shortcut";
-            case PhoneNumberType.NO_SHORTCUT:
-                return "no_shortcut";
-            case PhoneNumberType.NOT_EMERGENCY_NUMBER:
-                return "not_emergency";
-            default:
-                return "unknown_error";
-        }
-    }
-
-    private String uiModeErrorCodeToString(@UiModeErrorCode int uiModeErrorCode) {
-        switch (uiModeErrorCode) {
-            case UiModeErrorCode.UNSPECIFIED_ERROR:
-                return "unspecified_error";
-            case UiModeErrorCode.SUCCESS:
-                return "success";
-            case UiModeErrorCode.CONFIG_ENTRY_POINT:
-                return "config_entry_point";
-            case UiModeErrorCode.CONFIG_SIM_OPERATOR:
-                return "config_sim_operator";
-            case UiModeErrorCode.UNSUPPORTED_COUNTRY:
-                return "unsupported_country";
-            case UiModeErrorCode.AIRPLANE_MODE:
-                return "airplane_mode";
-            case UiModeErrorCode.NO_PROMOTED_NUMBER:
-                return "no_promoted_number";
-            case UiModeErrorCode.NO_CAPABLE_PHONE:
-                return "no_capable_phone";
-            default:
-                return "unknown_error";
-        }
-    }
-}
diff --git a/src/com/android/phone/EmergencyInfoGroup.java b/src/com/android/phone/EmergencyInfoGroup.java
index 9f1c906..a62edfd 100644
--- a/src/com/android/phone/EmergencyInfoGroup.java
+++ b/src/com/android/phone/EmergencyInfoGroup.java
@@ -153,7 +153,7 @@
     private Drawable getCircularUserIcon() {
         final UserManager userManager = (UserManager) getContext().getSystemService(
                 Context.USER_SERVICE);
-        Bitmap bitmapUserIcon = userManager.getUserIcon(UserHandle.getCallingUserId());
+        Bitmap bitmapUserIcon = userManager.getUserIcon();
 
         if (bitmapUserIcon == null) {
             // get default user icon.
@@ -207,23 +207,21 @@
 
     @Override
     public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.emergency_info_view:
-                if (AccessibilityManager.getInstance(mContext).isTouchExplorationEnabled()) {
-                    if (mOnConfirmClickListener != null) {
-                        mOnConfirmClickListener.onConfirmClick(this);
-                    }
-                } else {
-                    revealSelectedButton();
-                }
-                break;
-            case R.id.emergency_info_confirm_view:
+        if (view.getId() == R.id.emergency_info_view) {
+            AccessibilityManager accessibilityMgr =
+                    (AccessibilityManager) getContext().getSystemService(
+                            Context.ACCESSIBILITY_SERVICE);
+            if (accessibilityMgr.isTouchExplorationEnabled()) {
                 if (mOnConfirmClickListener != null) {
                     mOnConfirmClickListener.onConfirmClick(this);
                 }
-                break;
-            default:
-                break;
+            } else {
+                revealSelectedButton();
+            }
+        } else if (view.getId() == R.id.emergency_info_confirm_view) {
+            if (mOnConfirmClickListener != null) {
+                mOnConfirmClickListener.onConfirmClick(this);
+            }
         }
     }
 
diff --git a/src/com/android/phone/EmergencyShortcutButton.java b/src/com/android/phone/EmergencyShortcutButton.java
index 59b3794..bfa956c 100644
--- a/src/com/android/phone/EmergencyShortcutButton.java
+++ b/src/com/android/phone/EmergencyShortcutButton.java
@@ -19,8 +19,6 @@
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
 import android.content.Context;
-import android.metrics.LogMaker;
-import android.os.SystemClock;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.view.View;
@@ -32,9 +30,6 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-
 /**
  * Emergency shortcut button displays a local emergency phone number information(including phone
  * number, and phone type). To decrease false clicking, it need to click twice to confirm to place
@@ -66,12 +61,6 @@
 
     private boolean mConfirmViewHiding;
 
-    /**
-     * The time, in millis, since boot when user taps on shortcut button to reveal confirm view.
-     * This is used for metrics when calculating the interval between reveal tap and confirm tap.
-     */
-    private long mTimeOfRevealTapInMillis = 0;
-
     public EmergencyShortcutButton(Context context, AttributeSet attrs) {
         super(context, attrs);
     }
@@ -193,32 +182,23 @@
 
     @Override
     public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.emergency_call_number_info_view:
-                if (AccessibilityManager.getInstance(mContext).isTouchExplorationEnabled()) {
-                    // TalkBack itself includes a prompt to confirm click action implicitly,
-                    // so we don't need an additional confirmation with second tap on button.
-                    if (mOnConfirmClickListener != null) {
-                        mOnConfirmClickListener.onConfirmClick(this);
-                    }
-                } else {
-                    revealSelectedButton();
-                }
-                break;
-            case R.id.emergency_call_confirm_view:
-                if (mTimeOfRevealTapInMillis != 0) {
-                    long timeBetweenTwoTaps =
-                            SystemClock.elapsedRealtime() - mTimeOfRevealTapInMillis;
-                    // Reset reveal time to zero for next reveal-confirm taps pair.
-                    mTimeOfRevealTapInMillis = 0;
-
-                    writeMetricsForConfirmTap(timeBetweenTwoTaps);
-                }
-
+        if (view.getId() == R.id.emergency_call_number_info_view) {
+            AccessibilityManager accessibilityMgr =
+                    (AccessibilityManager) getContext().getSystemService(
+                            Context.ACCESSIBILITY_SERVICE);
+            if (accessibilityMgr.isTouchExplorationEnabled()) {
+                // TalkBack itself includes a prompt to confirm click action implicitly,
+                // so we don't need an additional confirmation with second tap on button.
                 if (mOnConfirmClickListener != null) {
                     mOnConfirmClickListener.onConfirmClick(this);
                 }
-                break;
+            } else {
+                revealSelectedButton();
+            }
+        } else if (view.getId() == R.id.emergency_call_confirm_view) {
+            if (mOnConfirmClickListener != null) {
+                mOnConfirmClickListener.onConfirmClick(this);
+            }
         }
     }
 
@@ -226,7 +206,6 @@
         mConfirmViewHiding = false;
 
         mConfirmView.setVisibility(View.VISIBLE);
-        mTimeOfRevealTapInMillis = SystemClock.elapsedRealtime();
         int centerX = mCallNumberInfoView.getLeft() + mCallNumberInfoView.getWidth() / 2;
         int centerY = mCallNumberInfoView.getTop() + mCallNumberInfoView.getHeight() / 2;
         Animator reveal = ViewAnimationUtils.createCircularReveal(
@@ -263,8 +242,6 @@
             @Override
             public void onAnimationEnd(Animator animation) {
                 mConfirmView.setVisibility(INVISIBLE);
-                // Reset reveal time to zero for next reveal-confirm taps pair.
-                mTimeOfRevealTapInMillis = 0;
             }
         });
         reveal.start();
@@ -279,12 +256,4 @@
             hideSelectedButton();
         }
     };
-
-    private void writeMetricsForConfirmTap(long timeBetweenTwoTaps) {
-        LogMaker logContent = new LogMaker(MetricsEvent.EMERGENCY_DIALER_SHORTCUT_CONFIRM_TAP)
-                .setType(MetricsEvent.TYPE_ACTION)
-                .addTaggedData(MetricsEvent.FIELD_EMERGENCY_DIALER_SHORTCUT_TAPS_INTERVAL,
-                        timeBetweenTwoTaps);
-        MetricsLogger.action(logContent);
-    }
 }
diff --git a/src/com/android/phone/GsmUmtsCallBarringOptions.java b/src/com/android/phone/GsmUmtsCallBarringOptions.java
index a6f9844..30e9b5c 100644
--- a/src/com/android/phone/GsmUmtsCallBarringOptions.java
+++ b/src/com/android/phone/GsmUmtsCallBarringOptions.java
@@ -27,7 +27,6 @@
 import android.preference.Preference;
 import android.preference.PreferenceScreen;
 import android.telephony.CarrierConfigManager;
-import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.util.Log;
@@ -38,7 +37,6 @@
 import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.GsmCdmaPhone;
 import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.phone.settings.fdn.EditPinPreference;
 
 import java.util.ArrayList;
@@ -76,7 +74,6 @@
     private static final String DIALOG_PW_ENTRY_KEY = "dialog_pw_enter_key";
     private static final String KEY_STATUS = "toggle";
     private static final String PREFERENCE_ENABLED_KEY = "PREFERENCE_ENABLED";
-    private static final String PREFERENCE_SHOW_PASSWORD_KEY = "PREFERENCE_SHOW_PASSWORD";
     private static final String SAVED_BEFORE_LOAD_COMPLETED_KEY = "PROGRESS_SHOWING";
 
     private CallBarringEditPreference mButtonBAOC;
@@ -142,16 +139,13 @@
             return;
         }
 
-        String password = null;
-        if (mButtonDisableAll.isPasswordShown()) {
-            password = mButtonDisableAll.getText();
-            // Validate the length of password first, before submitting it to the
-            // RIL for CB disable.
-            if (!validatePassword(password)) {
-                mButtonDisableAll.setText("");
-                displayMessage(R.string.call_barring_right_pwd_number);
-                return;
-            }
+        String password = mButtonDisableAll.getText();
+        // Validate the length of password first, before submitting it to the
+        // RIL for CB disable.
+        if (!validatePassword(password)) {
+            mButtonDisableAll.setText("");
+            displayMessage(R.string.call_barring_right_pwd_number);
+            return;
         }
 
         // Submit the disable all request
@@ -418,36 +412,18 @@
         mPreferences.add(mButtonBAIC);
         mPreferences.add(mButtonBAICr);
 
-        // Find out if password is currently used.
-        boolean usePassword = true;
-        boolean useDisableaAll = true;
-
-        ImsPhone imsPhone = mPhone != null ? (ImsPhone) mPhone.getImsPhone() : null;
-        if (imsPhone != null
-                && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE)
-                        || imsPhone.isUtEnabled())) {
-            usePassword = false;
-            useDisableaAll = false;
-        }
-
         // Find out if the sim card is ready.
         boolean isSimReady = TelephonyManager.from(this).getSimState(
                 SubscriptionManager.getSlotIndex(mPhone.getSubId()))
                         == TelephonyManager.SIM_STATE_READY;
 
-        // Deactivate all option is unavailable when sim card is not ready or Ut is enabled.
-        if (isSimReady && useDisableaAll) {
+        // Deactivate all option and Change password option are unavailable
+        // when sim card is not ready.
+        if (isSimReady) {
             mButtonDisableAll.setEnabled(true);
-            mButtonDisableAll.init(mPhone);
-        } else {
-            mButtonDisableAll.setEnabled(false);
-        }
-
-        // Change password option is unavailable when sim card is not ready or when the password is
-        // not used.
-        if (isSimReady && usePassword) {
             mButtonChangePW.setEnabled(true);
         } else {
+            mButtonDisableAll.setEnabled(false);
             mButtonChangePW.setEnabled(false);
             mButtonChangePW.setSummary(R.string.call_barring_change_pwd_description_disabled);
         }
@@ -475,8 +451,6 @@
                     pref.handleCallBarringResult(bundle.getBoolean(KEY_STATUS));
                     pref.init(this, true, mPhone);
                     pref.setEnabled(bundle.getBoolean(PREFERENCE_ENABLED_KEY, pref.isEnabled()));
-                    pref.setInputMethodNeeded(bundle.getBoolean(PREFERENCE_SHOW_PASSWORD_KEY,
-                            pref.needInputMethod()));
                 }
             }
             mPwChangeState = mIcicle.getInt(PW_CHANGE_STATE_KEY);
@@ -516,7 +490,6 @@
             Bundle bundle = new Bundle();
             bundle.putBoolean(KEY_STATUS, pref.mIsActivated);
             bundle.putBoolean(PREFERENCE_ENABLED_KEY, pref.isEnabled());
-            bundle.putBoolean(PREFERENCE_SHOW_PASSWORD_KEY, pref.needInputMethod());
             outState.putParcelable(pref.getKey(), bundle);
         }
         outState.putInt(PW_CHANGE_STATE_KEY, mPwChangeState);
diff --git a/src/com/android/phone/GsmUmtsCallForwardOptions.java b/src/com/android/phone/GsmUmtsCallForwardOptions.java
index b8ea8fd..fda0ea5 100644
--- a/src/com/android/phone/GsmUmtsCallForwardOptions.java
+++ b/src/com/android/phone/GsmUmtsCallForwardOptions.java
@@ -18,6 +18,7 @@
 import java.util.ArrayList;
 
 public class GsmUmtsCallForwardOptions extends TimeConsumingPreferenceActivity {
+    private static final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
     private static final String LOG_TAG = "GsmUmtsCallForwardOptions";
 
     private static final String NUM_PROJECTION[] = {
@@ -62,6 +63,9 @@
         mPhone = mSubscriptionInfoHelper.getPhone();
 
         PersistableBundle b = null;
+        boolean supportCFB = true;
+        boolean supportCFNRc = true;
+        boolean supportCFNRy = true;
         if (mSubscriptionInfoHelper.hasSubId()) {
             b = PhoneGlobals.getInstance().getCarrierConfigForSubId(
                     mSubscriptionInfoHelper.getSubId());
@@ -73,6 +77,12 @@
                     CarrierConfigManager.KEY_CALL_FORWARDING_MAP_NON_NUMBER_TO_VOICEMAIL_BOOL);
             mCallForwardByUssd = b.getBoolean(
                     CarrierConfigManager.KEY_USE_CALL_FORWARDING_USSD_BOOL);
+            supportCFB = b.getBoolean(
+                    CarrierConfigManager.KEY_CALL_FORWARDING_WHEN_BUSY_SUPPORTED_BOOL);
+            supportCFNRc = b.getBoolean(
+                    CarrierConfigManager.KEY_CALL_FORWARDING_WHEN_UNREACHABLE_SUPPORTED_BOOL);
+            supportCFNRy = b.getBoolean(
+                    CarrierConfigManager.KEY_CALL_FORWARDING_WHEN_UNANSWERED_SUPPORTED_BOOL);
         }
 
         PreferenceScreen prefSet = getPreferenceScreen();
@@ -87,9 +97,9 @@
         mButtonCFNRc.setParentActivity(this, mButtonCFNRc.reason);
 
         mPreferences.add(mButtonCFU);
-        mPreferences.add(mButtonCFB);
-        mPreferences.add(mButtonCFNRy);
-        mPreferences.add(mButtonCFNRc);
+        layoutCallForwardItem(supportCFB, mButtonCFB, prefSet);
+        layoutCallForwardItem(supportCFNRy, mButtonCFNRy, prefSet);
+        layoutCallForwardItem(supportCFNRc, mButtonCFNRc, prefSet);
 
         if (mCallForwardByUssd) {
             //the call forwarding ussd command's behavior is similar to the call forwarding when
@@ -117,6 +127,15 @@
         }
     }
 
+    private void layoutCallForwardItem(boolean support, CallForwardEditPreference preference,
+            PreferenceScreen prefSet) {
+        if (support) {
+            mPreferences.add(preference);
+        } else {
+            prefSet.removePreference(preference);
+        }
+    }
+
     @Override
     public void onResume() {
         super.onResume();
diff --git a/src/com/android/phone/GsmUmtsOptions.java b/src/com/android/phone/GsmUmtsOptions.java
deleted file mode 100644
index 7f6207b..0000000
--- a/src/com/android/phone/GsmUmtsOptions.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 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.
- * 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.Intent;
-import android.os.PersistableBundle;
-import android.preference.Preference;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceScreen;
-import android.provider.Settings;
-import android.telephony.CarrierConfigManager;
-import android.telephony.TelephonyManager;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-
-/**
- * List of Network-specific settings screens.
- */
-public class GsmUmtsOptions {
-    private static final String LOG_TAG = "GsmUmtsOptions";
-
-    private CarrierConfigManager mCarrierConfigManager;
-    private RestrictedPreference mButtonAPNExpand;
-    private Preference mCategoryAPNExpand;
-    Preference mCarrierSettingPref;
-
-    private NetworkOperators mNetworkOperator;
-
-    private static final String BUTTON_APN_EXPAND_KEY = "button_gsm_apn_key";
-    private static final String CATEGORY_APN_EXPAND_KEY = "category_gsm_apn_key";
-    private static final String BUTTON_CARRIER_SETTINGS_KEY = "carrier_settings_key";
-
-    public static final String EXTRA_SUB_ID = "sub_id";
-    private PreferenceFragment mPrefFragment;
-    private PreferenceScreen mPrefScreen;
-
-    public GsmUmtsOptions(PreferenceFragment prefFragment, PreferenceScreen prefScreen,
-            final int subId) {
-        final Context context = prefFragment.getContext();
-        mPrefFragment = prefFragment;
-        mPrefScreen = prefScreen;
-        mCarrierConfigManager = new CarrierConfigManager(context);
-        mPrefFragment.addPreferencesFromResource(R.xml.gsm_umts_options);
-        mButtonAPNExpand = (RestrictedPreference) mPrefScreen.findPreference(BUTTON_APN_EXPAND_KEY);
-        mCategoryAPNExpand = mPrefScreen.findPreference(CATEGORY_APN_EXPAND_KEY);
-        mNetworkOperator = (NetworkOperators) mPrefScreen
-                .findPreference(NetworkOperators.CATEGORY_NETWORK_OPERATORS_KEY);
-        mCarrierSettingPref = mPrefScreen.findPreference(BUTTON_CARRIER_SETTINGS_KEY);
-
-        mNetworkOperator.initialize();
-
-        update(subId);
-    }
-
-    // Unlike mPrefFragment or mPrefScreen, subId  may change during lifecycle of GsmUmtsOptions.
-    // When that happens, we update GsmUmtsOptions with new parameters.
-    protected void update(final int subId) {
-        boolean addAPNExpand = true;
-        boolean addNetworkOperatorsCategory = true;
-        boolean addCarrierSettings = true;
-        final TelephonyManager telephonyManager = TelephonyManager.from(mPrefFragment.getContext())
-                .createForSubscriptionId(subId);
-        if (telephonyManager.getPhoneType() != PhoneConstants.PHONE_TYPE_GSM) {
-            log("Not a GSM phone");
-            addAPNExpand = false;
-            mNetworkOperator.setEnabled(false);
-        } else {
-            log("Not a CDMA phone");
-            PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
-
-            // Determine which options to display. For GSM these are defaulted to true in
-            // CarrierConfigManager, but they maybe overriden by DefaultCarrierConfigService or a
-            // carrier app.
-            // Note: these settings used to be controlled with overlays in
-            // Telephony/res/values/config.xml
-            if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_APN_EXPAND_BOOL)
-                    && mCategoryAPNExpand != null) {
-                addAPNExpand = false;
-            }
-            if (!carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL)) {
-                addNetworkOperatorsCategory = false;
-            }
-
-            if (carrierConfig.getBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL)) {
-                if (telephonyManager.isManualNetworkSelectionAllowed()) {
-                    log("[CSP] Enabling Operator Selection menu.");
-                    mNetworkOperator.setEnabled(true);
-                } else {
-                    log("[CSP] Disabling Operator Selection menu.");
-                    addNetworkOperatorsCategory = false;
-                }
-            }
-
-            // Read platform settings for carrier settings
-            addCarrierSettings = carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_CARRIER_SETTINGS_ENABLE_BOOL);
-        }
-
-        // Making no assumptions of whether they are added or removed at this point.
-        // Calling add or remove explicitly to make sure they are updated.
-
-        if (addAPNExpand) {
-            log("update: addAPNExpand");
-            mButtonAPNExpand.setDisabledByAdmin(
-                    MobileNetworkSettings.isDpcApnEnforced(mButtonAPNExpand.getContext())
-                            ? RestrictedLockUtilsInternal.getDeviceOwner(
-                                    mButtonAPNExpand.getContext())
-                            : null);
-            mButtonAPNExpand.setOnPreferenceClickListener(
-                    new Preference.OnPreferenceClickListener() {
-                        @Override
-                        public boolean onPreferenceClick(Preference preference) {
-                            MetricsLogger.action(mButtonAPNExpand.getContext(),
-                                    MetricsEvent.ACTION_MOBILE_NETWORK_APN_SETTINGS);
-                            // We need to build the Intent by hand as the Preference Framework
-                            // does not allow to add an Intent with some extras into a Preference
-                            // XML file
-                            final Intent intent = new Intent(Settings.ACTION_APN_SETTINGS);
-                            // This will setup the Home and Search affordance
-                            intent.putExtra(":settings:show_fragment_as_subsetting", true);
-                            intent.putExtra(EXTRA_SUB_ID, subId);
-                            mPrefFragment.startActivity(intent);
-                            return true;
-                        }
-                    });
-            mPrefScreen.addPreference(mCategoryAPNExpand);
-        } else {
-            mPrefScreen.removePreference(mCategoryAPNExpand);
-        }
-
-        if (addNetworkOperatorsCategory) {
-            mPrefScreen.addPreference(mNetworkOperator);
-            mNetworkOperator.update(subId);
-        } else {
-            mPrefScreen.removePreference(mNetworkOperator);
-        }
-
-        if (addCarrierSettings) {
-            mPrefScreen.addPreference(mCarrierSettingPref);
-        } else {
-            mPrefScreen.removePreference(mCarrierSettingPref);
-        }
-
-    }
-
-    protected boolean preferenceTreeClick(Preference preference) {
-        return mNetworkOperator.preferenceTreeClick(preference);
-    }
-
-    protected void log(String s) {
-        android.util.Log.d(LOG_TAG, s);
-    }
-}
diff --git a/src/com/android/phone/INetworkQueryService.aidl b/src/com/android/phone/INetworkQueryService.aidl
deleted file mode 100644
index f65c971..0000000
--- a/src/com/android/phone/INetworkQueryService.aidl
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 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.
- * 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 com.android.phone.INetworkQueryServiceCallback;
- 
-/**
- * Service interface to handle queries for available networks.  The
- * Phone application lets this service interface handle carrier 
- * availability queries instead of making direct calls to the Phone layer.
- */
-oneway interface INetworkQueryService {
- 
-    /**
-     * Starts a network query if it has not been started yet, and
-     * request a callback through the INetworkQueryServiceCallback
-     * object on query completion.  If there is an existing request,
-     * then just add the callback to the list of notifications
-     * that will be sent upon query completion.
-     *
-     * It will send the network query with the use of
-     * <code>TelephonyManager.requestNetworkScan()</code> if the
-     * isIncrementalResult is true. And if the isIncrementalResult
-     * is set as false, it will try to send network query through
-     * <code>Phone.getAvailableNetworks()</code>.
-     */
-    void startNetworkQuery(in INetworkQueryServiceCallback cb, in int phoneId, boolean isIncrementalResult);
-
-    /**
-     * Tells the service that the requested query is to be ignored.
-     * This may not do anything for the Query request in the
-     * underlying RIL, but it ensures that the callback is removed
-     * from the list of notifications.
-     */
-    void stopNetworkQuery();
-
-    /**
-     * Tells the service to unregister the network query callback.
-     * Will not attempt to stop an ongoing network query.
-     * Functionally may be the same as stopNetworkQuery since that
-     * function also does not stop a query request in the underlying
-     * RIL.
-     */
-    void unregisterCallback(in INetworkQueryServiceCallback cb);
-}
diff --git a/src/com/android/phone/INetworkQueryServiceCallback.aidl b/src/com/android/phone/INetworkQueryServiceCallback.aidl
deleted file mode 100644
index 2299f5e..0000000
--- a/src/com/android/phone/INetworkQueryServiceCallback.aidl
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 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.
- * 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.telephony.CellInfo;
-import com.android.internal.telephony.OperatorInfo;
-
-/**
- * Service interface to handle callbacks into the activity from the
- * NetworkQueryService.  These objects are used to notify that a
- * query is complete and that the results are ready to process.
- */
-oneway interface INetworkQueryServiceCallback {
-
-    /**
-     * Returns the scan results to the user, this callback will be
-     * called at least one time.
-     */
-    void onResults(in List<CellInfo> results);
-
-    /**
-     * Informs the user that the scan has stopped.
-     *
-     * This callback will be called when the scan is finished or cancelled by the user.
-     * The related NetworkScanRequest will be deleted after this callback.
-     */
-    void onComplete();
-
-    /**
-     * Informs the user that there is some error about the scan.
-     *
-     * This callback will be called whenever there is any error about the scan,
-     * and the scan will be terminated. onComplete() will NOT be called.
-     */
-    void onError(int error);
-
-}
diff --git a/src/com/android/phone/IccNetworkDepersonalizationPanel.java b/src/com/android/phone/IccNetworkDepersonalizationPanel.java
index 8bd10a2..a26225e 100644
--- a/src/com/android/phone/IccNetworkDepersonalizationPanel.java
+++ b/src/com/android/phone/IccNetworkDepersonalizationPanel.java
@@ -23,6 +23,7 @@
 import android.os.Message;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
+import android.telephony.TelephonyManager;
 import android.text.Editable;
 import android.text.Spannable;
 import android.text.TextUtils;
@@ -37,6 +38,7 @@
 import android.widget.TextView;
 
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.uicc.IccCardApplicationStatus.PersoSubState;
 
 /**
  * "SIM network unlock" PIN entry screen.
@@ -52,7 +54,8 @@
      * Tracks whether there is an instance of the network depersonalization dialog showing or not.
      * Ensures only a single instance of the dialog is visible.
      */
-    private static boolean sShowingDialog = false;
+    private static boolean [] sShowingDialog =
+            new boolean[TelephonyManager.getDefault().getSupportedModemCount()];
 
     //debug constants
     private static final boolean DBG = false;
@@ -61,29 +64,57 @@
     private static final int EVENT_ICC_NTWRK_DEPERSONALIZATION_RESULT = 100;
 
     private Phone mPhone;
+    private int mPersoSubtype;
+    private static IccNetworkDepersonalizationPanel [] sNdpPanel =
+            new IccNetworkDepersonalizationPanel[
+                    TelephonyManager.getDefault().getSupportedModemCount()];
 
     //UI elements
     private EditText     mPinEntry;
     private LinearLayout mEntryPanel;
     private LinearLayout mStatusPanel;
+    private TextView     mPersoSubtypeText;
+    private PersoSubState mPersoSubState;
     private TextView     mStatusText;
 
     private Button       mUnlockButton;
     private Button       mDismissButton;
 
+    enum statusType {
+        ENTRY,
+        IN_PROGRESS,
+        ERROR,
+        SUCCESS
+    }
+
     /**
      * Shows the network depersonalization dialog, but only if it is not already visible.
      */
-    public static void showDialog(Phone phone) {
-        if (sShowingDialog) {
+    public static void showDialog(Phone phone, int subType) {
+        int phoneId = phone == null ? 0: phone.getPhoneId();
+        if (phoneId >= sShowingDialog.length) {
+            Log.e(TAG, "[IccNetworkDepersonalizationPanel] showDialog; invalid phoneId" + phoneId);
+            return;
+        }
+        if (sShowingDialog[phoneId]) {
             Log.i(TAG, "[IccNetworkDepersonalizationPanel] - showDialog; skipped already shown.");
             return;
         }
         Log.i(TAG, "[IccNetworkDepersonalizationPanel] - showDialog; showing dialog.");
-        sShowingDialog = true;
-        IccNetworkDepersonalizationPanel ndpPanel =
-                new IccNetworkDepersonalizationPanel(PhoneGlobals.getInstance(), phone);
-        ndpPanel.show();
+        sShowingDialog[phoneId] = true;
+        sNdpPanel[phoneId] = new IccNetworkDepersonalizationPanel(PhoneGlobals.getInstance(),
+                phone, subType);
+        sNdpPanel[phoneId].show();
+    }
+
+    public static void dialogDismiss(int phoneId) {
+        if (phoneId >= sShowingDialog.length) {
+            Log.e(TAG, "[IccNetworkDepersonalizationPanel] - dismiss; invalid phoneId " + phoneId);
+            return;
+        }
+        if (sNdpPanel[phoneId] != null && sShowingDialog[phoneId]) {
+            sNdpPanel[phoneId].dismiss();
+        }
     }
 
     //private textwatcher to control text entry.
@@ -109,37 +140,41 @@
                 AsyncResult res = (AsyncResult) msg.obj;
                 if (res.exception != null) {
                     if (DBG) log("network depersonalization request failure.");
-                    indicateError();
+                    displayStatus(statusType.ERROR.name());
                     postDelayed(new Runnable() {
-                                    public void run() {
-                                        hideAlert();
-                                        mPinEntry.getText().clear();
-                                        mPinEntry.requestFocus();
-                                    }
-                                }, 3000);
+                        public void run() {
+                            hideAlert();
+                            mPinEntry.getText().clear();
+                            mPinEntry.requestFocus();
+                        }
+                    }, 3000);
                 } else {
                     if (DBG) log("network depersonalization success.");
-                    indicateSuccess();
+                    displayStatus(statusType.SUCCESS.name());
                     postDelayed(new Runnable() {
-                                    public void run() {
-                                        dismiss();
-                                    }
-                                }, 3000);
+                        public void run() {
+                            dismiss();
+                        }
+                    }, 3000);
                 }
             }
         }
     };
 
+
     //constructor
     public IccNetworkDepersonalizationPanel(Context context) {
         super(context);
         mPhone = PhoneGlobals.getPhone();
+        mPersoSubtype = PersoSubState.PERSOSUBSTATE_SIM_NETWORK.ordinal();
     }
 
     //constructor
-    public IccNetworkDepersonalizationPanel(Context context, Phone phone) {
+    public IccNetworkDepersonalizationPanel(Context context, Phone phone,
+            int subtype) {
         super(context);
         mPhone = phone == null ? PhoneGlobals.getPhone() : phone;
+        mPersoSubtype = subtype;
     }
 
     @Override
@@ -158,6 +193,8 @@
         span.setSpan(mPinEntryWatcher, 0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
 
         mEntryPanel = (LinearLayout) findViewById(R.id.entry_panel);
+        mPersoSubtypeText = (TextView) findViewById(R.id.perso_subtype_text);
+        displayStatus(statusType.ENTRY.name());
 
         mUnlockButton = (Button) findViewById(R.id.ndp_unlock);
         mUnlockButton.setOnClickListener(mUnlockListener);
@@ -190,7 +227,12 @@
     public void onStop() {
         super.onStop();
         Log.i(TAG, "[IccNetworkDepersonalizationPanel] - showDialog; hiding dialog.");
-        sShowingDialog = false;
+        int phoneId = mPhone == null ? 0 : mPhone.getPhoneId();
+        if (phoneId >= sShowingDialog.length) {
+            Log.e(TAG, "[IccNetworkDepersonalizationPanel] - onStop; invalid phoneId " + phoneId);
+            return;
+        }
+        sShowingDialog[phoneId] = false;
     }
 
     //Mirrors IccPinUnlockPanel.onKeyDown().
@@ -210,29 +252,45 @@
                 return;
             }
 
-            if (DBG) log("requesting network depersonalization with code " + pin);
-            mPhone.getIccCard().supplyNetworkDepersonalization(pin,
-                    Message.obtain(mHandler, EVENT_ICC_NTWRK_DEPERSONALIZATION_RESULT));
-            indicateBusy();
+            log("Requesting De-Personalization for subtype " + mPersoSubtype);
+
+            try {
+                mPhone.getIccCard().supplySimDepersonalization(mPersoSubState,pin,
+                        Message.obtain(mHandler, EVENT_ICC_NTWRK_DEPERSONALIZATION_RESULT));
+            } catch (NullPointerException ex) {
+                log("NullPointerException @supplySimDepersonalization" + ex);
+            }
+            displayStatus(statusType.IN_PROGRESS.name());
         }
     };
 
-    private void indicateBusy() {
-        mStatusText.setText(R.string.requesting_unlock);
-        mEntryPanel.setVisibility(View.GONE);
-        mStatusPanel.setVisibility(View.VISIBLE);
-    }
+    private void displayStatus(String type) {
+        int label = 0;
 
-    private void indicateError() {
-        mStatusText.setText(R.string.unlock_failed);
-        mEntryPanel.setVisibility(View.GONE);
-        mStatusPanel.setVisibility(View.VISIBLE);
-    }
+        mPersoSubState = PersoSubState.values()[mPersoSubtype];
+        log("displayStatus mPersoSubState: " +mPersoSubState.name() +"type: " +type);
 
-    private void indicateSuccess() {
-        mStatusText.setText(R.string.unlock_success);
-        mEntryPanel.setVisibility(View.GONE);
-        mStatusPanel.setVisibility(View.VISIBLE);
+        label = getContext().getResources().getIdentifier(mPersoSubState.name()
+                + "_" + type, "string", "android");
+
+        if (label == 0) {
+            log ("Unable to get the PersoSubType string");
+            return;
+        }
+
+        if(!PersoSubState.isPersoLocked(mPersoSubState)) {
+            log ("Unsupported Perso Subtype :" + mPersoSubState.name());
+            return;
+        }
+
+        if (type == statusType.ENTRY.name()) {
+            String displayText = getContext().getString(label);
+            mPersoSubtypeText.setText(displayText);
+        } else {
+            mStatusText.setText(label);
+            mEntryPanel.setVisibility(View.GONE);
+            mStatusPanel.setVisibility(View.VISIBLE);
+        }
     }
 
     private void hideAlert() {
@@ -241,13 +299,13 @@
     }
 
     View.OnClickListener mDismissListener = new View.OnClickListener() {
-            public void onClick(View v) {
-                if (DBG) log("mDismissListener: skipping depersonalization...");
-                dismiss();
-            }
-        };
+        public void onClick(View v) {
+            if (DBG) log("mDismissListener: skipping depersonalization...");
+            dismiss();
+        }
+    };
 
     private void log(String msg) {
-        Log.v(TAG, "[IccNetworkDepersonalizationPanel] " + msg);
+        Log.d(TAG, "[IccNetworkDepersonalizationPanel] " + msg);
     }
 }
diff --git a/src/com/android/phone/IccPanel.java b/src/com/android/phone/IccPanel.java
index be182233..73dd8bc 100644
--- a/src/com/android/phone/IccPanel.java
+++ b/src/com/android/phone/IccPanel.java
@@ -74,13 +74,13 @@
     @Override
     protected void onStart() {
         super.onStart();
-        mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);
+        mStatusBarManager.setDisabledForSimNetworkLock(true);
     }
 
     @Override
     public void onStop() {
         super.onStop();
-        mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);
+        mStatusBarManager.setDisabledForSimNetworkLock(false);
     }
 
     public boolean onKeyDown(int keyCode, KeyEvent event) {
diff --git a/src/com/android/phone/ImsRcsController.java b/src/com/android/phone/ImsRcsController.java
new file mode 100644
index 0000000..dcae24b
--- /dev/null
+++ b/src/com/android/phone/ImsRcsController.java
@@ -0,0 +1,393 @@
+/*
+ * 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 com.android.phone;
+
+import android.net.Uri;
+import android.os.Binder;
+import android.os.RemoteException;
+import android.os.ServiceSpecificException;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyFrameworkInitializer;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.RegistrationManager;
+import android.telephony.ims.aidl.IImsCapabilityCallback;
+import android.telephony.ims.aidl.IImsRcsController;
+import android.telephony.ims.aidl.IImsRegistrationCallback;
+import android.telephony.ims.aidl.IRcsUceControllerCallback;
+import android.telephony.ims.feature.RcsFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+import android.util.Log;
+
+import com.android.ims.ImsManager;
+import com.android.internal.telephony.IIntegerConsumer;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.TelephonyPermissions;
+import com.android.internal.telephony.imsphone.ImsPhone;
+import com.android.services.telephony.rcs.RcsFeatureController;
+import com.android.services.telephony.rcs.TelephonyRcsService;
+import com.android.services.telephony.rcs.UserCapabilityExchangeImpl;
+
+import java.util.List;
+
+/**
+ * Implementation of the IImsRcsController interface.
+ */
+public class ImsRcsController extends IImsRcsController.Stub {
+    private static final String TAG = "ImsRcsController";
+
+    /** The singleton instance. */
+    private static ImsRcsController sInstance;
+
+    private PhoneGlobals mApp;
+    private TelephonyRcsService mRcsService;
+
+    /**
+     * Initialize the singleton ImsRcsController instance.
+     * This is only done once, at startup, from PhoneApp.onCreate().
+     */
+    static ImsRcsController init(PhoneGlobals app) {
+        synchronized (ImsRcsController.class) {
+            if (sInstance == null) {
+                sInstance = new ImsRcsController(app);
+            } else {
+                Log.wtf(TAG, "init() called multiple times!  sInstance = " + sInstance);
+            }
+            return sInstance;
+        }
+    }
+
+    /** Private constructor; @see init() */
+    private ImsRcsController(PhoneGlobals app) {
+        Log.i(TAG, "ImsRcsController");
+        mApp = app;
+        TelephonyFrameworkInitializer
+                .getTelephonyServiceManager().getTelephonyImsServiceRegisterer().register(this);
+    }
+
+    /**
+     * Register a {@link RegistrationManager.RegistrationCallback} to receive IMS network
+     * registration state.
+     */
+    @Override
+    public void registerImsRegistrationCallback(int subId, IImsRegistrationCallback callback) {
+        enforceReadPrivilegedPermission("registerImsRegistrationCallback");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            getRcsFeatureController(subId).registerImsRegistrationCallback(subId, callback);
+        } catch (ImsException e) {
+            Log.e(TAG, "registerImsRegistrationCallback: sudId=" + subId + ", " + e.getMessage());
+            throw new ServiceSpecificException(e.getCode());
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Removes an existing {@link RegistrationManager.RegistrationCallback}.
+     */
+    @Override
+    public void unregisterImsRegistrationCallback(int subId, IImsRegistrationCallback callback) {
+        enforceReadPrivilegedPermission("unregisterImsRegistrationCallback");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            getRcsFeatureController(subId).unregisterImsRegistrationCallback(subId, callback);
+        } catch (ServiceSpecificException e) {
+            Log.e(TAG, "unregisterImsRegistrationCallback: error=" + e.errorCode);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Get the IMS service registration state for the RcsFeature associated with this sub id.
+     */
+    @Override
+    public void getImsRcsRegistrationState(int subId, IIntegerConsumer consumer) {
+        enforceReadPrivilegedPermission("getImsRcsRegistrationState");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            getRcsFeatureController(subId).getRegistrationState(regState -> {
+                try {
+                    consumer.accept((regState == null)
+                            ? RegistrationManager.REGISTRATION_STATE_NOT_REGISTERED : regState);
+                } catch (RemoteException e) {
+                    Log.w(TAG, "getImsRcsRegistrationState: callback is not available.");
+                }
+            });
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Gets the Transport Type associated with the current IMS RCS registration.
+     */
+    @Override
+    public void getImsRcsRegistrationTransportType(int subId, IIntegerConsumer consumer) {
+        enforceReadPrivilegedPermission("getImsRcsRegistrationTransportType");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            getRcsFeatureController(subId).getRegistrationTech(regTech -> {
+                // Convert registration tech from ImsRegistrationImplBase -> RegistrationManager
+                int regTechConverted = (regTech == null)
+                        ? ImsRegistrationImplBase.REGISTRATION_TECH_NONE : regTech;
+                regTechConverted = RegistrationManager.IMS_REG_TO_ACCESS_TYPE_MAP.get(
+                        regTechConverted);
+                try {
+                    consumer.accept(regTechConverted);
+                } catch (RemoteException e) {
+                    Log.w(TAG, "getImsRcsRegistrationTransportType: callback is not available.");
+                }
+            });
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Register a capability callback which will provide RCS availability updates for the
+     * subscription specified.
+     *
+     * @param subId the subscription ID
+     * @param callback The ImsCapabilityCallback to be registered.
+     */
+    @Override
+    public void registerRcsAvailabilityCallback(int subId, IImsCapabilityCallback callback) {
+        enforceReadPrivilegedPermission("registerRcsAvailabilityCallback");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            getRcsFeatureController(subId).registerRcsAvailabilityCallback(subId, callback);
+        } catch (ImsException e) {
+            Log.e(TAG, "registerRcsAvailabilityCallback: sudId=" + subId + ", " + e.getMessage());
+            throw new ServiceSpecificException(e.getCode());
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Remove the registered capability callback.
+     *
+     * @param subId the subscription ID
+     * @param callback The ImsCapabilityCallback to be removed.
+     */
+    @Override
+    public void unregisterRcsAvailabilityCallback(int subId, IImsCapabilityCallback callback) {
+        enforceReadPrivilegedPermission("unregisterRcsAvailabilityCallback");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            getRcsFeatureController(subId).unregisterRcsAvailabilityCallback(subId, callback);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Query for the capability of an IMS RCS service
+     *
+     * @param subId the subscription ID
+     * @param capability the RCS capability to query.
+     * @param radioTech the radio tech that this capability failed for
+     * @return true if the RCS capability is capable for this subscription, false otherwise.
+     */
+    @Override
+    public boolean isCapable(int subId,
+            @RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability,
+            @ImsRegistrationImplBase.ImsRegistrationTech int radioTech) {
+        enforceReadPrivilegedPermission("isCapable");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            return getRcsFeatureController(subId).isCapable(capability, radioTech);
+        } catch (ImsException e) {
+            Log.e(TAG, "isCapable: sudId=" + subId
+                    + ", capability=" + capability + ", " + e.getMessage());
+            return false;
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Query the availability of an IMS RCS capability.
+     *
+     * @param subId the subscription ID
+     * @param capability the RCS capability to query.
+     * @return true if the RCS capability is currently available for the associated subscription,
+     * false otherwise.
+     */
+    @Override
+    public boolean isAvailable(int subId,
+            @RcsFeature.RcsImsCapabilities.RcsImsCapabilityFlag int capability) {
+        enforceReadPrivilegedPermission("isAvailable");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            return getRcsFeatureController(subId).isAvailable(capability);
+        } catch (ImsException e) {
+            Log.e(TAG, "isAvailable: sudId=" + subId
+                    + ", capability=" + capability + ", " + e.getMessage());
+            return false;
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    @Override
+    public void requestCapabilities(int subId, String callingPackage, String callingFeatureId,
+            List<Uri> contactNumbers, IRcsUceControllerCallback c) {
+        enforceReadPrivilegedPermission("requestCapabilities");
+        if (!isUceSettingEnabled(subId, callingPackage, callingFeatureId)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "The user has not enabled UCE for this subscription.");
+        }
+        final long token = Binder.clearCallingIdentity();
+        try {
+            UserCapabilityExchangeImpl uce = getRcsFeatureController(subId).getFeature(
+                    UserCapabilityExchangeImpl.class);
+            if (uce == null) {
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                        "This subscription does not support UCE.");
+            }
+            uce.requestCapabilities(contactNumbers, c);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    @Override
+    public int getUcePublishState(int subId) {
+        enforceReadPrivilegedPermission("getUcePublishState");
+        final long token = Binder.clearCallingIdentity();
+        try {
+            UserCapabilityExchangeImpl uce = getRcsFeatureController(subId).getFeature(
+                    UserCapabilityExchangeImpl.class);
+            if (uce == null) {
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                        "This subscription does not support UCE.");
+            }
+            return uce.getUcePublishState();
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    @Override
+    public boolean isUceSettingEnabled(int subId, String callingPackage, String callingFeatureId) {
+        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
+                mApp, subId, callingPackage, callingFeatureId, "isUceSettingEnabled")) {
+            Log.w(TAG, "isUceSettingEnabled: READ_PHONE_STATE app op disabled when accessing "
+                    + "isUceSettingEnabled");
+            return false;
+        }
+        final long token = Binder.clearCallingIdentity();
+        try {
+            return SubscriptionManager.getBooleanSubscriptionProperty(subId,
+                    SubscriptionManager.IMS_RCS_UCE_ENABLED, false /*defaultValue*/, mApp);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    @Override
+    public void setUceSettingEnabled(int subId, boolean isEnabled) {
+        enforceModifyPermission();
+        final long token = Binder.clearCallingIdentity();
+        try {
+            SubscriptionManager.setSubscriptionProperty(subId,
+                    SubscriptionManager.IMS_RCS_UCE_ENABLED, (isEnabled ? "1" : "0"));
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Make sure either called from same process as self (phone) or IPC caller has read privilege.
+     *
+     * @throws SecurityException if the caller does not have the required permission
+     */
+    private void enforceReadPrivilegedPermission(String message) {
+        mApp.enforceCallingOrSelfPermission(
+                android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, message);
+    }
+
+    /**
+     * Make sure the caller has the MODIFY_PHONE_STATE permission.
+     *
+     * @throws SecurityException if the caller does not have the required permission
+     */
+    private void enforceModifyPermission() {
+        mApp.enforceCallingOrSelfPermission(android.Manifest.permission.MODIFY_PHONE_STATE, null);
+    }
+
+    /**
+     * Retrieve ImsPhone instance.
+     *
+     * @param subId the subscription ID
+     * @return The ImsPhone instance
+     * @throws ServiceSpecificException if getting ImsPhone instance failed.
+     */
+    private ImsPhone getImsPhone(int subId) {
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS is not available on device.");
+        }
+        Phone phone = PhoneGlobals.getPhone(subId);
+        if (phone == null) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION,
+                    "Invalid subscription Id: " + subId);
+        }
+        ImsPhone imsPhone = (ImsPhone) phone.getImsPhone();
+        if (imsPhone == null) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_SERVICE_UNAVAILABLE,
+                    "Cannot find ImsPhone instance: " + subId);
+        }
+        return imsPhone;
+    }
+
+    /**
+     * Retrieve RcsFeatureManager instance.
+     *
+     * @param subId the subscription ID
+     * @return The RcsFeatureManager instance
+     * @throws ServiceSpecificException if getting RcsFeatureManager instance failed.
+     */
+    private RcsFeatureController getRcsFeatureController(int subId) {
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS is not available on device.");
+        }
+        if (mRcsService == null) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS is not available on device.");
+        }
+        Phone phone = PhoneGlobals.getPhone(subId);
+        if (phone == null) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION,
+                    "Invalid subscription Id: " + subId);
+        }
+        int slotId = phone.getPhoneId();
+        RcsFeatureController c = mRcsService.getFeatureController(slotId);
+        if (c == null) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "The requested operation is not supported for subId " + subId);
+        }
+        return c;
+    }
+
+    void setRcsService(TelephonyRcsService rcsService) {
+        mRcsService = rcsService;
+    }
+}
diff --git a/src/com/android/phone/MobileDataPreference.java b/src/com/android/phone/MobileDataPreference.java
deleted file mode 100644
index e1ceab0..0000000
--- a/src/com/android/phone/MobileDataPreference.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright (C) 2017 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.DialogInterface;
-import android.database.ContentObserver;
-import android.net.Uri;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.preference.DialogPreference;
-import android.preference.PreferenceScreen;
-import android.provider.Settings.Global;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.view.View;
-import android.widget.Checkable;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-
-import java.util.List;
-
-/**
- * Customized Preference to enable / disable mobile data.
- * Basically copy of with com.android.settings.CellDataPreference.
- */
-public class MobileDataPreference extends DialogPreference {
-
-    private static final boolean DBG = false;
-    private static final String TAG = "MobileDataPreference";
-
-    public int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    public boolean mChecked;
-    // Whether to show the dialog to ask switching default data subscription.
-    // Should be true only when a multi-sim phone only supports data connection on a single phone,
-    // and user is enabling data on the non-default phone.
-    public boolean mMultiSimDialog;
-    private TelephonyManager mTelephonyManager;
-    private SubscriptionManager mSubscriptionManager;
-
-    public MobileDataPreference(Context context, AttributeSet attrs) {
-        super(context, attrs, com.android.internal.R.attr.switchPreferenceStyle);
-    }
-
-    // Must be called to avoid binder leakage.
-    void dispose() {
-        mListener.setListener(false, mSubId, getContext());
-    }
-
-    @Override
-    protected void onRestoreInstanceState(Parcelable s) {
-        CellDataState state = (CellDataState) s;
-        super.onRestoreInstanceState(state.getSuperState());
-        mTelephonyManager = TelephonyManager.from(getContext());
-        mChecked = state.mChecked;
-        mMultiSimDialog = state.mMultiSimDialog;
-        if (mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            mSubId = state.mSubId;
-            setKey(getKey() + mSubId);
-        }
-        notifyChanged();
-    }
-
-    @Override
-    protected Parcelable onSaveInstanceState() {
-        CellDataState state = new CellDataState(super.onSaveInstanceState());
-        state.mChecked = mChecked;
-        state.mMultiSimDialog = mMultiSimDialog;
-        state.mSubId = mSubId;
-        return state;
-    }
-
-    @Override
-    protected void onAttachedToActivity() {
-        super.onAttachedToActivity();
-        mListener.setListener(true, mSubId, getContext());
-    }
-
-    @Override
-    protected void onPrepareForRemoval() {
-        mListener.setListener(false, mSubId, getContext());
-        super.onPrepareForRemoval();
-    }
-
-    /**
-     * Initialize this preference with subId.
-     */
-    public void initialize(int subId) {
-        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            throw new IllegalArgumentException("MobileDataPreference needs a SubscriptionInfo");
-        }
-        mSubscriptionManager = SubscriptionManager.from(getContext());
-        mTelephonyManager = TelephonyManager.from(getContext());
-        if (mSubId != subId) {
-            mSubId = subId;
-            setKey(getKey() + subId);
-        }
-        updateChecked();
-    }
-
-    private void updateChecked() {
-        setChecked(mTelephonyManager.getDataEnabled(mSubId));
-    }
-
-    @Override
-    public void performClick(PreferenceScreen preferenceScreen) {
-        if (!isEnabled() || !SubscriptionManager.isValidSubscriptionId(mSubId)) {
-            return;
-        }
-        final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(
-                mSubId);
-        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
-        final boolean isMultiSim = (mTelephonyManager.getSimCount() > 1);
-        final boolean isMultipleDataOnCapable =
-                (mTelephonyManager.getNumberOfModemsWithSimultaneousDataConnections() > 1);
-        final boolean isDefaultDataSubscription = (nextSir != null && currentSir != null
-                && currentSir.getSubscriptionId() == nextSir.getSubscriptionId());
-        if (mChecked) {
-            if (!isMultiSim) {
-                // disabling data; show confirmation dialog which eventually
-                // calls setMobileDataEnabled() once user confirms.
-                mMultiSimDialog = false;
-                super.performClick(preferenceScreen);
-            } else {
-                // Don't show any dialog.
-                setMobileDataEnabled(false /* enabled */, false /* disableOtherSubscriptions */);
-            }
-        } else {
-            if (isMultiSim && !isMultipleDataOnCapable && !isDefaultDataSubscription) {
-                // enabling data and setting to default; show confirmation dialog which eventually
-                // calls setMobileDataEnabled() once user confirms.
-                mMultiSimDialog = true;
-                super.performClick(preferenceScreen);
-            } else {
-                // Don't show any dialog.
-                setMobileDataEnabled(true /* enabled */, false /* disableOtherSubscriptions */);
-            }
-        }
-    }
-
-    private void setMobileDataEnabled(boolean enabled, boolean disableOtherSubscriptions) {
-        if (DBG) Log.d(TAG, "setMobileDataEnabled(" + enabled + "," + mSubId + ")");
-
-        MetricsLogger.action(getContext(), MetricsEvent.ACTION_MOBILE_NETWORK_MOBILE_DATA_TOGGLE,
-                enabled);
-
-        mTelephonyManager.setDataEnabled(mSubId, enabled);
-
-        if (disableOtherSubscriptions) {
-            disableDataForOtherSubscriptions(mSubId);
-        }
-
-        setChecked(enabled);
-    }
-
-    private void setChecked(boolean checked) {
-        if (mChecked == checked) return;
-        mChecked = checked;
-        notifyChanged();
-    }
-
-    @Override
-    protected void onBindView(View view) {
-        super.onBindView(view);
-        View checkableView = view.findViewById(com.android.internal.R.id.switch_widget);
-        checkableView.setClickable(false);
-        ((Checkable) checkableView).setChecked(mChecked);
-    }
-
-    @Override
-    protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
-        if (mMultiSimDialog) {
-            showMultiSimDialog(builder);
-        } else {
-            showDisableDialog(builder);
-        }
-    }
-
-    private void showDisableDialog(AlertDialog.Builder builder) {
-        builder.setTitle(null)
-                .setMessage(R.string.data_usage_disable_mobile)
-                .setPositiveButton(android.R.string.ok, this)
-                .setNegativeButton(android.R.string.cancel, null);
-    }
-
-    private void showMultiSimDialog(AlertDialog.Builder builder) {
-        final SubscriptionInfo currentSir = mSubscriptionManager.getActiveSubscriptionInfo(mSubId);
-        final SubscriptionInfo nextSir = mSubscriptionManager.getDefaultDataSubscriptionInfo();
-
-        final String previousName = (nextSir == null)
-                ? getContext().getResources().getString(R.string.sim_selection_required_pref)
-                : nextSir.getDisplayName().toString();
-
-        builder.setTitle(R.string.sim_change_data_title);
-        builder.setMessage(getContext().getString(R.string.sim_change_data_message,
-                String.valueOf(currentSir != null ? currentSir.getDisplayName() : null),
-                previousName));
-
-        builder.setPositiveButton(R.string.ok, this);
-        builder.setNegativeButton(R.string.cancel, null);
-    }
-
-    private void disableDataForOtherSubscriptions(int subId) {
-        List<SubscriptionInfo> subInfoList = mSubscriptionManager.getActiveSubscriptionInfoList();
-        if (subInfoList != null) {
-            for (SubscriptionInfo subInfo : subInfoList) {
-                if (subInfo.getSubscriptionId() != subId) {
-                    mTelephonyManager.setDataEnabled(subInfo.getSubscriptionId(), false);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void onClick(DialogInterface dialog, int which) {
-        if (which != DialogInterface.BUTTON_POSITIVE) {
-            return;
-        }
-        if (mMultiSimDialog) {
-            mSubscriptionManager.setDefaultDataSubId(mSubId);
-            setMobileDataEnabled(true /* enabled */, true /* disableOtherSubscriptions */);
-        } else {
-            // TODO: extend to modify policy enabled flag.
-            setMobileDataEnabled(false /* enabled */, false /* disableOtherSubscriptions */);
-        }
-    }
-
-    private final DataStateListener mListener = new DataStateListener() {
-        @Override
-        public void onChange(boolean selfChange) {
-            updateChecked();
-        }
-    };
-
-    /**
-     * Listener that listens mobile data state change.
-     */
-    public abstract static class DataStateListener extends ContentObserver {
-        public DataStateListener() {
-            super(new Handler(Looper.getMainLooper()));
-        }
-
-        /**
-         * Set / Unset data state listening, specifying subId.
-         */
-        public void setListener(boolean listening, int subId, Context context) {
-            if (listening) {
-                Uri uri = Global.getUriFor(Global.MOBILE_DATA);
-                if (TelephonyManager.getDefault().getSimCount() != 1) {
-                    uri = Global.getUriFor(Global.MOBILE_DATA + subId);
-                }
-                context.getContentResolver().registerContentObserver(uri, false, this);
-            } else {
-                context.getContentResolver().unregisterContentObserver(this);
-            }
-        }
-    }
-
-    /**
-     * Class that represents state of mobile data state.
-     * Used by onSaveInstanceState and onRestoreInstanceState.
-     */
-    public static class CellDataState extends BaseSavedState {
-        public int mSubId;
-        public boolean mChecked;
-        public boolean mMultiSimDialog;
-
-        public CellDataState(Parcelable base) {
-            super(base);
-        }
-
-        public CellDataState(Parcel source) {
-            super(source);
-            mChecked = source.readByte() != 0;
-            mMultiSimDialog = source.readByte() != 0;
-            mSubId = source.readInt();
-        }
-
-        @Override
-        public void writeToParcel(Parcel dest, int flags) {
-            super.writeToParcel(dest, flags);
-            dest.writeByte((byte) (mChecked ? 1 : 0));
-            dest.writeByte((byte) (mMultiSimDialog ? 1 : 0));
-            dest.writeInt(mSubId);
-        }
-
-        public static final Creator<CellDataState> CREATOR = new Creator<CellDataState>() {
-            @Override
-            public CellDataState createFromParcel(Parcel source) {
-                return new CellDataState(source);
-            }
-
-            @Override
-            public CellDataState[] newArray(int size) {
-                return new CellDataState[size];
-            }
-        };
-    }
-}
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
deleted file mode 100644
index e67758d..0000000
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ /dev/null
@@ -1,2308 +0,0 @@
-/*
- * Copyright (C) 2006 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.provider.Telephony.Carriers.ENFORCE_MANAGED_URI;
-
-import android.app.ActionBar;
-import android.app.Activity;
-import android.app.DialogFragment;
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.content.BroadcastReceiver;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.database.ContentObserver;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.os.PersistableBundle;
-import android.os.SystemProperties;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceCategory;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceScreen;
-import android.preference.SwitchPreference;
-import android.provider.Settings;
-import android.sysprop.SetupWizardProperties;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-import android.telephony.CarrierConfigManager;
-import android.telephony.PhoneStateListener;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.euicc.EuiccManager;
-import android.telephony.ims.ProvisioningManager;
-import android.telephony.ims.feature.ImsFeature;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TabHost;
-
-import com.android.ims.ImsConfig;
-import com.android.ims.ImsException;
-import com.android.ims.ImsManager;
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.TelephonyIntents;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * "Mobile network settings" screen.  This screen lets you
- * enable/disable mobile data, and control data roaming and other
- * network-specific mobile data features.  It's used on non-voice-capable
- * tablets as well as regular phone devices.
- *
- * Note that this Activity is part of the phone app, even though
- * you reach it from the "Wireless & Networks" section of the main
- * Settings app.  It's not part of the "Call settings" hierarchy that's
- * available from the Phone app (see CallFeaturesSetting for that.)
- */
-
-public class MobileNetworkSettings extends Activity  {
-
-    // CID of the device.
-    private static final String KEY_CID = "ro.boot.cid";
-    // System Property which is used to decide whether the default eSIM UI will be shown,
-    // the default value is false.
-    private static final String KEY_ENABLE_ESIM_UI_BY_DEFAULT =
-            "esim.enable_esim_system_ui_by_default";
-
-    private static final String LEGACY_ACTION_CONFIGURE_PHONE_ACCOUNT =
-            "android.telecom.action.CONNECTION_SERVICE_CONFIGURE";
-
-    private enum TabState {
-        NO_TABS, UPDATE, DO_NOTHING
-    }
-
-    @Override
-    protected void onNewIntent(Intent intent) {
-        setIntent(intent);
-        MobileNetworkFragment fragment = (MobileNetworkFragment) getFragmentManager()
-                .findFragmentById(R.id.network_setting_content);
-        if (fragment != null) {
-            fragment.onIntentUpdate(intent);
-        }
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.network_setting);
-
-        FragmentManager fragmentManager = getFragmentManager();
-        Fragment fragment = fragmentManager.findFragmentById(R.id.network_setting_content);
-        if (fragment == null) {
-            fragmentManager.beginTransaction()
-                    .add(R.id.network_setting_content, new MobileNetworkFragment())
-                    .commit();
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(final MenuItem item) {
-        final int itemId = item.getItemId();
-        switch (itemId) {
-            // Respond to the action bar's Up/Home button
-            case android.R.id.home:
-                finish();
-                return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-
-
-    /**
-     * Returns true if Wifi calling is enabled for at least one subscription.
-     */
-    public static boolean isWifiCallingEnabled(Context context) {
-        SubscriptionManager subManager = context.getSystemService(SubscriptionManager.class);
-        if (subManager == null) {
-            Log.e(MobileNetworkFragment.LOG_TAG,
-                    "isWifiCallingEnabled: couldn't get system service.");
-            return false;
-        }
-        for (int subId : subManager.getActiveSubscriptionIdList()) {
-            if (isWifiCallingEnabled(context, subId)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Returns true if Wifi calling is enabled for the specific subscription with id {@code subId}.
-     */
-    public static boolean isWifiCallingEnabled(Context context, int subId) {
-        final PhoneAccountHandle simCallManager =
-                TelecomManager.from(context).getSimCallManagerForSubscription(subId);
-        final int phoneId = SubscriptionManager.getSlotIndex(subId);
-
-        boolean isWifiCallingEnabled;
-        if (simCallManager != null) {
-            Intent intent = MobileNetworkSettings.buildPhoneAccountConfigureIntent(
-                    context, simCallManager);
-            PackageManager pm = context.getPackageManager();
-            isWifiCallingEnabled = intent != null
-                    && !pm.queryIntentActivities(intent, 0 /* flags */).isEmpty();
-        } else {
-            ImsManager imsMgr = ImsManager.getInstance(context, phoneId);
-            isWifiCallingEnabled = imsMgr != null
-                    && imsMgr.isWfcEnabledByPlatform()
-                    && imsMgr.isWfcProvisionedOnDevice()
-                    && isImsServiceStateReady(imsMgr);
-        }
-
-        return isWifiCallingEnabled;
-    }
-
-    /**
-     * Whether to show the entry point to eUICC settings.
-     *
-     * <p>We show the entry point on any device which supports eUICC as long as either the eUICC
-     * was ever provisioned (that is, at least one profile was ever downloaded onto it), or if
-     * the user has enabled development mode.
-     */
-    public static boolean showEuiccSettings(Context context) {
-        EuiccManager euiccManager =
-                (EuiccManager) context.getSystemService(Context.EUICC_SERVICE);
-        if (!euiccManager.isEnabled()) {
-            return false;
-        }
-
-        ContentResolver cr = context.getContentResolver();
-
-        TelephonyManager tm =
-                (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
-        String currentCountry = tm.getNetworkCountryIso().toLowerCase();
-        String supportedCountries =
-                Settings.Global.getString(cr, Settings.Global.EUICC_SUPPORTED_COUNTRIES);
-        boolean inEsimSupportedCountries = false;
-        if (TextUtils.isEmpty(currentCountry)) {
-            inEsimSupportedCountries = true;
-        } else if (!TextUtils.isEmpty(supportedCountries)) {
-            List<String> supportedCountryList =
-                    Arrays.asList(TextUtils.split(supportedCountries.toLowerCase(), ","));
-            if (supportedCountryList.contains(currentCountry)) {
-                inEsimSupportedCountries = true;
-            }
-        }
-        final boolean esimIgnoredDevice =
-                SetupWizardProperties.esim_cid_ignore()
-                        .contains(SystemProperties.get(KEY_CID, null));
-        final boolean enabledEsimUiByDefault =
-                SystemProperties.getBoolean(KEY_ENABLE_ESIM_UI_BY_DEFAULT, true);
-        final boolean euiccProvisioned =
-                Settings.Global.getInt(cr, Settings.Global.EUICC_PROVISIONED, 0) != 0;
-        final boolean inDeveloperMode =
-                Settings.Global.getInt(cr, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != 0;
-
-        return (inDeveloperMode || euiccProvisioned
-                || (!esimIgnoredDevice && enabledEsimUiByDefault && inEsimSupportedCountries));
-    }
-
-    /**
-     * Whether to show the Enhanced 4G LTE settings in search result.
-     *
-     * <p>We show this settings if the VoLTE can be enabled by this device and the carrier app
-     * doesn't set {@link CarrierConfigManager#KEY_HIDE_ENHANCED_4G_LTE_BOOL} to false.
-     */
-    public static boolean hideEnhanced4gLteSettings(Context context) {
-        final CarrierConfigManager carrierConfigManager = new CarrierConfigManager(context);
-        final List<SubscriptionInfo> sil =
-                SubscriptionManager.from(context).getActiveSubscriptionInfoList();
-        // Check all active subscriptions. We only hide the button if it's disabled for all
-        // active subscriptions.
-        if (sil != null) {
-            for (SubscriptionInfo subInfo : sil) {
-                int phoneId = SubscriptionManager.getPhoneId(subInfo.getSubscriptionId());
-                ImsManager imsManager = ImsManager.getInstance(context, phoneId);
-                PersistableBundle carrierConfig = carrierConfigManager.getConfigForSubId(
-                        subInfo.getSubscriptionId());
-                if ((imsManager.isVolteEnabledByPlatform()
-                        && imsManager.isVolteProvisionedOnDevice())
-                        || carrierConfig.getBoolean(
-                        CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL)) {
-                    return false;
-                }
-            }
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns if DPC APNs are enforced.
-     */
-    public static boolean isDpcApnEnforced(Context context) {
-        try (Cursor enforceCursor = context.getContentResolver().query(ENFORCE_MANAGED_URI,
-                null, null, null, null)) {
-            if (enforceCursor == null || enforceCursor.getCount() != 1) {
-                return false;
-            }
-            enforceCursor.moveToFirst();
-            return enforceCursor.getInt(0) > 0;
-        }
-    }
-
-    private static boolean isImsServiceStateReady(ImsManager imsMgr) {
-        boolean isImsServiceStateReady = false;
-
-        try {
-            if (imsMgr != null && imsMgr.getImsServiceState() == ImsFeature.STATE_READY) {
-                isImsServiceStateReady = true;
-            }
-        } catch (ImsException ex) {
-            Log.e(MobileNetworkFragment.LOG_TAG,
-                    "Exception when trying to get ImsServiceStatus: " + ex);
-        }
-
-        Log.d(MobileNetworkFragment.LOG_TAG, "isImsServiceStateReady=" + isImsServiceStateReady);
-        return isImsServiceStateReady;
-    }
-
-
-    private static Intent buildPhoneAccountConfigureIntent(
-            Context context, PhoneAccountHandle accountHandle) {
-        Intent intent = buildConfigureIntent(
-                context, accountHandle, TelecomManager.ACTION_CONFIGURE_PHONE_ACCOUNT);
-
-        if (intent == null) {
-            // If the new configuration didn't work, try the old configuration intent.
-            intent = buildConfigureIntent(
-                    context, accountHandle, LEGACY_ACTION_CONFIGURE_PHONE_ACCOUNT);
-            if (intent != null) {
-                Log.w(MobileNetworkFragment.LOG_TAG,
-                        "Phone account using old configuration intent: " + accountHandle);
-            }
-        }
-        return intent;
-    }
-
-    private static Intent buildConfigureIntent(
-            Context context, PhoneAccountHandle accountHandle, String actionStr) {
-        if (accountHandle == null || accountHandle.getComponentName() == null
-                || TextUtils.isEmpty(accountHandle.getComponentName().getPackageName())) {
-            return null;
-        }
-
-        // Build the settings intent.
-        Intent intent = new Intent(actionStr);
-        intent.setPackage(accountHandle.getComponentName().getPackageName());
-        intent.addCategory(Intent.CATEGORY_DEFAULT);
-        intent.putExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, accountHandle);
-
-        // Check to see that the phone account package can handle the setting intent.
-        PackageManager pm = context.getPackageManager();
-        List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
-        if (resolutions.size() == 0) {
-            intent = null;  // set no intent if the package cannot handle it.
-        }
-
-        return intent;
-    }
-
-    public static class MobileNetworkFragment extends PreferenceFragment implements
-            Preference.OnPreferenceChangeListener, RoamingDialogFragment.RoamingDialogListener {
-
-        // debug data
-        private static final String LOG_TAG = "NetworkSettings";
-        private static final boolean DBG = true;
-        public static final int REQUEST_CODE_EXIT_ECM = 17;
-
-        // Number of active Subscriptions to show tabs
-        private static final int TAB_THRESHOLD = 2;
-
-        // Number of last phone number digits shown in Euicc Setting tab
-        private static final int NUM_LAST_PHONE_DIGITS = 4;
-
-        // fragment tag for roaming data dialog
-        private static final String ROAMING_TAG = "RoamingDialogFragment";
-
-        //String keys for preference lookup
-        private static final String BUTTON_PREFERED_NETWORK_MODE = "preferred_network_mode_key";
-        private static final String BUTTON_ROAMING_KEY = "button_roaming_key";
-        private static final String BUTTON_CDMA_LTE_DATA_SERVICE_KEY = "cdma_lte_data_service_key";
-        private static final String BUTTON_ENABLED_NETWORKS_KEY = "enabled_networks_key";
-        private static final String BUTTON_4G_LTE_KEY = "enhanced_4g_lte";
-        private static final String BUTTON_CELL_BROADCAST_SETTINGS = "cell_broadcast_settings";
-        private static final String BUTTON_CARRIER_SETTINGS_KEY = "carrier_settings_key";
-        private static final String BUTTON_CDMA_SYSTEM_SELECT_KEY = "cdma_system_select_key";
-        private static final String BUTTON_CDMA_SUBSCRIPTION_KEY = "cdma_subscription_key";
-        private static final String BUTTON_CARRIER_SETTINGS_EUICC_KEY =
-                "carrier_settings_euicc_key";
-        private static final String BUTTON_WIFI_CALLING_KEY = "wifi_calling_key";
-        private static final String BUTTON_VIDEO_CALLING_KEY = "video_calling_key";
-        private static final String BUTTON_MOBILE_DATA_ENABLE_KEY = "mobile_data_enable";
-        private static final String BUTTON_DATA_USAGE_KEY = "data_usage_summary";
-        private static final String BUTTON_ADVANCED_OPTIONS_KEY = "advanced_options";
-        private static final String CATEGORY_CALLING_KEY = "calling";
-        private static final String CATEGORY_GSM_APN_EXPAND_KEY = "category_gsm_apn_key";
-        private static final String CATEGORY_CDMA_APN_EXPAND_KEY = "category_cdma_apn_key";
-        private static final String BUTTON_GSM_APN_EXPAND_KEY = "button_gsm_apn_key";
-        private static final String BUTTON_CDMA_APN_EXPAND_KEY = "button_cdma_apn_key";
-
-        private final BroadcastReceiver mPhoneChangeReceiver = new PhoneChangeReceiver();
-        private final ContentObserver mDpcEnforcedContentObserver = new DpcApnEnforcedObserver();
-
-        static final int preferredNetworkMode = Phone.PREFERRED_NT_MODE;
-
-        //Information about logical "up" Activity
-        private static final String UP_ACTIVITY_PACKAGE = "com.android.settings";
-        private static final String UP_ACTIVITY_CLASS =
-                "com.android.settings.Settings$WirelessSettingsActivity";
-
-        //Information that needs to save into Bundle.
-        private static final String EXPAND_ADVANCED_FIELDS = "expand_advanced_fields";
-        //Intent extra to indicate expand all fields.
-        private static final String EXPAND_EXTRA = "expandable";
-
-        private SubscriptionManager mSubscriptionManager;
-        private TelephonyManager mTelephonyManager;
-        private CarrierConfigManager mCarrierConfigManager;
-        private int mSubId;
-
-        //UI objects
-        private AdvancedOptionsPreference mAdvancedOptions;
-        private ListPreference mButtonPreferredNetworkMode;
-        private ListPreference mButtonEnabledNetworks;
-        private RestrictedSwitchPreference mButtonDataRoam;
-        private SwitchPreference mButton4glte;
-        private Preference mLteDataServicePref;
-        private Preference mEuiccSettingsPref;
-        private PreferenceCategory mCallingCategory;
-        private Preference mWiFiCallingPref;
-        private SwitchPreference mVideoCallingPref;
-        private NetworkSelectListPreference mButtonNetworkSelect;
-        private MobileDataPreference mMobileDataPref;
-        private DataUsagePreference mDataUsagePref;
-
-        private static final String iface = "rmnet0"; //TODO: this will go away
-        private List<SubscriptionInfo> mActiveSubInfos;
-
-        private UserManager mUm;
-        private ImsManager mImsMgr;
-        private MyHandler mHandler;
-        private boolean mOkClicked;
-        private boolean mExpandAdvancedFields;
-
-        // We assume the the value returned by mTabHost.getCurrentTab() == slotId
-        private TabHost mTabHost;
-
-        //GsmUmts options and Cdma options
-        GsmUmtsOptions mGsmUmtsOptions;
-        CdmaOptions mCdmaOptions;
-
-        private Preference mClickedPreference;
-        private boolean mShow4GForLTE = false;
-        private boolean mIsGlobalCdma;
-        private boolean mOnlyAutoSelectInHomeNW;
-        private boolean mUnavailable;
-
-        private class PhoneCallStateListener extends PhoneStateListener {
-            /*
-             * Enable/disable the 'Enhanced 4G LTE Mode' when in/out of a call
-             * and depending on TTY mode and TTY support over VoLTE.
-             * @see android.telephony.PhoneStateListener#onCallStateChanged(int,
-             * java.lang.String)
-             */
-            @Override
-            public void onCallStateChanged(int state, String incomingNumber) {
-                if (DBG) log("PhoneStateListener.onCallStateChanged: state=" + state);
-
-                updateEnhanced4gLteState();
-                updateWiFiCallState();
-                updateVideoCallState();
-                updatePreferredNetworkType();
-            }
-
-            /**
-             * Listen to different subId if it's changed.
-             */
-            protected void updateSubscriptionId(Integer subId) {
-                if (subId.equals(PhoneCallStateListener.this.mSubId)) {
-                    return;
-                }
-
-                mTelephonyManager.listen(this, PhoneStateListener.LISTEN_NONE);
-
-                // Now, listen to new subId if it's valid. register the listener with
-                // mTelephonyManager instance created for the new subId.
-                if (SubscriptionManager.isValidSubscriptionId(subId)) {
-                    mTelephonyManager.listen(this, PhoneStateListener.LISTEN_CALL_STATE);
-                }
-            }
-        }
-
-        private final PhoneCallStateListener mPhoneStateListener = new PhoneCallStateListener();
-
-        @Override
-        public void onPositiveButtonClick(DialogFragment dialog) {
-            mTelephonyManager.setDataRoamingEnabled(true);
-            mButtonDataRoam.setChecked(true);
-            MetricsLogger.action(getContext(),
-                    getMetricsEventCategory(getPreferenceScreen(), mButtonDataRoam),
-                    true);
-        }
-
-        @Override
-        public void onViewCreated(View view, Bundle savedInstanceState) {
-            if (getListView() != null) {
-                getListView().setDivider(null);
-            }
-        }
-
-        public void onIntentUpdate(Intent intent) {
-            if (!mUnavailable) {
-                updateCurrentTab(intent.getExtras());
-            }
-        }
-
-        /**
-         * Invoked on each preference click in this hierarchy, overrides
-         * PreferenceActivity's implementation.  Used to make sure we track the
-         * preference click events.
-         */
-        @Override
-        public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
-                                             Preference preference) {
-            sendMetricsEventPreferenceClicked(preferenceScreen, preference);
-
-            /** TODO: Refactor and get rid of the if's using subclasses */
-            if (preference.getKey().equals(BUTTON_4G_LTE_KEY)) {
-                return true;
-            } else if (mGsmUmtsOptions != null &&
-                    mGsmUmtsOptions.preferenceTreeClick(preference) == true) {
-                return true;
-            } else if (mCdmaOptions != null &&
-                    mCdmaOptions.preferenceTreeClick(preference) == true) {
-                if (mTelephonyManager.getEmergencyCallbackMode()) {
-
-                    mClickedPreference = preference;
-
-                    // In ECM mode launch ECM app dialog
-                    startActivityForResult(
-                            new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
-                            REQUEST_CODE_EXIT_ECM);
-                }
-                return true;
-            } else if (preference == mButtonPreferredNetworkMode) {
-                //displays the value taken from the Settings.System
-                int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                        getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                        preferredNetworkMode);
-                mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
-                return true;
-            } else if (preference == mLteDataServicePref) {
-                String tmpl = android.provider.Settings.Global.getString(
-                        getActivity().getContentResolver(),
-                        android.provider.Settings.Global.SETUP_PREPAID_DATA_SERVICE_URL);
-                if (!TextUtils.isEmpty(tmpl)) {
-                    String imsi = mTelephonyManager.getSubscriberId();
-                    if (imsi == null) {
-                        imsi = "";
-                    }
-                    final String url = TextUtils.isEmpty(tmpl) ? null
-                            : TextUtils.expandTemplate(tmpl, imsi).toString();
-                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-                    startActivity(intent);
-                } else {
-                    android.util.Log.e(LOG_TAG, "Missing SETUP_PREPAID_DATA_SERVICE_URL");
-                }
-                return true;
-            }  else if (preference == mButtonEnabledNetworks) {
-                int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                        getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                        preferredNetworkMode);
-                mButtonEnabledNetworks.setValue(Integer.toString(settingsNetworkMode));
-                return true;
-            } else if (preference == mButtonDataRoam) {
-                // Do not disable the preference screen if the user clicks Data roaming.
-                return true;
-            } else if (preference == mEuiccSettingsPref) {
-                Intent intent = new Intent(EuiccManager.ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS);
-                startActivity(intent);
-                return true;
-            } else if (preference == mWiFiCallingPref || preference == mVideoCallingPref
-                    || preference == mMobileDataPref || preference == mDataUsagePref) {
-                return false;
-            } else if (preference == mAdvancedOptions) {
-                mExpandAdvancedFields = true;
-                updateBody();
-                return true;
-            } else {
-                // if the button is anything but the simple toggle preference,
-                // we'll need to disable all preferences to reject all click
-                // events until the sub-activity's UI comes up.
-                preferenceScreen.setEnabled(false);
-                // Let the intents be launched by the Preference manager
-                return false;
-            }
-        }
-
-        private final SubscriptionManager.OnSubscriptionsChangedListener
-                mOnSubscriptionsChangeListener
-                = new SubscriptionManager.OnSubscriptionsChangedListener() {
-            @Override
-            public void onSubscriptionsChanged() {
-                if (DBG) log("onSubscriptionsChanged:");
-                initializeSubscriptions();
-            }
-        };
-
-        private int getSlotIdFromBundle(Bundle data) {
-            int subId = -1;
-            if (data != null) {
-                subId = data.getInt(Settings.EXTRA_SUB_ID, -1);
-            }
-            return SubscriptionManager.getSlotIndex(subId);
-        }
-
-        private void initializeSubscriptions() {
-            final Activity activity = getActivity();
-            if (activity == null || activity.isDestroyed()) {
-                // Process preferences in activity only if its not destroyed
-                return;
-            }
-            int currentTab = 0;
-            if (DBG) log("initializeSubscriptions:+");
-
-            // Before updating the the active subscription list check
-            // if tab updating is needed as the list is changing.
-            List<SubscriptionInfo> sil = mSubscriptionManager.getActiveSubscriptionInfoList();
-            MobileNetworkSettings.TabState state = isUpdateTabsNeeded(sil);
-
-            // Update to the active subscription list
-            mActiveSubInfos.clear();
-            if (sil != null) {
-                mActiveSubInfos.addAll(sil);
-                // If there is only 1 sim then currenTab should represent slot no. of the sim.
-                if (sil.size() == 1) {
-                    currentTab = sil.get(0).getSimSlotIndex();
-                }
-            }
-
-            switch (state) {
-                case UPDATE: {
-                    if (DBG) log("initializeSubscriptions: UPDATE");
-                    currentTab = mTabHost != null ? mTabHost.getCurrentTab() : 0;
-
-                    mTabHost = (TabHost) getActivity().findViewById(android.R.id.tabhost);
-                    mTabHost.setup();
-
-                    // Update the tabName. Since the mActiveSubInfos are in slot order
-                    // we can iterate though the tabs and subscription info in one loop. But
-                    // we need to handle the case where a slot may be empty.
-
-                    Iterator<SubscriptionInfo> siIterator = mActiveSubInfos.listIterator();
-                    SubscriptionInfo si = siIterator.hasNext() ? siIterator.next() : null;
-                    for (int simSlotIndex = 0; simSlotIndex  < mActiveSubInfos.size();
-                         simSlotIndex++) {
-                        String tabName;
-                        if (si != null && si.getSimSlotIndex() == simSlotIndex) {
-                            // Slot is not empty and we match
-                            tabName = String.valueOf(si.getDisplayName());
-                            si = siIterator.hasNext() ? siIterator.next() : null;
-                        } else {
-                            // Slot is empty, set name to unknown
-                            tabName = getResources().getString(R.string.unknown);
-                        }
-                        if (DBG) {
-                            log("initializeSubscriptions:tab=" + simSlotIndex + " name=" + tabName);
-                        }
-
-                        mTabHost.addTab(buildTabSpec(String.valueOf(simSlotIndex), tabName));
-                    }
-
-                    mTabHost.setOnTabChangedListener(mTabListener);
-                    mTabHost.setCurrentTab(currentTab);
-                    break;
-                }
-                case NO_TABS: {
-                    if (DBG) log("initializeSubscriptions: NO_TABS");
-
-                    if (mTabHost != null) {
-                        mTabHost.clearAllTabs();
-                        mTabHost = null;
-                    }
-                    break;
-                }
-                case DO_NOTHING: {
-                    if (DBG) log("initializeSubscriptions: DO_NOTHING");
-                    if (mTabHost != null) {
-                        currentTab = mTabHost.getCurrentTab();
-                    }
-                    break;
-                }
-            }
-            updatePhone(currentTab);
-            updateBody();
-            if (DBG) log("initializeSubscriptions:-");
-        }
-
-        private MobileNetworkSettings.TabState isUpdateTabsNeeded(List<SubscriptionInfo> newSil) {
-            TabState state = MobileNetworkSettings.TabState.DO_NOTHING;
-            if (newSil == null) {
-                if (mActiveSubInfos.size() >= TAB_THRESHOLD) {
-                    if (DBG) log("isUpdateTabsNeeded: NO_TABS, size unknown and was tabbed");
-                    state = MobileNetworkSettings.TabState.NO_TABS;
-                }
-            } else if (newSil.size() < TAB_THRESHOLD && mActiveSubInfos.size() >= TAB_THRESHOLD) {
-                if (DBG) log("isUpdateTabsNeeded: NO_TABS, size went to small");
-                state = MobileNetworkSettings.TabState.NO_TABS;
-            } else if (newSil.size() >= TAB_THRESHOLD && mActiveSubInfos.size() < TAB_THRESHOLD) {
-                if (DBG) log("isUpdateTabsNeeded: UPDATE, size changed");
-                state = MobileNetworkSettings.TabState.UPDATE;
-            } else if (newSil.size() >= TAB_THRESHOLD) {
-                Iterator<SubscriptionInfo> siIterator = mActiveSubInfos.iterator();
-                for(SubscriptionInfo newSi : newSil) {
-                    SubscriptionInfo curSi = siIterator.next();
-                    if (!newSi.getDisplayName().equals(curSi.getDisplayName())) {
-                        if (DBG) log("isUpdateTabsNeeded: UPDATE, new name="
-                                + newSi.getDisplayName());
-                        state = MobileNetworkSettings.TabState.UPDATE;
-                        break;
-                    }
-                }
-            }
-            if (DBG) {
-                Log.i(LOG_TAG, "isUpdateTabsNeeded:- " + state
-                        + " newSil.size()=" + ((newSil != null) ? newSil.size() : 0)
-                        + " mActiveSubInfos.size()=" + mActiveSubInfos.size());
-            }
-            return state;
-        }
-
-        private TabHost.OnTabChangeListener mTabListener = new TabHost.OnTabChangeListener() {
-            @Override
-            public void onTabChanged(String tabId) {
-                if (DBG) log("onTabChanged:");
-                // The User has changed tab; update the body.
-                updatePhone(Integer.parseInt(tabId));
-                updateBody();
-            }
-        };
-
-        private void updatePhone(int slotId) {
-            final SubscriptionInfo sir = mSubscriptionManager
-                    .getActiveSubscriptionInfoForSimSlotIndex(slotId);
-
-            if (sir != null) {
-                mSubId = sir.getSubscriptionId();
-
-                Log.i(LOG_TAG, "updatePhone:- slotId=" + slotId + " sir=" + sir);
-
-                mImsMgr = ImsManager.getInstance(getContext(),
-                        SubscriptionManager.getPhoneId(mSubId));
-                mTelephonyManager = new TelephonyManager(getContext(), mSubId);
-                if (mImsMgr == null) {
-                    log("updatePhone :: Could not get ImsManager instance!");
-                } else if (DBG) {
-                    log("updatePhone :: mImsMgr=" + mImsMgr);
-                }
-            } else {
-                // There is no active subscription in the given slot.
-                mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-            }
-
-            mPhoneStateListener.updateSubscriptionId(mSubId);
-        }
-
-        private TabHost.TabContentFactory mEmptyTabContent = new TabHost.TabContentFactory() {
-            @Override
-            public View createTabContent(String tag) {
-                return new View(mTabHost.getContext());
-            }
-        };
-
-        private TabHost.TabSpec buildTabSpec(String tag, String title) {
-            return mTabHost.newTabSpec(tag).setIndicator(title).setContent(
-                    mEmptyTabContent);
-        }
-
-        private void updateCurrentTab(Bundle data) {
-            int slotId = getSlotIdFromBundle(data);
-            if (slotId >= 0 && mTabHost != null && mTabHost.getCurrentTab() != slotId) {
-                mTabHost.setCurrentTab(slotId);
-            }
-        }
-
-        @Override
-        public void onSaveInstanceState(Bundle outState) {
-            super.onSaveInstanceState(outState);
-
-            // If advanced fields are already expanded, we save it and expand it
-            // when it's re-created.
-            outState.putBoolean(EXPAND_ADVANCED_FIELDS, mExpandAdvancedFields);
-
-            // Save subId of currently shown tab.
-            outState.putInt(Settings.EXTRA_SUB_ID, mSubId);
-        }
-
-        @Override
-        public void onCreate(Bundle icicle) {
-            Log.i(LOG_TAG, "onCreate:+");
-            super.onCreate(icicle);
-
-            final Activity activity = getActivity();
-            if (activity == null || activity.isDestroyed()) {
-                Log.e(LOG_TAG, "onCreate:- with no valid activity.");
-                return;
-            }
-
-            mHandler = new MyHandler();
-            mUm = (UserManager) activity.getSystemService(Context.USER_SERVICE);
-            mSubscriptionManager = SubscriptionManager.from(activity);
-            mTelephonyManager = (TelephonyManager) activity.getSystemService(
-                            Context.TELEPHONY_SERVICE);
-            mCarrierConfigManager = new CarrierConfigManager(getContext());
-
-            if (icicle != null) {
-                mExpandAdvancedFields = icicle.getBoolean(EXPAND_ADVANCED_FIELDS, false);
-            } else if (getActivity().getIntent().getBooleanExtra(EXPAND_EXTRA, false)) {
-                mExpandAdvancedFields = true;
-            }
-
-            addPreferencesFromResource(R.xml.network_setting_fragment);
-
-            mButton4glte = (SwitchPreference)findPreference(BUTTON_4G_LTE_KEY);
-            mButton4glte.setOnPreferenceChangeListener(this);
-
-            mCallingCategory = (PreferenceCategory) findPreference(CATEGORY_CALLING_KEY);
-            mWiFiCallingPref = findPreference(BUTTON_WIFI_CALLING_KEY);
-            mVideoCallingPref = (SwitchPreference) findPreference(BUTTON_VIDEO_CALLING_KEY);
-            mMobileDataPref = (MobileDataPreference) findPreference(BUTTON_MOBILE_DATA_ENABLE_KEY);
-            mDataUsagePref = (DataUsagePreference) findPreference(BUTTON_DATA_USAGE_KEY);
-
-            //get UI object references
-            PreferenceScreen prefSet = getPreferenceScreen();
-
-            mButtonDataRoam = (RestrictedSwitchPreference) prefSet.findPreference(
-                    BUTTON_ROAMING_KEY);
-            mButtonPreferredNetworkMode = (ListPreference) prefSet.findPreference(
-                    BUTTON_PREFERED_NETWORK_MODE);
-            mButtonEnabledNetworks = (ListPreference) prefSet.findPreference(
-                    BUTTON_ENABLED_NETWORKS_KEY);
-            mAdvancedOptions = (AdvancedOptionsPreference) prefSet.findPreference(
-                    BUTTON_ADVANCED_OPTIONS_KEY);
-            mButtonDataRoam.setOnPreferenceChangeListener(this);
-
-            mLteDataServicePref = prefSet.findPreference(BUTTON_CDMA_LTE_DATA_SERVICE_KEY);
-
-            mEuiccSettingsPref = prefSet.findPreference(BUTTON_CARRIER_SETTINGS_EUICC_KEY);
-            mEuiccSettingsPref.setOnPreferenceChangeListener(this);
-
-            // Initialize mActiveSubInfo
-            int max = mSubscriptionManager.getActiveSubscriptionInfoCountMax();
-            mActiveSubInfos = new ArrayList<SubscriptionInfo>(max);
-
-            int currentTab = mTabHost != null ? mTabHost.getCurrentTab() : 0;
-            updatePhone(currentTab);
-            if (hasActiveSubscriptions()) {
-                updateEnabledNetworksEntries();
-            }
-            Log.i(LOG_TAG, "onCreate:-");
-        }
-
-        @Override
-        public View onCreateView(LayoutInflater inflater, ViewGroup container,
-                Bundle savedInstanceState) {
-            return inflater.inflate(com.android.internal.R.layout.common_tab_settings,
-                    container, false);
-        }
-
-        @Override
-        public void onActivityCreated(Bundle savedInstanceState) {
-            super.onActivityCreated(savedInstanceState);
-            if (mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)
-                    || !mUm.isSystemUser()) {
-                mUnavailable = true;
-                getActivity().setContentView(R.layout.telephony_disallowed_preference_screen);
-            } else {
-                initializeSubscriptions();
-
-                if (savedInstanceState != null) {
-                    updateCurrentTab(savedInstanceState);
-                } else {
-                    updateCurrentTab(getActivity().getIntent().getExtras());
-                }
-            }
-        }
-
-        private class PhoneChangeReceiver extends BroadcastReceiver {
-            @Override
-            public void onReceive(Context context, Intent intent) {
-                Log.i(LOG_TAG, "onReceive:");
-                if (getActivity() == null || getContext() == null) {
-                    // Received broadcast and activity is in the process of being torn down.
-                    return;
-                }
-                // When the radio changes (ex: CDMA->GSM), refresh all options.
-                updateBody();
-            }
-        }
-
-        private class DpcApnEnforcedObserver extends ContentObserver {
-            DpcApnEnforcedObserver() {
-                super(null);
-            }
-
-            @Override
-            public void onChange(boolean selfChange) {
-                Log.i(LOG_TAG, "DPC enforced onChange:");
-                if (getActivity() == null || getContext() == null) {
-                    // Received content change and activity is in the process of being torn down.
-                    return;
-                }
-                updateBody();
-            }
-        }
-
-        private final ProvisioningManager.Callback mProvisioningCallback =
-                new ProvisioningManager.Callback() {
-            @Override
-            public void onProvisioningIntChanged(int item, int value) {
-                if (item == ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED
-                        || item == ImsConfig.ConfigConstants.VLT_SETTING_ENABLED
-                        || item == ImsConfig.ConfigConstants.LVC_SETTING_ENABLED) {
-                    updateBody();
-                }
-            }
-        };
-
-        @Override
-        public void onDestroy() {
-            super.onDestroy();
-            if (mMobileDataPref != null) {
-                mMobileDataPref.dispose();
-            }
-        }
-
-        @Override
-        public void onResume() {
-            super.onResume();
-            Log.i(LOG_TAG, "onResume:+");
-
-            if (mUnavailable) {
-                Log.i(LOG_TAG, "onResume:- ignore mUnavailable == false");
-                return;
-            }
-
-            // upon resumption from the sub-activity, make sure we re-enable the
-            // preferences.
-            getPreferenceScreen().setEnabled(true);
-
-            // Set UI state in onResume because a user could go home, launch some
-            // app to change this setting's backend, and re-launch this settings app
-            // and the UI state would be inconsistent with actual state
-            mButtonDataRoam.setChecked(mTelephonyManager.isDataRoamingEnabled());
-
-            if (getPreferenceScreen().findPreference(BUTTON_PREFERED_NETWORK_MODE) != null
-                    || getPreferenceScreen().findPreference(BUTTON_ENABLED_NETWORKS_KEY) != null)  {
-                updatePreferredNetworkUIFromDb();
-            }
-
-            mTelephonyManager.createForSubscriptionId(mSubId)
-                    .listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
-
-            // NOTE: Buttons will be enabled/disabled in mPhoneStateListener
-            updateEnhanced4gLteState();
-
-            // Video calling and WiFi calling state might have changed.
-            updateCallingCategory();
-
-            mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
-
-            final Context context = getActivity();
-            IntentFilter intentFilter = new IntentFilter(
-                    TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
-            context.registerReceiver(mPhoneChangeReceiver, intentFilter);
-            context.getContentResolver().registerContentObserver(ENFORCE_MANAGED_URI, false,
-                    mDpcEnforcedContentObserver);
-
-            // Register callback for provisioning changes.
-            try {
-                if (mImsMgr != null) {
-                    mImsMgr.getConfigInterface().addConfigCallback(mProvisioningCallback);
-                }
-            } catch (ImsException e) {
-                Log.w(LOG_TAG, "onResume: Unable to register callback for provisioning changes.");
-            }
-
-            Log.i(LOG_TAG, "onResume:-");
-
-        }
-
-        private boolean hasActiveSubscriptions() {
-            return mActiveSubInfos.size() > 0;
-        }
-
-        private void updateBodyBasicFields(Activity activity, PreferenceScreen prefSet,
-                int phoneSubId, boolean hasActiveSubscriptions) {
-            Context context = activity.getApplicationContext();
-
-            ActionBar actionBar = activity.getActionBar();
-            if (actionBar != null) {
-                // android.R.id.home will be triggered in onOptionsItemSelected()
-                actionBar.setDisplayHomeAsUpEnabled(true);
-            }
-
-            prefSet.addPreference(mMobileDataPref);
-            prefSet.addPreference(mButtonDataRoam);
-            prefSet.addPreference(mDataUsagePref);
-
-            mMobileDataPref.setEnabled(hasActiveSubscriptions);
-            mButtonDataRoam.setEnabled(hasActiveSubscriptions);
-            mDataUsagePref.setEnabled(hasActiveSubscriptions);
-
-            if (hasActiveSubscriptions) {
-                // Customized preferences needs to be initialized with subId.
-                mMobileDataPref.initialize(phoneSubId);
-                mDataUsagePref.initialize(phoneSubId);
-
-                // Initialize states of mButtonDataRoam.
-                mButtonDataRoam.setChecked(mTelephonyManager.isDataRoamingEnabled());
-                mButtonDataRoam.setDisabledByAdmin(false);
-                if (mButtonDataRoam.isEnabled()) {
-                    if (RestrictedLockUtilsInternal.hasBaseUserRestriction(context,
-                            UserManager.DISALLOW_DATA_ROAMING, UserHandle.myUserId())) {
-                        mButtonDataRoam.setEnabled(false);
-                    } else {
-                        mButtonDataRoam.checkRestrictionAndSetDisabled(
-                                UserManager.DISALLOW_DATA_ROAMING);
-                    }
-                }
-            }
-        }
-
-        private void updateBody() {
-            final Activity activity = getActivity();
-            final PreferenceScreen prefSet = getPreferenceScreen();
-            final boolean hasActiveSubscriptions = hasActiveSubscriptions();
-
-            if (activity == null || activity.isDestroyed()) {
-                Log.e(LOG_TAG, "updateBody with no valid activity.");
-                return;
-            }
-
-            if (prefSet == null) {
-                Log.e(LOG_TAG, "updateBody with no null prefSet.");
-                return;
-            }
-
-            prefSet.removeAll();
-
-            updateBodyBasicFields(activity, prefSet, mSubId, hasActiveSubscriptions);
-
-            if (hasActiveSubscriptions) {
-                if (mExpandAdvancedFields) {
-                    updateBodyAdvancedFields(activity, prefSet, mSubId, hasActiveSubscriptions);
-                } else {
-                    prefSet.addPreference(mAdvancedOptions);
-                }
-            } else {
-                // Shows the "Carrier" preference that allows user to add a e-sim profile.
-                if (showEuiccSettings(getContext())) {
-                    mEuiccSettingsPref.setSummary(null /* summary */);
-                    prefSet.addPreference(mEuiccSettingsPref);
-                }
-            }
-        }
-
-        private void updateBodyAdvancedFields(Activity activity, PreferenceScreen prefSet,
-                int phoneSubId, boolean hasActiveSubscriptions) {
-            boolean isLteOnCdma = mTelephonyManager.getLteOnCdmaMode()
-                    == PhoneConstants.LTE_ON_CDMA_TRUE;
-
-            if (DBG) {
-                log("updateBody: isLteOnCdma=" + isLteOnCdma + " phoneSubId=" + phoneSubId);
-            }
-
-            prefSet.addPreference(mButtonPreferredNetworkMode);
-            prefSet.addPreference(mButtonEnabledNetworks);
-            prefSet.addPreference(mButton4glte);
-
-            if (showEuiccSettings(getActivity())) {
-                prefSet.addPreference(mEuiccSettingsPref);
-                String spn = mTelephonyManager.getSimOperatorName();
-                if (TextUtils.isEmpty(spn)) {
-                    mEuiccSettingsPref.setSummary(null);
-                } else {
-                    mEuiccSettingsPref.setSummary(spn);
-                }
-            }
-
-            int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                    getContext().getContentResolver(),
-                    android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                    preferredNetworkMode);
-
-            PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-            mIsGlobalCdma = isLteOnCdma
-                    && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
-            if (carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)) {
-                prefSet.removePreference(mButtonPreferredNetworkMode);
-                prefSet.removePreference(mButtonEnabledNetworks);
-                prefSet.removePreference(mLteDataServicePref);
-            } else if (carrierConfig.getBoolean(CarrierConfigManager
-                    .KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)
-                    && !mTelephonyManager.getServiceState().getRoaming()
-                    && mTelephonyManager.getServiceState().getDataRegState()
-                    == ServiceState.STATE_IN_SERVICE) {
-                prefSet.removePreference(mButtonPreferredNetworkMode);
-                prefSet.removePreference(mButtonEnabledNetworks);
-
-                final int phoneType = mTelephonyManager.getPhoneType();
-                if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
-                    updateCdmaOptions(this, prefSet, mSubId);
-                } else if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
-                    updateGsmUmtsOptions(this, prefSet, phoneSubId);
-                } else {
-                    throw new IllegalStateException("Unexpected phone type: " + phoneType);
-                }
-                // Since pref is being hidden from user, set network mode to default
-                // in case it is currently something else. That is possible if user
-                // changed the setting while roaming and is now back to home network.
-                settingsNetworkMode = preferredNetworkMode;
-            } else if (carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_WORLD_PHONE_BOOL) == true) {
-                prefSet.removePreference(mButtonEnabledNetworks);
-                // set the listener for the mButtonPreferredNetworkMode list preference so we can issue
-                // change Preferred Network Mode.
-                mButtonPreferredNetworkMode.setOnPreferenceChangeListener(this);
-
-                updateCdmaOptions(this, prefSet, mSubId);
-                updateGsmUmtsOptions(this, prefSet, phoneSubId);
-            } else {
-                prefSet.removePreference(mButtonPreferredNetworkMode);
-                updateEnabledNetworksEntries();
-                mButtonEnabledNetworks.setOnPreferenceChangeListener(this);
-                if (DBG) log("settingsNetworkMode: " + settingsNetworkMode);
-            }
-
-            final boolean missingDataServiceUrl = TextUtils.isEmpty(
-                    android.provider.Settings.Global.getString(activity.getContentResolver(),
-                            android.provider.Settings.Global.SETUP_PREPAID_DATA_SERVICE_URL));
-            if (!isLteOnCdma || missingDataServiceUrl) {
-                prefSet.removePreference(mLteDataServicePref);
-            } else {
-                android.util.Log.d(LOG_TAG, "keep ltePref");
-            }
-
-            updateEnhanced4gLteState();
-            updatePreferredNetworkType();
-            updateCallingCategory();
-
-            // Enable link to CMAS app settings depending on the value in config.xml.
-            final boolean isCellBroadcastAppLinkEnabled = activity.getResources().getBoolean(
-                    com.android.internal.R.bool.config_cellBroadcastAppLinks);
-            if (!mUm.isAdminUser() || !isCellBroadcastAppLinkEnabled
-                    || mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_CELL_BROADCASTS)) {
-                PreferenceScreen root = getPreferenceScreen();
-                Preference ps = findPreference(BUTTON_CELL_BROADCAST_SETTINGS);
-                if (ps != null) {
-                    root.removePreference(ps);
-                }
-            }
-
-            /**
-             * Listen to extra preference changes that need as Metrics events logging.
-             */
-            if (prefSet.findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY) != null) {
-                prefSet.findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY)
-                        .setOnPreferenceChangeListener(this);
-            }
-
-            if (prefSet.findPreference(BUTTON_CDMA_SUBSCRIPTION_KEY) != null) {
-                prefSet.findPreference(BUTTON_CDMA_SUBSCRIPTION_KEY)
-                        .setOnPreferenceChangeListener(this);
-            }
-
-            // Get the networkMode from Settings.System and displays it
-            mButtonEnabledNetworks.setValue(Integer.toString(settingsNetworkMode));
-            mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
-            UpdatePreferredNetworkModeSummary(settingsNetworkMode);
-            UpdateEnabledNetworksValueAndSummary(settingsNetworkMode);
-            // Display preferred network type based on what modem returns b/18676277
-            new SetPreferredNetworkAsyncTask(
-                    mTelephonyManager,
-                    mSubId,
-                    settingsNetworkMode,
-                    mHandler.obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE))
-                    .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-
-            /**
-             * Enable/disable depending upon if there are any active subscriptions.
-             *
-             * I've decided to put this enable/disable code at the bottom as the
-             * code above works even when there are no active subscriptions, thus
-             * putting it afterwards is a smaller change. This can be refined later,
-             * but you do need to remember that this all needs to work when subscriptions
-             * change dynamically such as when hot swapping sims.
-             */
-            int variant4glteTitleIndex = carrierConfig.getInt(
-                    CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
-            CharSequence[] variantTitles = getContext().getResources()
-                    .getTextArray(R.array.enhanced_4g_lte_mode_title_variant);
-            CharSequence[] variantSumaries = getContext().getResources()
-                    .getTextArray(R.array.enhanced_4g_lte_mode_sumary_variant);
-            // Default index 0 indicates the default title/sumary string
-            CharSequence enhanced4glteModeTitle = variantTitles[0];
-            CharSequence enhanced4glteModeSummary = variantSumaries[0];
-            if (variant4glteTitleIndex >= 0 && variant4glteTitleIndex < variantTitles.length) {
-                enhanced4glteModeTitle = variantTitles[variant4glteTitleIndex];
-            }
-            if (variant4glteTitleIndex >= 0 && variant4glteTitleIndex < variantSumaries.length) {
-                enhanced4glteModeSummary = variantSumaries[variant4glteTitleIndex];
-            }
-
-            mOnlyAutoSelectInHomeNW = carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL);
-            mButton4glte.setTitle(enhanced4glteModeTitle);
-            mButton4glte.setSummary(enhanced4glteModeSummary);
-            mLteDataServicePref.setEnabled(hasActiveSubscriptions);
-            Preference ps;
-            ps = findPreference(BUTTON_CELL_BROADCAST_SETTINGS);
-            if (ps != null) {
-                ps.setEnabled(hasActiveSubscriptions);
-            }
-            ps = findPreference(CATEGORY_GSM_APN_EXPAND_KEY);
-            if (ps != null) {
-                ps.setEnabled(hasActiveSubscriptions);
-            }
-            ps = findPreference(CATEGORY_CDMA_APN_EXPAND_KEY);
-            if (ps != null) {
-                ps.setEnabled(hasActiveSubscriptions);
-            }
-            ps = findPreference(NetworkOperators.CATEGORY_NETWORK_OPERATORS_KEY);
-            if (ps != null) {
-                ps.setEnabled(hasActiveSubscriptions);
-            }
-            ps = findPreference(BUTTON_CARRIER_SETTINGS_KEY);
-            if (ps != null) {
-                ps.setEnabled(hasActiveSubscriptions);
-            }
-            ps = findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY);
-            if (ps != null) {
-                ps.setEnabled(hasActiveSubscriptions);
-            }
-            ps = findPreference(CATEGORY_CALLING_KEY);
-            if (ps != null) {
-                ps.setEnabled(hasActiveSubscriptions);
-            }
-            ps = findPreference(NetworkOperators.BUTTON_AUTO_SELECT_KEY);
-            if (ps != null) {
-                ps.setSummary(null);
-                if (mTelephonyManager.getServiceState().getRoaming()) {
-                    ps.setEnabled(true);
-                } else {
-                    ps.setEnabled(!mOnlyAutoSelectInHomeNW);
-                    if (mOnlyAutoSelectInHomeNW) {
-                        ps.setSummary(getResources().getString(
-                                R.string.manual_mode_disallowed_summary,
-                                mTelephonyManager.getSimOperatorName()));
-                    }
-                }
-            }
-        }
-
-        // Requires that mSubId is up to date
-        void updateEnabledNetworksEntries() {
-            final int phoneType = mTelephonyManager.getPhoneType();
-            final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-            mShow4GForLTE = carrierConfig != null ? carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL) : false;
-            if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
-                final int lteForced = android.provider.Settings.Global.getInt(
-                        getContext().getContentResolver(),
-                        android.provider.Settings.Global.LTE_SERVICE_FORCED + mSubId,
-                        0);
-                final boolean isLteOnCdma = mTelephonyManager.getLteOnCdmaMode()
-                        == PhoneConstants.LTE_ON_CDMA_TRUE;
-                final int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                        getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                        preferredNetworkMode);
-                if (isLteOnCdma) {
-                    if (lteForced == 0) {
-                        mButtonEnabledNetworks.setEntries(
-                                R.array.enabled_networks_cdma_choices);
-                        mButtonEnabledNetworks.setEntryValues(
-                                R.array.enabled_networks_cdma_values);
-                    } else {
-                        switch (settingsNetworkMode) {
-                            case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-                            case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
-                            case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
-                                mButtonEnabledNetworks.setEntries(
-                                        R.array.enabled_networks_cdma_no_lte_choices);
-                                mButtonEnabledNetworks.setEntryValues(
-                                        R.array.enabled_networks_cdma_no_lte_values);
-                                break;
-                            case TelephonyManager.NETWORK_MODE_GLOBAL:
-                            case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
-                            case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                            case TelephonyManager.NETWORK_MODE_LTE_ONLY:
-                                mButtonEnabledNetworks.setEntries(
-                                        R.array.enabled_networks_cdma_only_lte_choices);
-                                mButtonEnabledNetworks.setEntryValues(
-                                        R.array.enabled_networks_cdma_only_lte_values);
-                                break;
-                            default:
-                                mButtonEnabledNetworks.setEntries(
-                                        R.array.enabled_networks_cdma_choices);
-                                mButtonEnabledNetworks.setEntryValues(
-                                        R.array.enabled_networks_cdma_values);
-                                break;
-                        }
-                    }
-                }
-                updateCdmaOptions(this, getPreferenceScreen(), mSubId);
-
-            } else if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
-                if (isSupportTdscdma()) {
-                    mButtonEnabledNetworks.setEntries(
-                            R.array.enabled_networks_tdscdma_choices);
-                    mButtonEnabledNetworks.setEntryValues(
-                            R.array.enabled_networks_tdscdma_values);
-                } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)
-                        && !getResources().getBoolean(R.bool.config_enabled_lte)) {
-                    mButtonEnabledNetworks.setEntries(
-                            R.array.enabled_networks_except_gsm_lte_choices);
-                    mButtonEnabledNetworks.setEntryValues(
-                            R.array.enabled_networks_except_gsm_lte_values);
-                } else if (!carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) {
-                    int select = mShow4GForLTE
-                            ? R.array.enabled_networks_except_gsm_4g_choices
-                            : R.array.enabled_networks_except_gsm_choices;
-                    mButtonEnabledNetworks.setEntries(select);
-                    mButtonEnabledNetworks.setEntryValues(
-                            R.array.enabled_networks_except_gsm_values);
-                } else if (!getResources().getBoolean(R.bool.config_enabled_lte)) {
-                    mButtonEnabledNetworks.setEntries(
-                            R.array.enabled_networks_except_lte_choices);
-                    mButtonEnabledNetworks.setEntryValues(
-                            R.array.enabled_networks_except_lte_values);
-                } else if (mIsGlobalCdma) {
-                    mButtonEnabledNetworks.setEntries(
-                            R.array.enabled_networks_cdma_choices);
-                    mButtonEnabledNetworks.setEntryValues(
-                            R.array.enabled_networks_cdma_values);
-                } else {
-                    int select = mShow4GForLTE ? R.array.enabled_networks_4g_choices
-                            : R.array.enabled_networks_choices;
-                    mButtonEnabledNetworks.setEntries(select);
-                    mButtonEnabledNetworks.setEntryValues(
-                            R.array.enabled_networks_values);
-                }
-                updateGsmUmtsOptions(this, getPreferenceScreen(), mSubId);
-            } else {
-                throw new IllegalStateException("Unexpected phone type: " + phoneType);
-            }
-            if (isWorldMode()) {
-                mButtonEnabledNetworks.setEntries(
-                        R.array.preferred_network_mode_choices_world_mode);
-                mButtonEnabledNetworks.setEntryValues(
-                        R.array.preferred_network_mode_values_world_mode);
-            }
-        }
-
-        @Override
-        public void onPause() {
-            super.onPause();
-            if (DBG) log("onPause:+");
-
-            mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
-
-            mSubscriptionManager
-                    .removeOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
-
-            final Context context = getActivity();
-            context.unregisterReceiver(mPhoneChangeReceiver);
-            context.getContentResolver().unregisterContentObserver(mDpcEnforcedContentObserver);
-
-            // Remove callback for provisioning changes.
-            try {
-                if (mImsMgr != null) {
-                    mImsMgr.getConfigInterface().removeConfigCallback(
-                            mProvisioningCallback.getBinder());
-                }
-            } catch (ImsException e) {
-                Log.w(LOG_TAG, "onPause: Unable to remove callback for provisioning changes");
-            }
-
-            if (DBG) log("onPause:-");
-        }
-
-        /**
-         * Implemented to support onPreferenceChangeListener to look for preference
-         * changes specifically on CLIR.
-         *
-         * @param preference is the preference to be changed, should be mButtonCLIR.
-         * @param objValue should be the value of the selection, NOT its localized
-         * display value.
-         */
-        public boolean onPreferenceChange(Preference preference, Object objValue) {
-            sendMetricsEventPreferenceChanged(getPreferenceScreen(), preference, objValue);
-
-            final int phoneSubId = mSubId;
-            if (preference == mButtonPreferredNetworkMode) {
-                //NOTE onPreferenceChange seems to be called even if there is no change
-                //Check if the button value is changed from the System.Setting
-                mButtonPreferredNetworkMode.setValue((String) objValue);
-                int buttonNetworkMode;
-                buttonNetworkMode = Integer.parseInt((String) objValue);
-                int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                        getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                        preferredNetworkMode);
-                if (buttonNetworkMode != settingsNetworkMode) {
-                    int modemNetworkMode;
-                    // if new mode is invalid ignore it
-                    switch (buttonNetworkMode) {
-                        case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
-                        case TelephonyManager.NETWORK_MODE_GSM_ONLY:
-                        case TelephonyManager.NETWORK_MODE_WCDMA_ONLY:
-                        case TelephonyManager.NETWORK_MODE_GSM_UMTS:
-                        case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-                        case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
-                        case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
-                        case TelephonyManager.NETWORK_MODE_GLOBAL:
-                        case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
-                        case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_ONLY:
-                        case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                            // This is one of the modes we recognize
-                            modemNetworkMode = buttonNetworkMode;
-                            break;
-                        default:
-                            loge("Invalid Network Mode (" +buttonNetworkMode+ ") chosen. Ignore.");
-                            return true;
-                    }
-
-                    android.provider.Settings.Global.putInt(
-                            getContext().getContentResolver(),
-                            android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                            buttonNetworkMode );
-                    //Set the modem network mode
-                    new SetPreferredNetworkAsyncTask(
-                            mTelephonyManager,
-                            mSubId,
-                            modemNetworkMode,
-                            mHandler.obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE))
-                            .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-                }
-            } else if (preference == mButtonEnabledNetworks) {
-                mButtonEnabledNetworks.setValue((String) objValue);
-                int buttonNetworkMode;
-                buttonNetworkMode = Integer.parseInt((String) objValue);
-                if (DBG) log("buttonNetworkMode: " + buttonNetworkMode);
-                int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                        getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                        preferredNetworkMode);
-                if (buttonNetworkMode != settingsNetworkMode) {
-                    int modemNetworkMode;
-                    // if new mode is invalid ignore it
-                    switch (buttonNetworkMode) {
-                        case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
-                        case TelephonyManager.NETWORK_MODE_GSM_ONLY:
-                        case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-                        case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
-                        case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                        case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                            // This is one of the modes we recognize
-                            modemNetworkMode = buttonNetworkMode;
-                            break;
-                        default:
-                            loge("Invalid Network Mode (" +buttonNetworkMode+ ") chosen. Ignore.");
-                            return true;
-                    }
-
-                    UpdateEnabledNetworksValueAndSummary(buttonNetworkMode);
-
-                    android.provider.Settings.Global.putInt(
-                            getContext().getContentResolver(),
-                            android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                            buttonNetworkMode );
-                    //Set the modem network mode
-                    new SetPreferredNetworkAsyncTask(
-                            mTelephonyManager,
-                            mSubId,
-                            modemNetworkMode,
-                            mHandler.obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE))
-                            .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-                }
-            } else if (preference == mButton4glte) {
-                boolean enhanced4gMode = !mButton4glte.isChecked();
-                mButton4glte.setChecked(enhanced4gMode);
-                mImsMgr.setEnhanced4gLteModeSetting(mButton4glte.isChecked());
-            } else if (preference == mButtonDataRoam) {
-                if (DBG) log("onPreferenceTreeClick: preference == mButtonDataRoam.");
-
-                //normally called on the toggle click
-                if (!mButtonDataRoam.isChecked()) {
-                    PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(
-                            mSubId);
-                    if (carrierConfig != null && carrierConfig.getBoolean(
-                            CarrierConfigManager.KEY_DISABLE_CHARGE_INDICATION_BOOL)) {
-                        mTelephonyManager.setDataRoamingEnabled(true);
-                        MetricsLogger.action(getContext(),
-                                getMetricsEventCategory(getPreferenceScreen(), mButtonDataRoam),
-                                true);
-                    } else {
-                        // MetricsEvent with no value update.
-                        MetricsLogger.action(getContext(),
-                                getMetricsEventCategory(getPreferenceScreen(), mButtonDataRoam));
-                        // First confirm with a warning dialog about charges
-                        mOkClicked = false;
-                        RoamingDialogFragment fragment = new RoamingDialogFragment();
-                        Bundle b = new Bundle();
-                        b.putInt(RoamingDialogFragment.SUB_ID_KEY, mSubId);
-                        fragment.setArguments(b);
-                        fragment.show(getFragmentManager(), ROAMING_TAG);
-                        // Don't update the toggle unless the confirm button is actually pressed.
-                        return false;
-                    }
-                } else {
-                    mTelephonyManager.setDataRoamingEnabled(false);
-                    MetricsLogger.action(getContext(),
-                            getMetricsEventCategory(getPreferenceScreen(), mButtonDataRoam),
-                            false);
-                    return true;
-                }
-            } else if (preference == mVideoCallingPref) {
-                // If mButton4glte is not checked, mVideoCallingPref should be disabled.
-                // So it only makes sense to call phoneMgr.enableVideoCalling if it's checked.
-                if (mButton4glte.isChecked()) {
-                    mImsMgr.setVtSetting((boolean) objValue);
-                    return true;
-                } else {
-                    loge("mVideoCallingPref should be disabled if mButton4glte is not checked.");
-                    mVideoCallingPref.setEnabled(false);
-                    return false;
-                }
-            } else if (preference == getPreferenceScreen()
-                    .findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY)
-                    || preference == getPreferenceScreen()
-                    .findPreference(BUTTON_CDMA_SUBSCRIPTION_KEY)) {
-                return true;
-            }
-
-            updateBody();
-            // always let the preference setting proceed.
-            return true;
-        }
-
-        private boolean is4gLtePrefEnabled(PersistableBundle carrierConfig) {
-            return (mTelephonyManager.getCallState(mSubId)
-                    == TelephonyManager.CALL_STATE_IDLE)
-                    && mImsMgr != null
-                    && mImsMgr.isNonTtyOrTtyOnVolteEnabled()
-                    && carrierConfig.getBoolean(
-                            CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL);
-        }
-
-        private class MyHandler extends Handler {
-
-            static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 0;
-
-            @Override
-            public void handleMessage(Message msg) {
-                switch (msg.what) {
-                    case MESSAGE_SET_PREFERRED_NETWORK_TYPE:
-                        handleSetPreferredNetworkTypeResponse(msg);
-                        break;
-                }
-            }
-
-            private void handleSetPreferredNetworkTypeResponse(Message msg) {
-                final Activity activity = getActivity();
-                if (activity == null || activity.isDestroyed()) {
-                    // Access preferences of activity only if it is not destroyed
-                    // or if fragment is not attached to an activity.
-                    return;
-                }
-
-                boolean success = (boolean) msg.obj;
-
-                if (success) {
-                    int networkMode;
-                    if (getPreferenceScreen().findPreference(
-                            BUTTON_PREFERED_NETWORK_MODE) != null)  {
-                        networkMode =  Integer.parseInt(mButtonPreferredNetworkMode.getValue());
-                        android.provider.Settings.Global.putInt(
-                                getContext().getContentResolver(),
-                                android.provider.Settings.Global.PREFERRED_NETWORK_MODE
-                                        + mSubId,
-                                networkMode );
-                    }
-                    if (getPreferenceScreen().findPreference(BUTTON_ENABLED_NETWORKS_KEY) != null) {
-                        networkMode = Integer.parseInt(mButtonEnabledNetworks.getValue());
-                        android.provider.Settings.Global.putInt(
-                                getContext().getContentResolver(),
-                                android.provider.Settings.Global.PREFERRED_NETWORK_MODE
-                                        + mSubId,
-                                networkMode );
-                    }
-                } else {
-                    Log.i(LOG_TAG, "handleSetPreferredNetworkTypeResponse:" +
-                            "exception in setting network mode.");
-                    updatePreferredNetworkUIFromDb();
-                }
-            }
-        }
-
-        private void updatePreferredNetworkUIFromDb() {
-            int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                    getContext().getContentResolver(),
-                    android.provider.Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                    preferredNetworkMode);
-
-            if (DBG) {
-                log("updatePreferredNetworkUIFromDb: settingsNetworkMode = " +
-                        settingsNetworkMode);
-            }
-
-            UpdatePreferredNetworkModeSummary(settingsNetworkMode);
-            UpdateEnabledNetworksValueAndSummary(settingsNetworkMode);
-            // changes the mButtonPreferredNetworkMode accordingly to settingsNetworkMode
-            mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
-        }
-
-        private void UpdatePreferredNetworkModeSummary(int NetworkMode) {
-            switch(NetworkMode) {
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_tdscdma_gsm_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_tdscdma_gsm_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_wcdma_perf_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_GSM_ONLY:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_gsm_only_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_tdscdma_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_WCDMA_ONLY:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_wcdma_only_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_GSM_UMTS:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_gsm_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-                    switch (mTelephonyManager.getLteOnCdmaMode()) {
-                        case PhoneConstants.LTE_ON_CDMA_TRUE:
-                            mButtonPreferredNetworkMode.setSummary(
-                                    R.string.preferred_network_mode_cdma_summary);
-                            break;
-                        case PhoneConstants.LTE_ON_CDMA_FALSE:
-                        default:
-                            mButtonPreferredNetworkMode.setSummary(
-                                    R.string.preferred_network_mode_cdma_evdo_summary);
-                            break;
-                    }
-                    break;
-                case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_cdma_only_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_evdo_only_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_tdscdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_ONLY:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_tdscdma_gsm_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_tdscdma_gsm_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_gsm_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_cdma_evdo_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_tdscdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                    if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA
-                            || mIsGlobalCdma
-                            || isWorldMode()) {
-                        mButtonPreferredNetworkMode.setSummary(
-                                R.string.preferred_network_mode_global_summary);
-                    } else {
-                        mButtonPreferredNetworkMode.setSummary(
-                                R.string.preferred_network_mode_lte_summary);
-                    }
-                    break;
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_GLOBAL:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_cdma_evdo_gsm_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_tdscdma_wcdma_summary);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_lte_wcdma_summary);
-                    break;
-                default:
-                    mButtonPreferredNetworkMode.setSummary(
-                            R.string.preferred_network_mode_global_summary);
-            }
-        }
-
-        private void UpdateEnabledNetworksValueAndSummary(int NetworkMode) {
-            switch (NetworkMode) {
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
-                    mButtonEnabledNetworks.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
-                    mButtonEnabledNetworks.setSummary(R.string.network_3G);
-                    break;
-                case TelephonyManager.NETWORK_MODE_WCDMA_ONLY:
-                case TelephonyManager.NETWORK_MODE_GSM_UMTS:
-                case TelephonyManager.NETWORK_MODE_WCDMA_PREF:
-                    if (!mIsGlobalCdma) {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager.NETWORK_MODE_WCDMA_PREF));
-                        mButtonEnabledNetworks.setSummary(R.string.network_3G);
-                    } else {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager
-                                        .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                        mButtonEnabledNetworks.setSummary(R.string.network_global);
-                    }
-                    break;
-                case TelephonyManager.NETWORK_MODE_GSM_ONLY:
-                    if (!mIsGlobalCdma) {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager.NETWORK_MODE_GSM_ONLY));
-                        mButtonEnabledNetworks.setSummary(R.string.network_2G);
-                    } else {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager
-                                        .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                        mButtonEnabledNetworks.setSummary(R.string.network_global);
-                    }
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
-                    if (isWorldMode()) {
-                        mButtonEnabledNetworks.setSummary(
-                                R.string.preferred_network_mode_lte_gsm_umts_summary);
-                        controlCdmaOptions(false);
-                        controlGsmOptions(true);
-                        break;
-                    }
-                case TelephonyManager.NETWORK_MODE_LTE_ONLY:
-                case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
-                    if (!mIsGlobalCdma) {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
-                        mButtonEnabledNetworks.setSummary((mShow4GForLTE == true)
-                                ? R.string.network_4G : R.string.network_lte);
-                    } else {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager
-                                        .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                        mButtonEnabledNetworks.setSummary(R.string.network_global);
-                    }
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
-                    if (isWorldMode()) {
-                        mButtonEnabledNetworks.setSummary(
-                                R.string.preferred_network_mode_lte_cdma_summary);
-                        controlCdmaOptions(true);
-                        controlGsmOptions(false);
-                    } else {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO));
-                        mButtonEnabledNetworks.setSummary(R.string.network_lte);
-                    }
-                    break;
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                    mButtonEnabledNetworks.setValue(
-                            Integer.toString(TelephonyManager
-                                    .NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-                    mButtonEnabledNetworks.setSummary(R.string.network_3G);
-                    break;
-                case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-                case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
-                case TelephonyManager.NETWORK_MODE_GLOBAL:
-                    mButtonEnabledNetworks.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_EVDO));
-                    mButtonEnabledNetworks.setSummary(R.string.network_3G);
-                    break;
-                case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
-                    mButtonEnabledNetworks.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO));
-                    mButtonEnabledNetworks.setSummary(R.string.network_1x);
-                    break;
-                case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
-                    mButtonEnabledNetworks.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY));
-                    mButtonEnabledNetworks.setSummary(R.string.network_3G);
-                    break;
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-                case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                    if (isSupportTdscdma()) {
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager
-                                        .NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-                        mButtonEnabledNetworks.setSummary(R.string.network_lte);
-                    } else {
-                        if (isWorldMode()) {
-                            controlCdmaOptions(true);
-                            controlGsmOptions(false);
-                        }
-                        mButtonEnabledNetworks.setValue(
-                                Integer.toString(TelephonyManager
-                                        .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                        if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA
-                                || mIsGlobalCdma
-                                || isWorldMode()) {
-                            mButtonEnabledNetworks.setSummary(R.string.network_global);
-                        } else {
-                            mButtonEnabledNetworks.setSummary((mShow4GForLTE == true)
-                                    ? R.string.network_4G : R.string.network_lte);
-                        }
-                    }
-                    break;
-                default:
-                    String errMsg = "Invalid Network Mode (" + NetworkMode + "). Ignore.";
-                    loge(errMsg);
-                    mButtonEnabledNetworks.setSummary(errMsg);
-            }
-        }
-
-        @Override
-        public void onActivityResult(int requestCode, int resultCode, Intent data) {
-            switch(requestCode) {
-                case REQUEST_CODE_EXIT_ECM:
-                    if (resultCode != Activity.RESULT_CANCELED) {
-                        // If the phone exits from ECM mode, show the CDMA Options
-                        mCdmaOptions.showDialog(mClickedPreference);
-                    }
-                    break;
-
-                default:
-                    break;
-            }
-        }
-
-        private void updateWiFiCallState() {
-            if (mWiFiCallingPref == null || mCallingCategory == null) {
-                return;
-            }
-
-            // Removes the preference if the wifi calling is disabled.
-            if (!isWifiCallingEnabled(getContext(), mSubId)) {
-                mCallingCategory.removePreference(mWiFiCallingPref);
-                return;
-            }
-
-            // See what Telecom thinks the SIM call manager is.
-            final PhoneAccountHandle simCallManager =
-                    TelecomManager.from(getContext()).getSimCallManagerForSubscription(mSubId);
-
-            // Check which SIM call manager is for the current sub ID.
-            PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-            String currentSubSimCallManager = null;
-            if (carrierConfig != null) {
-                currentSubSimCallManager = carrierConfig.getString(
-                        CarrierConfigManager.KEY_DEFAULT_SIM_CALL_MANAGER_STRING);
-            }
-
-            // Only try to configure the phone account if this is the sim call manager for the
-            // current sub.
-            if (simCallManager != null
-                    && simCallManager.getComponentName().flattenToString().equals(
-                    currentSubSimCallManager)) {
-                Intent intent = MobileNetworkSettings.buildPhoneAccountConfigureIntent(
-                        getContext(), simCallManager);
-                PackageManager pm = getContext().getPackageManager();
-                List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
-                mWiFiCallingPref.setTitle(resolutions.get(0).loadLabel(pm));
-                mWiFiCallingPref.setSummary(null);
-                mWiFiCallingPref.setIntent(intent);
-            } else {
-                String title = SubscriptionManager.getResourcesForSubId(getContext(), mSubId)
-                        .getString(R.string.wifi_calling_settings_title);
-                mWiFiCallingPref.setTitle(title);
-
-                int resId = com.android.internal.R.string.wifi_calling_off_summary;
-                if (mImsMgr.isWfcEnabledByUser()) {
-                    boolean isRoaming = mTelephonyManager.isNetworkRoaming();
-                    int wfcMode = mImsMgr.getWfcMode(isRoaming);
-
-                    switch (wfcMode) {
-                        case ImsConfig.WfcModeFeatureValueConstants.WIFI_ONLY:
-                            resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
-                            break;
-                        case ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED:
-                            resId = com.android.internal.R.string
-                                    .wfc_mode_cellular_preferred_summary;
-                            break;
-                        case ImsConfig.WfcModeFeatureValueConstants.WIFI_PREFERRED:
-                            resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
-                            break;
-                        default:
-                            if (DBG) log("Unexpected WFC mode value: " + wfcMode);
-                    }
-                }
-                mWiFiCallingPref.setSummary(resId);
-            }
-
-            mCallingCategory.addPreference(mWiFiCallingPref);
-            mWiFiCallingPref.setEnabled(mTelephonyManager.getCallState(mSubId)
-                    == TelephonyManager.CALL_STATE_IDLE && hasActiveSubscriptions());
-        }
-
-        private void updateEnhanced4gLteState() {
-            if (mButton4glte == null) {
-                return;
-            }
-
-            PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-
-            if ((mImsMgr == null
-                    || !mImsMgr.isVolteEnabledByPlatform()
-                    || !mImsMgr.isVolteProvisionedOnDevice()
-                    || !isImsServiceStateReady(mImsMgr)
-                    || carrierConfig.getBoolean(
-                    CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL))) {
-                getPreferenceScreen().removePreference(mButton4glte);
-            } else {
-                mButton4glte.setEnabled(is4gLtePrefEnabled(carrierConfig)
-                        && hasActiveSubscriptions());
-                boolean enh4glteMode = mImsMgr.isEnhanced4gLteModeSettingEnabledByUser()
-                        && mImsMgr.isNonTtyOrTtyOnVolteEnabled();
-                mButton4glte.setChecked(enh4glteMode);
-            }
-        }
-
-        private void updateVideoCallState() {
-            if (mVideoCallingPref == null || mCallingCategory == null) {
-                return;
-            }
-
-            PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-
-            if (mImsMgr != null
-                    && mImsMgr.isVtEnabledByPlatform()
-                    && mImsMgr.isVtProvisionedOnDevice()
-                    && isImsServiceStateReady(mImsMgr)
-                    && (carrierConfig.getBoolean(
-                        CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
-                        || mTelephonyManager.isDataEnabled())) {
-                mCallingCategory.addPreference(mVideoCallingPref);
-                if (!mButton4glte.isChecked()) {
-                    mVideoCallingPref.setEnabled(false);
-                    mVideoCallingPref.setChecked(false);
-                } else {
-                    mVideoCallingPref.setEnabled(mTelephonyManager.getCallState(mSubId)
-                            == TelephonyManager.CALL_STATE_IDLE && hasActiveSubscriptions());
-                    mVideoCallingPref.setChecked(mImsMgr.isVtEnabledByUser());
-                    mVideoCallingPref.setOnPreferenceChangeListener(this);
-                }
-            } else {
-                mCallingCategory.removePreference(mVideoCallingPref);
-            }
-        }
-
-        private void updatePreferredNetworkType() {
-            boolean enabled = mTelephonyManager.getCallState(
-                    mSubId) == TelephonyManager.CALL_STATE_IDLE
-                    && hasActiveSubscriptions();
-            Log.i(LOG_TAG, "updatePreferredNetworkType: " + enabled);
-            // TODO: Disentangle enabled networks vs preferred network mode, it looks like
-            // both buttons are shown to the user as "Preferred network type" and the options change
-            // based on what looks like World mode.
-            if (mButtonEnabledNetworks != null) {
-                mButtonEnabledNetworks.setEnabled(enabled);
-            }
-            if (mButtonPreferredNetworkMode != null) {
-                mButtonPreferredNetworkMode.setEnabled(enabled);
-            }
-        }
-
-        private void updateCallingCategory() {
-            if (mCallingCategory == null) {
-                return;
-            }
-
-            updateWiFiCallState();
-            updateVideoCallState();
-
-            // If all items in calling category is removed, we remove it from
-            // the screen. Otherwise we'll see title of the category but nothing
-            // is in there.
-            if (mCallingCategory.getPreferenceCount() == 0) {
-                getPreferenceScreen().removePreference(mCallingCategory);
-            } else {
-                getPreferenceScreen().addPreference(mCallingCategory);
-            }
-        }
-
-        private static void log(String msg) {
-            Log.d(LOG_TAG, msg);
-        }
-
-        private static void loge(String msg) {
-            Log.e(LOG_TAG, msg);
-        }
-
-        @Override
-        public boolean onOptionsItemSelected(MenuItem item) {
-            final int itemId = item.getItemId();
-            if (itemId == android.R.id.home) {  // See ActionBar#setDisplayHomeAsUpEnabled()
-                // Commenting out "logical up" capability. This is a workaround for issue 5278083.
-                //
-                // Settings app may not launch this activity via UP_ACTIVITY_CLASS but the other
-                // Activity that looks exactly same as UP_ACTIVITY_CLASS ("SubSettings" Activity).
-                // At that moment, this Activity launches UP_ACTIVITY_CLASS on top of the Activity.
-                // which confuses users.
-                // TODO: introduce better mechanism for "up" capability here.
-            /*Intent intent = new Intent(Intent.ACTION_MAIN);
-            intent.setClassName(UP_ACTIVITY_PACKAGE, UP_ACTIVITY_CLASS);
-            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
-            startActivity(intent);*/
-                getActivity().finish();
-                return true;
-            }
-            return super.onOptionsItemSelected(item);
-        }
-
-        private boolean isWorldMode() {
-            boolean worldModeOn = false;
-            final String configString = getResources().getString(R.string.config_world_mode);
-
-            if (!TextUtils.isEmpty(configString)) {
-                String[] configArray = configString.split(";");
-                // Check if we have World mode configuration set to True only or config is set to True
-                // and SIM GID value is also set and matches to the current SIM GID.
-                if (configArray != null &&
-                        ((configArray.length == 1 && configArray[0].equalsIgnoreCase("true"))
-                                || (configArray.length == 2 && !TextUtils.isEmpty(configArray[1])
-                                && mTelephonyManager != null
-                                && configArray[1].equalsIgnoreCase(
-                                        mTelephonyManager.getGroupIdLevel1())))) {
-                    worldModeOn = true;
-                }
-            }
-
-            Log.d(LOG_TAG, "isWorldMode=" + worldModeOn);
-
-            return worldModeOn;
-        }
-
-        private void controlGsmOptions(boolean enable) {
-            PreferenceScreen prefSet = getPreferenceScreen();
-            if (prefSet == null) {
-                return;
-            }
-
-            updateGsmUmtsOptions(this, prefSet, mSubId);
-
-            PreferenceCategory networkOperatorCategory =
-                    (PreferenceCategory) prefSet.findPreference(
-                            NetworkOperators.CATEGORY_NETWORK_OPERATORS_KEY);
-            Preference carrierSettings = prefSet.findPreference(BUTTON_CARRIER_SETTINGS_KEY);
-            if (networkOperatorCategory != null) {
-                if (enable) {
-                    networkOperatorCategory.setEnabled(true);
-                } else {
-                    prefSet.removePreference(networkOperatorCategory);
-                }
-            }
-            if (carrierSettings != null) {
-                prefSet.removePreference(carrierSettings);
-            }
-        }
-
-        private void controlCdmaOptions(boolean enable) {
-            PreferenceScreen prefSet = getPreferenceScreen();
-            if (prefSet == null) {
-                return;
-            }
-            updateCdmaOptions(this, prefSet, mSubId);
-            CdmaSystemSelectListPreference systemSelect =
-                    (CdmaSystemSelectListPreference)prefSet.findPreference
-                            (BUTTON_CDMA_SYSTEM_SELECT_KEY);
-            systemSelect.setSubscriptionId(mSubId);
-            if (systemSelect != null) {
-                systemSelect.setEnabled(enable);
-            }
-        }
-
-        private boolean isSupportTdscdma() {
-            if (getResources().getBoolean(R.bool.config_support_tdscdma)) {
-                return true;
-            }
-
-            String operatorNumeric = mTelephonyManager.getServiceState().getOperatorNumeric();
-            String[] numericArray = getResources().getStringArray(
-                    R.array.config_support_tdscdma_roaming_on_networks);
-            if (numericArray.length == 0 || operatorNumeric == null) {
-                return false;
-            }
-            for (String numeric : numericArray) {
-                if (operatorNumeric.equals(numeric)) {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        /**
-         * Metrics events related methods. it takes care of all preferences possible in this
-         * fragment(except a few that log on their own). It doesn't only include preferences in
-         * network_setting_fragment.xml, but also those defined in GsmUmtsOptions and CdmaOptions.
-         */
-        private void sendMetricsEventPreferenceClicked(
-                PreferenceScreen preferenceScreen, Preference preference) {
-            final int category = getMetricsEventCategory(preferenceScreen, preference);
-            if (category == MetricsEvent.VIEW_UNKNOWN) {
-                return;
-            }
-
-            // Send MetricsEvent on click. It includes preferences other than SwitchPreferences,
-            // which send MetricsEvent in onPreferenceChange.
-            // For ListPreferences, we log it here without a value, only indicating it's clicked to
-            // open the list dialog. When a value is chosen, another MetricsEvent is logged with
-            // new value in onPreferenceChange.
-            if (preference == mLteDataServicePref || preference == mDataUsagePref
-                    || preference == mEuiccSettingsPref || preference == mAdvancedOptions
-                    || preference == mWiFiCallingPref || preference == mButtonPreferredNetworkMode
-                    || preference == mButtonEnabledNetworks
-                    || preference == preferenceScreen.findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY)
-                    || preference == preferenceScreen.findPreference(BUTTON_CDMA_SUBSCRIPTION_KEY)
-                    || preference == preferenceScreen.findPreference(BUTTON_GSM_APN_EXPAND_KEY)
-                    || preference == preferenceScreen.findPreference(BUTTON_CDMA_APN_EXPAND_KEY)
-                    || preference == preferenceScreen.findPreference(BUTTON_CARRIER_SETTINGS_KEY)) {
-                MetricsLogger.action(getContext(), category);
-            }
-        }
-
-        private void sendMetricsEventPreferenceChanged(
-                PreferenceScreen preferenceScreen, Preference preference, Object newValue) {
-            final int category = getMetricsEventCategory(preferenceScreen, preference);
-            if (category == MetricsEvent.VIEW_UNKNOWN) {
-                return;
-            }
-
-            // MetricsEvent logging with new value, for SwitchPreferences and ListPreferences.
-            if (preference == mButton4glte || preference == mVideoCallingPref) {
-                MetricsLogger.action(getContext(), category, (Boolean) newValue);
-            } else if (preference == mButtonPreferredNetworkMode
-                    || preference == mButtonEnabledNetworks
-                    || preference == preferenceScreen
-                            .findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY)
-                    || preference == preferenceScreen
-                            .findPreference(BUTTON_CDMA_SUBSCRIPTION_KEY)) {
-                // Network select preference sends metrics event in its own listener.
-                MetricsLogger.action(getContext(), category, Integer.valueOf((String) newValue));
-            }
-        }
-
-        private int getMetricsEventCategory(
-                PreferenceScreen preferenceScreen, Preference preference) {
-
-            if (preference == null) {
-                return MetricsEvent.VIEW_UNKNOWN;
-            } else if (preference == mMobileDataPref) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_MOBILE_DATA_TOGGLE;
-            } else if (preference == mButtonDataRoam) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_DATA_ROAMING_TOGGLE;
-            } else if (preference == mDataUsagePref) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_DATA_USAGE;
-            } else if (preference == mLteDataServicePref) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_SET_UP_DATA_SERVICE;
-            } else if (preference == mAdvancedOptions) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_EXPAND_ADVANCED_FIELDS;
-            } else if (preference == mButton4glte) {
-                return MetricsEvent.ACTION_MOBILE_ENHANCED_4G_LTE_MODE_TOGGLE;
-            } else if (preference == mButtonPreferredNetworkMode) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_SELECT_PREFERRED_NETWORK;
-            } else if (preference == mButtonEnabledNetworks) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_SELECT_ENABLED_NETWORK;
-            } else if (preference == mEuiccSettingsPref) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_EUICC_SETTING;
-            } else if (preference == mWiFiCallingPref) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_WIFI_CALLING;
-            } else if (preference == mVideoCallingPref) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_VIDEO_CALLING_TOGGLE;
-            } else if (preference == preferenceScreen
-                            .findPreference(NetworkOperators.BUTTON_AUTO_SELECT_KEY)) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_AUTO_SELECT_NETWORK_TOGGLE;
-            } else if (preference == preferenceScreen
-                            .findPreference(NetworkOperators.BUTTON_NETWORK_SELECT_KEY)) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK;
-            } else if (preference == preferenceScreen
-                            .findPreference(BUTTON_CDMA_SYSTEM_SELECT_KEY)) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_CDMA_SYSTEM_SELECT;
-            } else if (preference == preferenceScreen
-                            .findPreference(BUTTON_CDMA_SUBSCRIPTION_KEY)) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_CDMA_SUBSCRIPTION_SELECT;
-            } else if (preference == preferenceScreen.findPreference(BUTTON_GSM_APN_EXPAND_KEY)
-                    || preference == preferenceScreen.findPreference(BUTTON_CDMA_APN_EXPAND_KEY)) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_APN_SETTINGS;
-            } else if (preference == preferenceScreen.findPreference(BUTTON_CARRIER_SETTINGS_KEY)) {
-                return MetricsEvent.ACTION_MOBILE_NETWORK_CARRIER_SETTINGS;
-            } else {
-                return MetricsEvent.VIEW_UNKNOWN;
-            }
-        }
-
-        private void updateGsmUmtsOptions(PreferenceFragment prefFragment,
-                PreferenceScreen prefScreen, final int subId) {
-            // We don't want to re-create GsmUmtsOptions if already exists. Otherwise, the
-            // preferences inside it will also be re-created which causes unexpected behavior.
-            // For example, the open dialog gets dismissed or detached after pause / resume.
-            if (mGsmUmtsOptions == null) {
-                mGsmUmtsOptions = new GsmUmtsOptions(prefFragment, prefScreen, subId);
-            } else {
-                mGsmUmtsOptions.update(subId);
-            }
-        }
-
-        private void updateCdmaOptions(PreferenceFragment prefFragment, PreferenceScreen prefScreen,
-                int subId) {
-            // We don't want to re-create CdmaOptions if already exists. Otherwise, the preferences
-            // inside it will also be re-created which causes unexpected behavior. For example,
-            // the open dialog gets dismissed or detached after pause / resume.
-            if (mCdmaOptions == null) {
-                mCdmaOptions = new CdmaOptions(prefFragment, prefScreen, subId);
-            } else {
-                mCdmaOptions.updateSubscriptionId(subId);
-            }
-        }
-    }
-
-    private static final class SetPreferredNetworkAsyncTask extends AsyncTask<Void, Void, Boolean> {
-
-        private final TelephonyManager mTelephonyManager;
-        private final int mSubId;
-        private final int mNetworkType;
-        private final Message mCallback;
-
-        SetPreferredNetworkAsyncTask(
-                TelephonyManager tm, int subId, int networkType, Message callback) {
-            mTelephonyManager = tm;
-            mSubId = subId;
-            mNetworkType = networkType;
-            mCallback = callback;
-        }
-
-        @Override
-        protected Boolean doInBackground(Void... voids) {
-            return mTelephonyManager.setPreferredNetworkType(mSubId, mNetworkType);
-        }
-
-        @Override
-        protected void onPostExecute(Boolean isSuccessed) {
-            mCallback.obj = isSuccessed;
-            mCallback.sendToTarget();
-        }
-    }
-}
diff --git a/src/com/android/phone/NetworkOperatorPreference.java b/src/com/android/phone/NetworkOperatorPreference.java
deleted file mode 100644
index 09c494c..0000000
--- a/src/com/android/phone/NetworkOperatorPreference.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2018 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.graphics.Color;
-import android.graphics.drawable.ColorDrawable;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.LayerDrawable;
-import android.preference.Preference;
-import android.telephony.CellInfo;
-import android.telephony.SignalStrength;
-import android.util.Log;
-import android.view.Gravity;
-
-import com.android.settingslib.graph.SignalDrawable;
-
-import java.util.List;
-
-/**
- * A Preference represents a network operator in the NetworkSelectSetting fragment.
- */
-public class NetworkOperatorPreference extends Preference {
-
-    private static final String TAG = "NetworkOperatorPref";
-    private static final boolean DBG = false;
-    // number of signal strength level
-    public static final int NUMBER_OF_LEVELS = SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
-    private CellInfo mCellInfo;
-    private List<String> mForbiddenPlmns;
-    private int mLevel = -1;
-    private boolean mShow4GForLTE;
-
-    // The following constants are used to draw signal icon.
-    private static final Drawable EMPTY_DRAWABLE = new ColorDrawable(Color.TRANSPARENT);
-    private static final int NO_CELL_DATA_CONNECTED_ICON = 0;
-
-    public NetworkOperatorPreference(
-            CellInfo cellinfo, Context context, List<String> forbiddenPlmns, boolean show4GForLTE) {
-        super(context);
-        mCellInfo = cellinfo;
-        mForbiddenPlmns = forbiddenPlmns;
-        mShow4GForLTE = show4GForLTE;
-        refresh();
-    }
-
-    public CellInfo getCellInfo() {
-        return mCellInfo;
-    }
-
-    /**
-     * Refresh the NetworkOperatorPreference by updating the title and the icon.
-     */
-    public void refresh() {
-        if (DBG) Log.d(TAG, "refresh the network: " + CellInfoUtil.getNetworkTitle(mCellInfo));
-        String networkTitle = CellInfoUtil.getNetworkTitle(mCellInfo);
-        if (CellInfoUtil.isForbidden(mCellInfo, mForbiddenPlmns)) {
-            networkTitle += " " + getContext().getResources().getString(R.string.forbidden_network);
-        }
-        setTitle(networkTitle);
-        int level = mCellInfo.getCellSignalStrength().getLevel();
-        if (DBG) Log.d(TAG, "refresh level: " + String.valueOf(level));
-        if (mLevel != level) {
-            mLevel = level;
-            updateIcon(mLevel);
-        }
-    }
-
-    /**
-     * Update the icon according to the input signal strength level.
-     */
-    public void setIcon(int level) {
-        updateIcon(level);
-    }
-
-    private int getIconIdForCell(CellInfo ci) {
-        final int type = ci.getCellIdentity().getType();
-        switch (type) {
-            case CellInfo.TYPE_GSM: return R.drawable.signal_strength_g;
-            case CellInfo.TYPE_WCDMA: // fall through
-            case CellInfo.TYPE_TDSCDMA: return R.drawable.signal_strength_3g;
-            case CellInfo.TYPE_LTE:
-                return mShow4GForLTE
-                        ? R.drawable.signal_strength_4g : R.drawable.signal_strength_lte;
-            case CellInfo.TYPE_CDMA: return R.drawable.signal_strength_1x;
-            default: return 0;
-        }
-    }
-
-    private void updateIcon(int level) {
-        if (level < 0 || level >= NUMBER_OF_LEVELS) return;
-        Context context = getContext();
-        // Make the signal strength drawable
-        int iconId = 0;
-        if (DBG) Log.d(TAG, "updateIcon level: " + String.valueOf(level));
-        iconId = SignalDrawable.getState(level, NUMBER_OF_LEVELS, false /* cutOut */);
-
-        SignalDrawable signalDrawable = new SignalDrawable(getContext());
-        signalDrawable.setLevel(iconId);
-        signalDrawable.setDarkIntensity(0);
-
-        // Make the network type drawable
-        int iconType = getIconIdForCell(mCellInfo);
-        Drawable networkDrawable =
-                iconType == NO_CELL_DATA_CONNECTED_ICON
-                        ? EMPTY_DRAWABLE
-                        : getContext()
-                        .getResources().getDrawable(iconType, getContext().getTheme());
-
-        // Overlay the two drawables
-        Drawable[] layers = {networkDrawable, signalDrawable};
-        final int iconSize =
-                context.getResources().getDimensionPixelSize(R.dimen.signal_strength_icon_size);
-
-        LayerDrawable icons = new LayerDrawable(layers);
-        // Set the network type icon at the top left
-        icons.setLayerGravity(0 /* index of networkDrawable */, Gravity.TOP | Gravity.LEFT);
-        // Set the signal strength icon at the bottom right
-        icons.setLayerGravity(1 /* index of SignalDrawable */, Gravity.BOTTOM | Gravity.RIGHT);
-        icons.setLayerSize(1 /* index of SignalDrawable */, iconSize, iconSize);
-        setIcon(icons);
-    }
-}
diff --git a/src/com/android/phone/NetworkOperators.java b/src/com/android/phone/NetworkOperators.java
deleted file mode 100644
index ec71656..0000000
--- a/src/com/android/phone/NetworkOperators.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * Copyright (C) 2006 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.ProgressDialog;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.os.Message;
-import android.preference.Preference;
-import android.preference.PreferenceCategory;
-import android.preference.TwoStatePreference;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.widget.Toast;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settingslib.utils.ThreadUtils;
-
-/**
- * "Networks" settings UI for the Phone app.
- */
-public class NetworkOperators extends PreferenceCategory
-        implements Preference.OnPreferenceChangeListener {
-
-    private static final String LOG_TAG = "NetworkOperators";
-    private static final boolean DBG = true;
-
-    private static final int EVENT_AUTO_SELECT_DONE = 100;
-    private static final int EVENT_GET_NETWORK_SELECTION_MODE_DONE = 200;
-
-    //String keys for preference lookup
-    public static final String BUTTON_NETWORK_SELECT_KEY = "button_network_select_key";
-    public static final String BUTTON_AUTO_SELECT_KEY = "button_auto_select_key";
-    public static final String BUTTON_CHOOSE_NETWORK_KEY = "button_choose_network_key";
-    public static final String CATEGORY_NETWORK_OPERATORS_KEY = "network_operators_category_key";
-
-    //preference objects
-    private NetworkSelectListPreference mNetworkSelect;
-    private TwoStatePreference mAutoSelect;
-    private Preference mChooseNetwork;
-    private ProgressDialog mProgressDialog;
-
-    private int mSubId;
-    private TelephonyManager mTelephonyManager;
-
-    // There's two sets of Auto-Select UI in this class.
-    // If {@code com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI} set as true
-    // {@link mChooseNetwork} will be used, otherwise {@link mNetworkSelect} will be used.
-    boolean mEnableNewManualSelectNetworkUI;
-
-    public NetworkOperators(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public NetworkOperators(Context context) {
-        super(context);
-    }
-
-    /**
-     * Initialize NetworkOperators instance.
-     */
-    public void initialize() {
-        mEnableNewManualSelectNetworkUI = getContext().getResources().getBoolean(
-                com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI);
-        mAutoSelect = (TwoStatePreference) findPreference(BUTTON_AUTO_SELECT_KEY);
-        mChooseNetwork = findPreference(BUTTON_CHOOSE_NETWORK_KEY);
-        mNetworkSelect = (NetworkSelectListPreference) findPreference(BUTTON_NETWORK_SELECT_KEY);
-        if (mEnableNewManualSelectNetworkUI) {
-            removePreference(mNetworkSelect);
-        } else {
-            removePreference(mChooseNetwork);
-        }
-        mProgressDialog = new ProgressDialog(getContext());
-        mTelephonyManager = TelephonyManager.from(getContext());
-    }
-
-    /**
-     * Update NetworkOperators instance if like subId is updated.
-     *
-     * @param subId Corresponding subscription ID of this network.
-     */
-    protected void update(final int subId) {
-        mSubId = subId;
-        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(mSubId);
-
-        if (mAutoSelect != null) {
-            mAutoSelect.setOnPreferenceChangeListener(this);
-        }
-
-        if (mEnableNewManualSelectNetworkUI) {
-            if (mChooseNetwork != null) {
-                ServiceState ss = mTelephonyManager.getServiceState();
-                if (ss != null && ss.getState() == ServiceState.STATE_IN_SERVICE) {
-                    mChooseNetwork.setSummary(mTelephonyManager.getNetworkOperatorName());
-                } else {
-                    mChooseNetwork.setSummary(R.string.network_disconnected);
-                }
-            }
-        } else {
-            if (mNetworkSelect != null) {
-                mNetworkSelect.initialize(mSubId, this, mProgressDialog);
-            }
-        }
-        getNetworkSelectionMode();
-    }
-
-    /**
-     * Implemented to support onPreferenceChangeListener to look for preference
-     * changes specifically on auto select button.
-     *
-     * @param preference is the preference to be changed, should be auto select button.
-     * @param newValue   should be the value of whether autoSelect is checked.
-     */
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (preference == mAutoSelect) {
-            boolean autoSelect = (Boolean) newValue;
-            if (DBG) logd("onPreferenceChange autoSelect: " + String.valueOf(autoSelect));
-            selectNetworkAutomatic(autoSelect);
-            MetricsLogger.action(getContext(),
-                    MetricsEvent.ACTION_MOBILE_NETWORK_AUTO_SELECT_NETWORK_TOGGLE, autoSelect);
-            return true;
-        }
-        return false;
-    }
-
-    private final Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case EVENT_AUTO_SELECT_DONE:
-                    mAutoSelect.setEnabled(true);
-                    dismissProgressBar();
-
-                    boolean isSuccessed = (boolean) msg.obj;
-
-                    if (isSuccessed) {
-                        if (DBG) logd("automatic network selection: succeeded!");
-                        displayNetworkSelectionSucceeded();
-                    } else {
-                        if (DBG) logd("automatic network selection: failed!");
-                        displayNetworkSelectionFailed();
-                    }
-
-                    break;
-                case EVENT_GET_NETWORK_SELECTION_MODE_DONE:
-                    int networkSelectionMode = msg.arg1;
-                    if (networkSelectionMode == TelephonyManager.NETWORK_SELECTION_MODE_UNKNOWN) {
-                        if (DBG) logd("get network selection mode: failed!");
-                    } else {
-                        boolean autoSelect = networkSelectionMode
-                                == TelephonyManager.NETWORK_SELECTION_MODE_AUTO;
-                        if (DBG) {
-                            logd("get network selection mode: "
-                                    + (autoSelect ? "auto" : "manual") + " selection");
-                        }
-                        if (mAutoSelect != null) {
-                            mAutoSelect.setChecked(autoSelect);
-                        }
-                        if (mEnableNewManualSelectNetworkUI) {
-                            if (mChooseNetwork != null) {
-                                mChooseNetwork.setEnabled(!autoSelect);
-                            }
-                        } else {
-                            if (mNetworkSelect != null) {
-                                mNetworkSelect.setEnabled(!autoSelect);
-                            }
-                        }
-                    }
-            }
-            return;
-        }
-    };
-
-    // Used by both mAutoSelect and mNetworkSelect buttons.
-    protected void displayNetworkSelectionFailed() {
-        Toast.makeText(getContext(), R.string.connect_later, Toast.LENGTH_LONG).show();
-    }
-
-    // Used by both mAutoSelect and mNetworkSelect buttons.
-    protected void displayNetworkSelectionSucceeded() {
-        Toast.makeText(getContext(), R.string.registration_done, Toast.LENGTH_LONG).show();
-    }
-
-    private void selectNetworkAutomatic(boolean autoSelect) {
-        if (DBG) logd("selectNetworkAutomatic: " + String.valueOf(autoSelect));
-
-        if (autoSelect) {
-            if (mEnableNewManualSelectNetworkUI) {
-                if (mChooseNetwork != null) {
-                    mChooseNetwork.setEnabled(!autoSelect);
-                }
-            } else {
-                if (mNetworkSelect != null) {
-                    mNetworkSelect.setEnabled(!autoSelect);
-                }
-            }
-            if (DBG) logd("select network automatically...");
-            showAutoSelectProgressBar();
-            mAutoSelect.setEnabled(false);
-            if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
-                ThreadUtils.postOnBackgroundThread(() -> {
-                    mTelephonyManager.setNetworkSelectionModeAutomatic();
-                    // Because TelephonyManager#setNetworkSelectionModeAutomatic doesn't have a
-                    // return value, we query the current network selection mode to tell if the
-                    // TelephonyManager#setNetworkSelectionModeAutomatic is successed.
-                    int networkSelectionMode = mTelephonyManager.getNetworkSelectionMode();
-                    Message msg = mHandler.obtainMessage(EVENT_AUTO_SELECT_DONE);
-                    msg.obj = networkSelectionMode == TelephonyManager.NETWORK_SELECTION_MODE_AUTO;
-                    msg.sendToTarget();
-                });
-            }
-        } else {
-            if (mEnableNewManualSelectNetworkUI) {
-                if (mChooseNetwork != null) {
-                    // Open the choose Network page automatically when user turn off the auto-select
-                    openChooseNetworkPage();
-                }
-            } else {
-                if (mNetworkSelect != null) {
-                    mNetworkSelect.onClick();
-                }
-            }
-        }
-    }
-
-    protected void getNetworkSelectionMode() {
-        if (DBG) logd("getting network selection mode...");
-        ThreadUtils.postOnBackgroundThread(() -> {
-            int networkSelectionMode = mTelephonyManager.getNetworkSelectionMode();
-            Message msg = mHandler.obtainMessage(EVENT_GET_NETWORK_SELECTION_MODE_DONE);
-            msg.arg1 = networkSelectionMode;
-            msg.sendToTarget();
-        });
-    }
-
-    private void dismissProgressBar() {
-        if (mProgressDialog != null && mProgressDialog.isShowing()) {
-            mProgressDialog.dismiss();
-        }
-    }
-
-    private void showAutoSelectProgressBar() {
-        mProgressDialog.setMessage(
-                getContext().getResources().getString(R.string.register_automatically));
-        mProgressDialog.setCanceledOnTouchOutside(false);
-        mProgressDialog.setCancelable(false);
-        mProgressDialog.setIndeterminate(true);
-        mProgressDialog.show();
-    }
-
-    /**
-     * Open the Choose network page via {@alink NetworkSelectSettingActivity}
-     */
-    public void openChooseNetworkPage() {
-        Intent intent = NetworkSelectSettingActivity.getIntent(getContext(), mSubId);
-        getContext().startActivity(intent);
-    }
-
-    protected boolean preferenceTreeClick(Preference preference) {
-        if (mEnableNewManualSelectNetworkUI) {
-            if (DBG) logd("enable New AutoSelectNetwork UI");
-            if (preference == mChooseNetwork) {
-                openChooseNetworkPage();
-            }
-            return (preference == mAutoSelect || preference == mChooseNetwork);
-        } else {
-            return (preference == mAutoSelect || preference == mNetworkSelect);
-        }
-    }
-
-    private void logd(String msg) {
-        Log.d(LOG_TAG, "[NetworksList] " + msg);
-    }
-
-    private void loge(String msg) {
-        Log.e(LOG_TAG, "[NetworksList] " + msg);
-    }
-}
diff --git a/src/com/android/phone/NetworkQueryService.java b/src/com/android/phone/NetworkQueryService.java
deleted file mode 100644
index e67582f..0000000
--- a/src/com/android/phone/NetworkQueryService.java
+++ /dev/null
@@ -1,409 +0,0 @@
-/*
- * Copyright (C) 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.
- * 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.Service;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Binder;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.Message;
-import android.os.RemoteCallbackList;
-import android.os.RemoteException;
-import android.telephony.AccessNetworkConstants;
-import android.telephony.CellIdentityGsm;
-import android.telephony.CellInfo;
-import android.telephony.CellInfoGsm;
-import android.telephony.NetworkScan;
-import android.telephony.NetworkScanRequest;
-import android.telephony.RadioAccessSpecifier;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.TelephonyScanManager;
-import android.util.Log;
-
-import com.android.internal.telephony.CellNetworkScanResult;
-import com.android.internal.telephony.OperatorInfo;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Service code used to assist in querying the network for service
- * availability.
- */
-public class NetworkQueryService extends Service {
-    // debug data
-    private static final String LOG_TAG = "NetworkQuery";
-    private static final boolean DBG = true;
-
-    // static events
-    private static final int EVENT_NETWORK_SCAN_VIA_PHONE_COMPLETED = 100;
-    private static final int EVENT_NETWORK_SCAN_RESULTS = 200;
-    private static final int EVENT_NETWORK_SCAN_ERROR = 300;
-    private static final int EVENT_NETWORK_SCAN_COMPLETED = 400;
-
-    // static states indicating the query status of the service
-    private static final int QUERY_READY = -1;
-    private static final int QUERY_IS_RUNNING = -2;
-
-    // error statuses that will be retured in the callback.
-    public static final int QUERY_OK = 0;
-    public static final int QUERY_EXCEPTION = 1;
-
-    static final String ACTION_LOCAL_BINDER = "com.android.phone.intent.action.LOCAL_BINDER";
-
-    /** state of the query service */
-    private int mState;
-
-    private NetworkScan mNetworkScan;
-
-    // NetworkScanRequest parameters
-    private static final int SCAN_TYPE = NetworkScanRequest.SCAN_TYPE_ONE_SHOT;
-    private static final boolean INCREMENTAL_RESULTS = true;
-    // The parameters below are in seconds
-    private static final int SEARCH_PERIODICITY_SEC = 5;
-    private static final int MAX_SEARCH_TIME_SEC = 300;
-    private static final int INCREMENTAL_RESULTS_PERIODICITY_SEC = 3;
-
-    /**
-     * Class for clients to access.  Because we know this service always
-     * runs in the same process as its clients, we don't need to deal with
-     * IPC.
-     */
-    public class LocalBinder extends Binder {
-        INetworkQueryService getService() {
-            return mBinder;
-        }
-    }
-    private final IBinder mLocalBinder = new LocalBinder();
-
-    /**
-     * Local handler to receive the network query compete callback
-     * from the RIL.
-     */
-    Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                // if the scan is complete, broadcast the results.
-                // to all registerd callbacks.
-                case EVENT_NETWORK_SCAN_VIA_PHONE_COMPLETED:
-                    if (DBG) log("scan via Phone completed, broadcasting results");
-                    broadcastQueryResults(msg);
-                    break;
-
-                case EVENT_NETWORK_SCAN_RESULTS:
-                    if (DBG) log("get scan results, broadcasting results");
-                    broadcastQueryResults(msg);
-                    break;
-
-                case EVENT_NETWORK_SCAN_ERROR:
-                    if (DBG) log("get scan error, broadcasting error code");
-                    broadcastQueryResults(msg);
-                    break;
-
-                case EVENT_NETWORK_SCAN_COMPLETED:
-                    if (DBG) log("network scan or stop network query completed");
-                    broadcastQueryResults(msg);
-                    break;
-            }
-        }
-    };
-
-    /**
-     * List of callback objects, also used to synchronize access to 
-     * itself and to changes in state.
-     */
-    final RemoteCallbackList<INetworkQueryServiceCallback> mCallbacks =
-            new RemoteCallbackList<INetworkQueryServiceCallback>();
-
-    /**
-     * This implementation of NetworkScanCallbackImpl is used to receive callback notifications from
-     * the Telephony Manager.
-     */
-    public class NetworkScanCallbackImpl extends TelephonyScanManager.NetworkScanCallback {
-
-        /** Returns the scan results to the user, this callback will be called at least one time. */
-        public void onResults(List<CellInfo> results) {
-            if (DBG) log("got network scan results: " + results.size());
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_RESULTS, results);
-            msg.sendToTarget();
-        }
-
-        /**
-         * Informs the user that the scan has stopped.
-         *
-         * This callback will be called when the scan is finished or cancelled by the user.
-         * The related NetworkScanRequest will be deleted after this callback.
-         */
-        public void onComplete() {
-            if (DBG) log("network scan completed");
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_COMPLETED);
-            msg.sendToTarget();
-        }
-
-        /**
-         * Informs the user that there is some error about the scan.
-         *
-         * This callback will be called whenever there is any error about the scan, and the scan
-         * will be terminated. onComplete() will NOT be called.
-         */
-        public void onError(int error) {
-            if (DBG) log("network scan got error: " + error);
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_ERROR, error, 0 /* arg2 */);
-            msg.sendToTarget();
-        }
-    }
-
-    /**
-     * Implementation of the INetworkQueryService interface.
-     */
-    private final INetworkQueryService.Stub mBinder = new INetworkQueryService.Stub() {
-
-        /**
-         * Starts a query with a INetworkQueryServiceCallback object if
-         * one has not been started yet.  Ignore the new query request
-         * if the query has been started already.  Either way, place the
-         * callback object in the queue to be notified upon request
-         * completion.
-         */
-        public void startNetworkQuery(
-                INetworkQueryServiceCallback cb, int subId, boolean isIncrementalResult) {
-            if (cb != null) {
-                // register the callback to the list of callbacks.
-                synchronized (mCallbacks) {
-                    mCallbacks.register(cb);
-                    if (DBG) log("registering callback " + cb.getClass().toString());
-
-                    switch (mState) {
-                        case QUERY_READY:
-
-                            if (isIncrementalResult) {
-                                if (DBG) log("start network scan via TelephonManager");
-                                TelephonyManager tm = (TelephonyManager) getSystemService(
-                                        Context.TELEPHONY_SERVICE);
-                                // The Radio Access Specifiers below are meant to scan
-                                // all the bands for all the supported technologies.
-                                RadioAccessSpecifier gsm = new RadioAccessSpecifier(
-                                        AccessNetworkConstants.AccessNetworkType.GERAN,
-                                        null /* bands */,
-                                        null /* channels */);
-                                RadioAccessSpecifier lte = new RadioAccessSpecifier(
-                                        AccessNetworkConstants.AccessNetworkType.EUTRAN,
-                                        null /* bands */,
-                                        null /* channels */);
-                                RadioAccessSpecifier wcdma = new RadioAccessSpecifier(
-                                        AccessNetworkConstants.AccessNetworkType.UTRAN,
-                                        null /* bands */,
-                                        null /* channels */);
-                                RadioAccessSpecifier[] radioAccessSpecifier = {gsm, lte, wcdma};
-                                NetworkScanRequest networkScanRequest = new NetworkScanRequest(
-                                        SCAN_TYPE,
-                                        radioAccessSpecifier,
-                                        SEARCH_PERIODICITY_SEC,
-                                        MAX_SEARCH_TIME_SEC,
-                                        INCREMENTAL_RESULTS,
-                                        INCREMENTAL_RESULTS_PERIODICITY_SEC,
-                                        null /* List of PLMN ids (MCC-MNC) */);
-
-                                // Construct a NetworkScanCallback
-                                NetworkQueryService.NetworkScanCallbackImpl
-                                        networkScanCallback =
-                                        new NetworkQueryService.NetworkScanCallbackImpl();
-
-                                // Request network scan
-                                mNetworkScan = tm.requestNetworkScan(networkScanRequest,
-                                        networkScanCallback);
-                                mState = QUERY_IS_RUNNING;
-                            } else {
-                                if (SubscriptionManager.isValidSubscriptionId(subId)) {
-                                    mState = QUERY_IS_RUNNING;
-                                    ThreadUtils.postOnBackgroundThread(() -> {
-                                        if (DBG) log("start network scan via Phone xxx");
-                                        TelephonyManager telephonyManager =
-                                                TelephonyManager.from(getApplicationContext())
-                                                        .createForSubscriptionId(subId);
-                                        CellNetworkScanResult result =
-                                                telephonyManager.getAvailableNetworks();
-                                        Message msg = mHandler.obtainMessage(
-                                                EVENT_NETWORK_SCAN_VIA_PHONE_COMPLETED);
-                                        msg.obj = result;
-                                        msg.sendToTarget();
-                                    });
-                                } else {
-                                    if (DBG) {
-                                        log("SubscriptionId is invalid");
-                                    }
-                                }
-                            }
-
-                            break;
-                        // do nothing if we're currently busy.
-                        case QUERY_IS_RUNNING:
-                            if (DBG) log("query already in progress");
-                            break;
-                        default:
-                    }
-                }
-            }
-        }
-
-        /**
-         * Stops a query with a INetworkQueryServiceCallback object as
-         * a token.
-         */
-        public void stopNetworkQuery() {
-            if (DBG) log("stop network query");
-            // Tells the RIL to terminate the query request.
-            if (mNetworkScan != null) {
-                try {
-                    mNetworkScan.stop();
-                    mState = QUERY_READY;
-                } catch (RemoteException e) {
-                    if (DBG) log("stop mNetworkScan failed");
-                } catch (IllegalArgumentException e) {
-                    // Do nothing, scan has already completed.
-                }
-            }
-        }
-
-        /**
-         * Unregisters the callback without impacting an underlying query.
-         */
-        public void unregisterCallback(INetworkQueryServiceCallback cb) {
-            if (cb != null) {
-                synchronized (mCallbacks) {
-                    if (DBG) log("unregistering callback " + cb.getClass().toString());
-                    mCallbacks.unregister(cb);
-                }
-            }
-        }
-    };
-
-    @Override
-    public void onCreate() {
-        mState = QUERY_READY;
-    }
-
-    /**
-     * Required for service implementation.
-     */
-    @Override
-    public void onStart(Intent intent, int startId) {
-    }
-
-    /**
-     * Handle the bind request.
-     */
-    @Override
-    public IBinder onBind(Intent intent) {
-        if (DBG) log("binding service implementation");
-        if (ACTION_LOCAL_BINDER.equals(intent.getAction())) {
-            return mLocalBinder;
-        }
-
-        return mBinder;
-    }
-
-    /**
-     * Broadcast the results from the query to all registered callback objects.
-     */
-    private void broadcastQueryResults(Message msg) {
-        // reset the state.
-        synchronized (mCallbacks) {
-            mState = QUERY_READY;
-
-            // Make the calls to all the registered callbacks.
-            for (int i = (mCallbacks.beginBroadcast() - 1); i >= 0; i--) {
-                INetworkQueryServiceCallback cb = mCallbacks.getBroadcastItem(i);
-                if (DBG) log("broadcasting results to " + cb.getClass().toString());
-                try {
-                    switch (msg.what) {
-                        case EVENT_NETWORK_SCAN_VIA_PHONE_COMPLETED:
-                            CellNetworkScanResult result = (CellNetworkScanResult) msg.obj;
-                            if (result.getOperators() != null) {
-                                cb.onResults(getCellInfoList(result.getOperators()));
-                            } else {
-                                if (DBG) log("Operators list is null.");
-                            }
-                            // Send the onComplete() callback to indicate the one-time network
-                            // scan has completed.
-                            cb.onComplete();
-                            break;
-
-                        case EVENT_NETWORK_SCAN_RESULTS:
-                            cb.onResults((List<CellInfo>) msg.obj);
-                            break;
-
-                        case EVENT_NETWORK_SCAN_COMPLETED:
-                            cb.onComplete();
-                            break;
-
-                        case EVENT_NETWORK_SCAN_ERROR:
-                            cb.onError(msg.arg1);
-                            break;
-                    }
-                } catch (RemoteException e) {
-                }
-            }
-
-            // finish up.
-            mCallbacks.finishBroadcast();
-        }
-    }
-
-    /**
-     * Wraps up a list of OperatorInfo object to a list of CellInfo object. GsmCellInfo is used here
-     * only because operatorInfo does not contain technology type while CellInfo is an abstract
-     * object that requires to specify technology type. It doesn't matter which CellInfo type to
-     * use here, since we only want to wrap the operator info and PLMN to a CellInfo object.
-     */
-    private List<CellInfo> getCellInfoList(List<OperatorInfo> operatorInfoList) {
-        List<CellInfo> cellInfoList = new ArrayList<>();
-        for (OperatorInfo oi: operatorInfoList) {
-            String operatorNumeric = oi.getOperatorNumeric();
-            String mcc = null;
-            String mnc = null;
-            log("operatorNumeric: " + operatorNumeric);
-            if (operatorNumeric != null && operatorNumeric.matches("^[0-9]{5,6}$")) {
-                mcc = operatorNumeric.substring(0, 3);
-                mnc = operatorNumeric.substring(3);
-            }
-            CellIdentityGsm cig = new CellIdentityGsm(
-                    Integer.MAX_VALUE /* lac */,
-                    Integer.MAX_VALUE /* cid */,
-                    Integer.MAX_VALUE /* arfcn */,
-                    Integer.MAX_VALUE /* bsic */,
-                    mcc,
-                    mnc,
-                    oi.getOperatorAlphaLong(),
-                    oi.getOperatorAlphaShort());
-
-            CellInfoGsm ci = new CellInfoGsm();
-            ci.setCellIdentity(cig);
-            cellInfoList.add(ci);
-        }
-        return cellInfoList;
-    }
-
-    private static void log(String msg) {
-        Log.d(LOG_TAG, msg);
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/phone/NetworkScanHelper.java b/src/com/android/phone/NetworkScanHelper.java
deleted file mode 100644
index a21f547..0000000
--- a/src/com/android/phone/NetworkScanHelper.java
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (C) 2018 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.annotation.IntDef;
-import android.telephony.AccessNetworkConstants.AccessNetworkType;
-import android.telephony.CellInfo;
-import android.telephony.NetworkScan;
-import android.telephony.NetworkScanRequest;
-import android.telephony.RadioAccessSpecifier;
-import android.telephony.TelephonyManager;
-import android.telephony.TelephonyScanManager;
-import android.util.Log;
-
-import com.android.internal.telephony.CellNetworkScanResult;
-
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.SettableFuture;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.List;
-import java.util.concurrent.Executor;
-import java.util.stream.Collectors;
-
-/**
- * A helper class that builds the common interface and performs the network scan for two different
- * network scan APIs.
- */
-public class NetworkScanHelper {
-    public static final String TAG = "NetworkScanHelper";
-    private static final boolean DBG = true;
-
-    /**
-     * Callbacks interface to inform the network scan results.
-     */
-    public interface NetworkScanCallback {
-        /**
-         * Called when the results is returned from {@link TelephonyManager}. This method will be
-         * called at least one time if there is no error occurred during the network scan.
-         *
-         * <p> This method can be called multiple times in one network scan, until
-         * {@link #onComplete()} or {@link #onError(int)} is called.
-         *
-         * @param results
-         */
-        void onResults(List<CellInfo> results);
-
-        /**
-         * Called when the current network scan process is finished. No more
-         * {@link #onResults(List)} will be called for the current network scan after this method is
-         * called.
-         */
-        void onComplete();
-
-        /**
-         * Called when an error occurred during the network scan process.
-         *
-         * <p> There is no more result returned from {@link TelephonyManager} if an error occurred.
-         *
-         * <p> {@link #onComplete()} will not be called if an error occurred.
-         *
-         * @see {@link android.telephony.NetworkScan.ScanErrorCode}
-         */
-        void onError(int errorCode);
-    }
-
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef({NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS, NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS})
-    public @interface NetworkQueryType {}
-
-    /**
-     * Performs the network scan using {@link TelephonyManager#getAvailableNetworks()}. The network
-     * scan results won't be returned to the caller until the network scan is completed.
-     *
-     * <p> This is typically used when the modem doesn't support the new network scan api
-     * {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)}.
-     */
-    public static final int NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS = 1;
-
-    /**
-     * Performs the network scan using {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)} The network scan
-     * results will be returned to the caller periodically in a small time window until the network
-     * scan is completed. The complete results should be returned in the last called of
-     * {@link NetworkScanCallback#onResults(List)}.
-     *
-     * <p> This is recommended to be used if modem supports the new network scan api
-     * {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)}
-     */
-    public static final int NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS = 2;
-
-    /** The constants below are used in the async network scan. */
-    private static final boolean INCREMENTAL_RESULTS = true;
-    private static final int SEARCH_PERIODICITY_SEC = 5;
-    private static final int MAX_SEARCH_TIME_SEC = 300;
-    private static final int INCREMENTAL_RESULTS_PERIODICITY_SEC = 3;
-
-    private static final NetworkScanRequest NETWORK_SCAN_REQUEST =
-            new NetworkScanRequest(
-                    NetworkScanRequest.SCAN_TYPE_ONE_SHOT,
-                    new RadioAccessSpecifier[]{
-                            // GSM
-                            new RadioAccessSpecifier(
-                                    AccessNetworkType.GERAN,
-                                    null /* bands */,
-                                    null /* channels */),
-                            // LTE
-                            new RadioAccessSpecifier(
-                                    AccessNetworkType.EUTRAN,
-                                    null /* bands */,
-                                    null /* channels */),
-                            // WCDMA
-                            new RadioAccessSpecifier(
-                                    AccessNetworkType.UTRAN,
-                                    null /* bands */,
-                                    null /* channels */)
-                    },
-                    SEARCH_PERIODICITY_SEC,
-                    MAX_SEARCH_TIME_SEC,
-                    INCREMENTAL_RESULTS,
-                    INCREMENTAL_RESULTS_PERIODICITY_SEC,
-                    null /* List of PLMN ids (MCC-MNC) */);
-
-    private final NetworkScanCallback mNetworkScanCallback;
-    private final TelephonyManager mTelephonyManager;
-    private final TelephonyScanManager.NetworkScanCallback mInternalNetworkScanCallback;
-    private final Executor mExecutor;
-
-    private NetworkScan mNetworkScanRequester;
-
-    /** Callbacks for sync network scan */
-    private ListenableFuture<List<CellInfo>> mNetworkScanFuture;
-
-    public NetworkScanHelper(TelephonyManager tm, NetworkScanCallback callback, Executor executor) {
-        mTelephonyManager = tm;
-        mNetworkScanCallback = callback;
-        mInternalNetworkScanCallback = new NetworkScanCallbackImpl();
-        mExecutor = executor;
-    }
-
-    /**
-     * Performs a network scan for the given type {@code type}.
-     * {@link #NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS} is recommended if modem supports
-     * {@link TelephonyManager#requestNetworkScan(
-     * NetworkScanRequest, Executor, TelephonyScanManager.NetworkScanCallback)}.
-     *
-     * @param type used to tell which network scan API should be used.
-     */
-    public void startNetworkScan(@NetworkQueryType int type) {
-        if (type == NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS) {
-            mNetworkScanFuture = SettableFuture.create();
-            Futures.addCallback(mNetworkScanFuture, new FutureCallback<List<CellInfo>>() {
-                @Override
-                public void onSuccess(List<CellInfo> result) {
-                    onResults(result);
-                    onComplete();
-                }
-
-                @Override
-                public void onFailure(Throwable t) {
-                    int errCode = Integer.parseInt(t.getMessage());
-                    onError(errCode);
-                }
-            });
-            mExecutor.execute(new NetworkScanSyncTask(
-                    mTelephonyManager, (SettableFuture) mNetworkScanFuture));
-        } else if (type == NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS) {
-            if (DBG) Log.d(TAG, "start network scan async");
-            mNetworkScanRequester = mTelephonyManager.requestNetworkScan(
-                    NETWORK_SCAN_REQUEST,
-                    mExecutor,
-                    mInternalNetworkScanCallback);
-        }
-    }
-
-    /**
-     * The network scan of type {@link #NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS} can't be stopped,
-     * however, the result of the current network scan won't be returned to the callback after
-     * calling this method.
-     */
-    public void stopNetworkQuery() {
-        if (mNetworkScanRequester != null) {
-            mNetworkScanRequester.stopScan();
-            mNetworkScanFuture = null;
-        }
-
-        if (mNetworkScanFuture != null) {
-            mNetworkScanFuture.cancel(true /* mayInterruptIfRunning */);
-            mNetworkScanFuture = null;
-        }
-    }
-
-    private void onResults(List<CellInfo> cellInfos) {
-        mNetworkScanCallback.onResults(cellInfos);
-    }
-
-    private void onComplete() {
-        mNetworkScanCallback.onComplete();
-    }
-
-    private void onError(int errCode) {
-        mNetworkScanCallback.onError(errCode);
-    }
-
-    /**
-     * Converts the status code of {@link CellNetworkScanResult} to one of the
-     * {@link android.telephony.NetworkScan.ScanErrorCode}.
-     * @param errCode status code from {@link CellNetworkScanResult}.
-     *
-     * @return one of the scan error code from {@link android.telephony.NetworkScan.ScanErrorCode}.
-     */
-    private static int convertToScanErrorCode(int errCode) {
-        switch (errCode) {
-            case CellNetworkScanResult.STATUS_RADIO_NOT_AVAILABLE:
-                return NetworkScan.ERROR_RADIO_INTERFACE_ERROR;
-            case CellNetworkScanResult.STATUS_RADIO_GENERIC_FAILURE:
-            default:
-                return NetworkScan.ERROR_MODEM_ERROR;
-        }
-    }
-
-    private final class NetworkScanCallbackImpl extends TelephonyScanManager.NetworkScanCallback {
-        public void onResults(List<CellInfo> results) {
-            if (DBG) Log.d(TAG, "async scan onResults() results = " + results);
-            NetworkScanHelper.this.onResults(results);
-        }
-
-        public void onComplete() {
-            if (DBG) Log.d(TAG, "async scan onComplete()");
-            NetworkScanHelper.this.onComplete();
-        }
-
-        public void onError(@NetworkScan.ScanErrorCode int errCode) {
-            if (DBG) Log.d(TAG, "async scan onError() errorCode = " + errCode);
-            NetworkScanHelper.this.onError(errCode);
-        }
-    }
-
-    private static final class NetworkScanSyncTask implements Runnable {
-        private final SettableFuture<List<CellInfo>> mCallback;
-        private final TelephonyManager mTelephonyManager;
-
-        NetworkScanSyncTask(
-                TelephonyManager telephonyManager, SettableFuture<List<CellInfo>> callback) {
-            mTelephonyManager = telephonyManager;
-            mCallback = callback;
-        }
-
-        @Override
-        public void run() {
-            if (DBG) Log.d(TAG, "sync scan start");
-            CellNetworkScanResult result = mTelephonyManager.getAvailableNetworks();
-            if (result.getStatus() == CellNetworkScanResult.STATUS_SUCCESS) {
-                List<CellInfo> cellInfos = result.getOperators()
-                        .stream()
-                        .map(operatorInfo
-                                -> CellInfoUtil.convertOperatorInfoToCellInfo(operatorInfo))
-                        .collect(Collectors.toList());
-                if (DBG) Log.d(TAG, "sync scan complete");
-                mCallback.set(cellInfos);
-            } else {
-                mCallback.setException(new Throwable(
-                        Integer.toString(convertToScanErrorCode(result.getStatus()))));
-            }
-        }
-    }
-}
diff --git a/src/com/android/phone/NetworkSelectListPreference.java b/src/com/android/phone/NetworkSelectListPreference.java
deleted file mode 100644
index df3f44a..0000000
--- a/src/com/android/phone/NetworkSelectListPreference.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/*
- * Copyright (C) 2006 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.ProgressDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.AsyncTask;
-import android.os.Handler;
-import android.os.Message;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.telephony.CellInfo;
-import android.telephony.CellInfoCdma;
-import android.telephony.CellInfoGsm;
-import android.telephony.CellInfoLte;
-import android.telephony.CellInfoWcdma;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.widget.Toast;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.telephony.OperatorInfo;
-import com.android.phone.NetworkScanHelper.NetworkScanCallback;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-
-/**
- * "Networks" preference in "Mobile network" settings UI for the Phone app.
- * It's used to manually search and choose mobile network. Enabled only when
- * autoSelect preference is turned off.
- */
-public class NetworkSelectListPreference extends ListPreference
-        implements DialogInterface.OnCancelListener,
-        Preference.OnPreferenceChangeListener{
-
-    private static final String LOG_TAG = "networkSelect";
-    private static final boolean DBG = true;
-
-    private static final int EVENT_MANUALLY_NETWORK_SELECTION_DONE = 1;
-    private static final int EVENT_NETWORK_SCAN_RESULTS = 2;
-    private static final int EVENT_NETWORK_SCAN_COMPLETED = 3;
-    private static final int EVENT_NETWORK_SCAN_ERROR = 4;
-
-    //dialog ids
-    private static final int DIALOG_NETWORK_SELECTION = 100;
-    private static final int DIALOG_NETWORK_LIST_LOAD = 200;
-
-    private final ExecutorService mNetworkScanExecutor = Executors.newFixedThreadPool(1);
-
-    private List<CellInfo> mCellInfoList;
-    private CellInfo mCellInfo;
-
-    private int mSubId;
-    private TelephonyManager mTelephonyManager;
-    private NetworkScanHelper mNetworkScanHelper;
-    private NetworkOperators mNetworkOperators;
-    private List<String> mForbiddenPlmns;
-
-    private ProgressDialog mProgressDialog;
-    public NetworkSelectListPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public NetworkSelectListPreference(Context context, AttributeSet attrs, int defStyleAttr,
-                                       int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-    }
-
-    @Override
-    protected void onClick() {
-        showProgressDialog(DIALOG_NETWORK_LIST_LOAD);
-        TelephonyManager telephonyManager = (TelephonyManager)
-                getContext().getSystemService(Context.TELEPHONY_SERVICE);
-        new AsyncTask<Void, Void, List<String>>() {
-            @Override
-            protected List<String> doInBackground(Void... voids) {
-                String[] forbiddenPlmns = telephonyManager.getForbiddenPlmns();
-                return forbiddenPlmns != null ? Arrays.asList(forbiddenPlmns) : null;
-            }
-
-            @Override
-            protected void onPostExecute(List<String> result) {
-                mForbiddenPlmns = result;
-                loadNetworksList();
-            }
-        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-    }
-
-    private final Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case EVENT_MANUALLY_NETWORK_SELECTION_DONE:
-                    if (DBG) logd("hideProgressPanel");
-                    dismissProgressDialog();
-
-                    boolean isSuccessed = (boolean) msg.obj;
-                    if (isSuccessed) {
-                        if (DBG) {
-                            logd("manual network selection: succeeded! "
-                                    + getNetworkTitle(mCellInfo));
-                        }
-                        mNetworkOperators.displayNetworkSelectionSucceeded();
-                    } else {
-                        if (DBG) logd("manual network selection: failed!");
-                        mNetworkOperators.displayNetworkSelectionFailed();
-                    }
-                    mNetworkOperators.getNetworkSelectionMode();
-                    break;
-
-                case EVENT_NETWORK_SCAN_RESULTS:
-                    List<CellInfo> results = (List<CellInfo>) msg.obj;
-                    results.removeIf(cellInfo -> cellInfo == null);
-                    mCellInfoList = new ArrayList<>(results);
-                    if (DBG) logd("CALLBACK_SCAN_RESULTS" + mCellInfoList.toString());
-                    break;
-
-                case EVENT_NETWORK_SCAN_COMPLETED:
-                    if (DBG) logd("scan complete, load the cellInfosList");
-                    dismissProgressDialog();
-                    networksListLoaded();
-                    break;
-                case EVENT_NETWORK_SCAN_ERROR:
-                    dismissProgressDialog();
-                    displayNetworkQueryFailed();
-                    mNetworkOperators.getNetworkSelectionMode();
-                    break;
-            }
-            return;
-        }
-    };
-
-    private final NetworkScanHelper.NetworkScanCallback mCallback = new NetworkScanCallback() {
-        public void onResults(List<CellInfo> results) {
-            if (DBG) logd("get scan results: " + results.toString());
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_RESULTS, results);
-            msg.sendToTarget();
-        }
-
-        public void onComplete() {
-            if (DBG) logd("network scan completed.");
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_COMPLETED);
-            msg.sendToTarget();
-        }
-
-        public void onError(int error) {
-            if (DBG) logd("network scan error.");
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_ERROR);
-            msg.sendToTarget();
-        }
-    };
-
-    @Override
-    //implemented for DialogInterface.OnCancelListener
-    public void onCancel(DialogInterface dialog) {
-        if (DBG) logd("user manually close the dialog");
-        mNetworkScanHelper.stopNetworkQuery();
-
-        // If cancelled, we query NetworkSelectMode and update states of AutoSelect button.
-        mNetworkOperators.getNetworkSelectionMode();
-    }
-
-    @Override
-    protected void onDialogClosed(boolean positiveResult) {
-        super.onDialogClosed(positiveResult);
-        // If dismissed, we query NetworkSelectMode and update states of AutoSelect button.
-        if (!positiveResult) {
-            mNetworkOperators.getNetworkSelectionMode();
-        }
-    }
-
-    // This initialize method needs to be called for this preference to work properly.
-    protected void initialize(int subId, NetworkOperators networkOperators,
-            ProgressDialog progressDialog) {
-        mSubId = subId;
-        mNetworkOperators = networkOperators;
-        // This preference should share the same progressDialog with networkOperators category.
-        mProgressDialog = progressDialog;
-
-        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(mSubId);
-        mNetworkScanHelper = new NetworkScanHelper(
-                mTelephonyManager, mCallback, mNetworkScanExecutor);
-
-        setSummary(mTelephonyManager.getNetworkOperatorName());
-
-        setOnPreferenceChangeListener(this);
-    }
-
-    @Override
-    protected void onPrepareForRemoval() {
-        destroy();
-        super.onPrepareForRemoval();
-    }
-
-    private void destroy() {
-        dismissProgressDialog();
-
-        if (mNetworkScanHelper != null) {
-            mNetworkScanHelper.stopNetworkQuery();
-        }
-
-        mNetworkScanExecutor.shutdown();
-    }
-
-    private void displayEmptyNetworkList() {
-        Toast.makeText(getContext(), R.string.empty_networks_list, Toast.LENGTH_LONG).show();
-    }
-
-    private void displayNetworkQueryFailed() {
-        Toast.makeText(getContext(), R.string.network_query_error, Toast.LENGTH_LONG).show();
-    }
-
-    private void loadNetworksList() {
-        if (DBG) logd("load networks list...");
-        mNetworkScanHelper.startNetworkScan(
-                NetworkScanHelper.NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS);
-    }
-
-    private void networksListLoaded() {
-        if (DBG) logd("networks list loaded");
-
-        mNetworkOperators.getNetworkSelectionMode();
-        if (mCellInfoList != null) {
-            // create a preference for each item in the list.
-            // just use the operator name instead of the mildly
-            // confusing mcc/mnc.
-            List<CharSequence> networkEntriesList = new ArrayList<>();
-            List<CharSequence> networkEntryValuesList = new ArrayList<>();
-            for (CellInfo cellInfo: mCellInfoList) {
-                // Display each operator name only once.
-                String networkTitle = getNetworkTitle(cellInfo);
-                if (CellInfoUtil.isForbidden(cellInfo, mForbiddenPlmns)) {
-                    networkTitle += " "
-                            + getContext().getResources().getString(R.string.forbidden_network);
-                }
-                networkEntriesList.add(networkTitle);
-                networkEntryValuesList.add(getOperatorNumeric(cellInfo));
-            }
-            setEntries(networkEntriesList.toArray(new CharSequence[networkEntriesList.size()]));
-            setEntryValues(networkEntryValuesList.toArray(
-                    new CharSequence[networkEntryValuesList.size()]));
-
-            super.onClick();
-        } else {
-            displayEmptyNetworkList();
-        }
-    }
-
-    private void dismissProgressDialog() {
-        if (mProgressDialog != null && mProgressDialog.isShowing()) {
-            try {
-                mProgressDialog.dismiss();
-            } catch (IllegalArgumentException ex) {
-                loge("Can't close the progress dialog " + ex);
-            }
-        }
-    }
-
-    private void showProgressDialog(int id) {
-        if (mProgressDialog == null) {
-            mProgressDialog = new ProgressDialog(getContext());
-        } else {
-            // Dismiss progress bar if it's showing now.
-            dismissProgressDialog();
-        }
-
-        switch (id) {
-            case DIALOG_NETWORK_SELECTION:
-                final String networkSelectMsg = getContext().getResources()
-                        .getString(R.string.register_on_network,
-                                getNetworkTitle(mCellInfo));
-                mProgressDialog.setMessage(networkSelectMsg);
-                mProgressDialog.setCanceledOnTouchOutside(false);
-                mProgressDialog.setCancelable(false);
-                mProgressDialog.setIndeterminate(true);
-                break;
-            case DIALOG_NETWORK_LIST_LOAD:
-                mProgressDialog.setMessage(
-                        getContext().getResources().getString(R.string.load_networks_progress));
-                mProgressDialog.setCanceledOnTouchOutside(false);
-                mProgressDialog.setCancelable(true);
-                mProgressDialog.setIndeterminate(false);
-                mProgressDialog.setOnCancelListener(this);
-                break;
-            default:
-        }
-        mProgressDialog.show();
-    }
-
-    /**
-     * Implemented to support onPreferenceChangeListener to look for preference
-     * changes specifically on this button.
-     *
-     * @param preference is the preference to be changed, should be network select button.
-     * @param newValue should be the value of the selection as index of operators.
-     */
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        int operatorIndex = findIndexOfValue((String) newValue);
-        mCellInfo = mCellInfoList.get(operatorIndex);
-        if (DBG) logd("selected network: " + mCellInfo.toString());
-
-        MetricsLogger.action(getContext(),
-                MetricsEvent.ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK);
-
-        if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
-            ThreadUtils.postOnBackgroundThread(() -> {
-                final OperatorInfo operatorInfo = getOperatorInfoFromCellInfo(mCellInfo);
-                if (DBG) logd("manually selected network: " + operatorInfo.toString());
-                boolean isSuccessed = mTelephonyManager.setNetworkSelectionModeManual(
-                        operatorInfo, true /* persistSelection */);
-                Message msg = mHandler.obtainMessage(EVENT_MANUALLY_NETWORK_SELECTION_DONE);
-                msg.obj = isSuccessed;
-                msg.sendToTarget();
-            });
-        } else {
-            loge("Error selecting network, subscription Id is invalid " + mSubId);
-        }
-
-        return true;
-    }
-
-    /**
-     * Returns the title of the network obtained in the manual search.
-     *
-     * @param cellInfo contains the information of the network.
-     * @return Long Name if not null/empty, otherwise Short Name if not null/empty,
-     * else MCCMNC string.
-     */
-    private String getNetworkTitle(CellInfo cellInfo) {
-        OperatorInfo ni = getOperatorInfoFromCellInfo(cellInfo);
-
-        if (!TextUtils.isEmpty(ni.getOperatorAlphaLong())) {
-            return ni.getOperatorAlphaLong();
-        } else if (!TextUtils.isEmpty(ni.getOperatorAlphaShort())) {
-            return ni.getOperatorAlphaShort();
-        } else {
-            BidiFormatter bidiFormatter = BidiFormatter.getInstance();
-            return bidiFormatter.unicodeWrap(ni.getOperatorNumeric(), TextDirectionHeuristics.LTR);
-        }
-    }
-
-    /**
-     * Returns the operator numeric (MCCMNC) obtained in the manual search.
-     *
-     * @param cellInfo contains the information of the network.
-     * @return MCCMNC string.
-     */
-    private String getOperatorNumeric(CellInfo cellInfo) {
-        return getOperatorInfoFromCellInfo(cellInfo).getOperatorNumeric();
-    }
-
-    /**
-     * Wrap a cell info into an operator info.
-     */
-    private OperatorInfo getOperatorInfoFromCellInfo(CellInfo cellInfo) {
-        OperatorInfo oi;
-        if (cellInfo instanceof CellInfoLte) {
-            CellInfoLte lte = (CellInfoLte) cellInfo;
-            oi = new OperatorInfo(
-                    (String) lte.getCellIdentity().getOperatorAlphaLong(),
-                    (String) lte.getCellIdentity().getOperatorAlphaShort(),
-                    lte.getCellIdentity().getMobileNetworkOperator());
-        } else if (cellInfo instanceof CellInfoWcdma) {
-            CellInfoWcdma wcdma = (CellInfoWcdma) cellInfo;
-            oi = new OperatorInfo(
-                    (String) wcdma.getCellIdentity().getOperatorAlphaLong(),
-                    (String) wcdma.getCellIdentity().getOperatorAlphaShort(),
-                    wcdma.getCellIdentity().getMobileNetworkOperator());
-        } else if (cellInfo instanceof CellInfoGsm) {
-            CellInfoGsm gsm = (CellInfoGsm) cellInfo;
-            oi = new OperatorInfo(
-                    (String) gsm.getCellIdentity().getOperatorAlphaLong(),
-                    (String) gsm.getCellIdentity().getOperatorAlphaShort(),
-                    gsm.getCellIdentity().getMobileNetworkOperator());
-        } else if (cellInfo instanceof CellInfoCdma) {
-            CellInfoCdma cdma = (CellInfoCdma) cellInfo;
-            oi = new OperatorInfo(
-                    (String) cdma.getCellIdentity().getOperatorAlphaLong(),
-                    (String) cdma.getCellIdentity().getOperatorAlphaShort(),
-                    "" /* operator numeric */);
-        } else {
-            oi = new OperatorInfo("", "", "");
-        }
-        return oi;
-    }
-
-    @Override
-    protected Parcelable onSaveInstanceState() {
-        final Parcelable superState = super.onSaveInstanceState();
-        if (isPersistent()) {
-            // No need to save instance state since it's persistent
-            return superState;
-        }
-
-        final SavedState myState = new SavedState(superState);
-        myState.mDialogListEntries = getEntries();
-        myState.mDialogListEntryValues = getEntryValues();
-        myState.mCellInfoList = mCellInfoList;
-        return myState;
-    }
-
-    @Override
-    protected void onRestoreInstanceState(Parcelable state) {
-        if (state == null || !state.getClass().equals(SavedState.class)) {
-            // Didn't save state for us in onSaveInstanceState
-            super.onRestoreInstanceState(state);
-            return;
-        }
-
-        SavedState myState = (SavedState) state;
-
-        if (getEntries() == null && myState.mDialogListEntries != null) {
-            setEntries(myState.mDialogListEntries);
-        }
-        if (getEntryValues() == null && myState.mDialogListEntryValues != null) {
-            setEntryValues(myState.mDialogListEntryValues);
-        }
-        if (mCellInfoList == null && myState.mCellInfoList != null) {
-            mCellInfoList = myState.mCellInfoList;
-        }
-
-        super.onRestoreInstanceState(myState.getSuperState());
-    }
-
-    /**
-     *  We save entries, entryValues and operatorInfoList into bundle.
-     *  At onCreate of fragment, dialog will be restored if it was open. In this case,
-     *  we need to restore entries, entryValues and operatorInfoList. Without those information,
-     *  onPreferenceChange will fail if user select network from the dialog.
-     */
-    private static class SavedState extends BaseSavedState {
-        CharSequence[] mDialogListEntries;
-        CharSequence[] mDialogListEntryValues;
-        List<CellInfo> mCellInfoList;
-
-        SavedState(Parcel source) {
-            super(source);
-            final ClassLoader boot = Object.class.getClassLoader();
-            mDialogListEntries = source.readCharSequenceArray();
-            mDialogListEntryValues = source.readCharSequenceArray();
-            mCellInfoList = source.readParcelableList(mCellInfoList, boot);
-        }
-
-        @Override
-        public void writeToParcel(Parcel dest, int flags) {
-            super.writeToParcel(dest, flags);
-            dest.writeCharSequenceArray(mDialogListEntries);
-            dest.writeCharSequenceArray(mDialogListEntryValues);
-            dest.writeParcelableList(mCellInfoList, flags);
-        }
-
-        SavedState(Parcelable superState) {
-            super(superState);
-        }
-
-        public static final Parcelable.Creator<SavedState> CREATOR =
-                new Parcelable.Creator<SavedState>() {
-                    public SavedState createFromParcel(Parcel in) {
-                        return new SavedState(in);
-                    }
-
-                    public SavedState[] newArray(int size) {
-                        return new SavedState[size];
-                    }
-                };
-    }
-
-    private void logd(String msg) {
-        Log.d(LOG_TAG, "[NetworksList] " + msg);
-    }
-
-    private void loge(String msg) {
-        Log.e(LOG_TAG, "[NetworksList] " + msg);
-    }
-}
diff --git a/src/com/android/phone/NetworkSelectSetting.java b/src/com/android/phone/NetworkSelectSetting.java
deleted file mode 100644
index 45478d9..0000000
--- a/src/com/android/phone/NetworkSelectSetting.java
+++ /dev/null
@@ -1,569 +0,0 @@
-/*
- * Copyright (C) 2018 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.ActionBar;
-import android.app.Activity;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.os.PersistableBundle;
-import android.preference.Preference;
-import android.preference.PreferenceCategory;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceScreen;
-import android.telephony.AccessNetworkConstants;
-import android.telephony.CarrierConfigManager;
-import android.telephony.CellIdentity;
-import android.telephony.CellInfo;
-import android.telephony.NetworkRegistrationInfo;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.internal.telephony.OperatorInfo;
-import com.android.phone.NetworkScanHelper.NetworkScanCallback;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-/**
- * "Choose network" settings UI for the Phone app.
- */
-public class NetworkSelectSetting extends PreferenceFragment {
-
-    private static final String TAG = "NetworkSelectSetting";
-    private static final boolean DBG = true;
-
-    private static final int EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE = 1;
-    private static final int EVENT_NETWORK_SCAN_RESULTS = 2;
-    private static final int EVENT_NETWORK_SCAN_ERROR = 3;
-    private static final int EVENT_NETWORK_SCAN_COMPLETED = 4;
-
-    private static final String PREF_KEY_CONNECTED_NETWORK_OPERATOR =
-            "connected_network_operator_preference";
-    private static final String PREF_KEY_NETWORK_OPERATORS = "network_operators_preference";
-
-    // used to add/remove NetworkOperatorsPreference.
-    private PreferenceCategory mNetworkOperatorsPreferences;
-    // used to add/remove connected NetworkOperatorPreference.
-    private PreferenceCategory mConnectedNetworkOperatorsPreference;
-    // manage the progress bar on the top of the page.
-    private View mProgressHeader;
-    private Preference mStatusMessagePreference;
-    private List<CellInfo> mCellInfoList;
-    private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    private ViewGroup mFrameLayout;
-    private NetworkOperatorPreference mSelectedNetworkOperatorPreference;
-    private TelephonyManager mTelephonyManager;
-    private List<String> mForbiddenPlmns;
-    private boolean mShow4GForLTE = false;
-    private NetworkScanHelper mNetworkScanHelper;
-    private final ExecutorService mNetworkScanExecutor = Executors.newFixedThreadPool(1);
-
-    private final Runnable mUpdateNetworkOperatorsRunnable = () -> {
-        updateNetworkOperatorsPreferenceCategory();
-    };
-
-    /**
-     * Create a new instance of this fragment.
-     */
-    public static NetworkSelectSetting newInstance(int subId) {
-        Bundle args = new Bundle();
-        args.putInt(NetworkSelectSettingActivity.KEY_SUBSCRIPTION_ID, subId);
-        NetworkSelectSetting fragment = new NetworkSelectSetting();
-        fragment.setArguments(args);
-
-        return fragment;
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        if (DBG) logd("onCreate");
-        super.onCreate(icicle);
-
-        mSubId = getArguments().getInt(NetworkSelectSettingActivity.KEY_SUBSCRIPTION_ID);
-
-        addPreferencesFromResource(R.xml.choose_network);
-        mConnectedNetworkOperatorsPreference =
-                (PreferenceCategory) findPreference(PREF_KEY_CONNECTED_NETWORK_OPERATOR);
-        mNetworkOperatorsPreferences =
-                (PreferenceCategory) findPreference(PREF_KEY_NETWORK_OPERATORS);
-        mStatusMessagePreference = new Preference(getContext());
-        mSelectedNetworkOperatorPreference = null;
-        mTelephonyManager = TelephonyManager.from(getContext()).createForSubscriptionId(mSubId);
-        mNetworkScanHelper = new NetworkScanHelper(
-                mTelephonyManager, mCallback, mNetworkScanExecutor);
-        PersistableBundle bundle = ((CarrierConfigManager) getContext().getSystemService(
-                Context.CARRIER_CONFIG_SERVICE)).getConfigForSubId(mSubId);
-        if (bundle != null) {
-            mShow4GForLTE = bundle.getBoolean(
-                    CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
-        }
-        setRetainInstance(true);
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        if (DBG) logd("onViewCreated");
-        super.onViewCreated(view, savedInstanceState);
-
-        if (getListView() != null) {
-            getListView().setDivider(null);
-        }
-        // Inflate progress bar
-        final Activity activity = getActivity();
-        if (activity != null) {
-            ActionBar actionBar = activity.getActionBar();
-            if (actionBar != null) {
-                // android.R.id.home will be triggered in
-                // {@link NetworkSelectSettingAcitivity#onOptionsItemSelected()}
-                actionBar.setDisplayHomeAsUpEnabled(true);
-            }
-            mFrameLayout = activity.findViewById(R.id.choose_network_content);
-            final LayoutInflater inflater = activity.getLayoutInflater();
-            final View pinnedHeader =
-                    inflater.inflate(R.layout.choose_network_progress_header, mFrameLayout, false);
-            mFrameLayout.addView(pinnedHeader);
-            mFrameLayout.setVisibility(View.VISIBLE);
-            mProgressHeader = pinnedHeader.findViewById(R.id.progress_bar_animation);
-            setProgressBarVisible(false);
-        }
-        forceConfigConnectedNetworkOperatorsPreferenceCategory();
-    }
-
-    @Override
-    public void onStart() {
-        if (DBG) logd("onStart");
-        super.onStart();
-        new AsyncTask<Void, Void, List<String>>() {
-            @Override
-            protected List<String> doInBackground(Void... voids) {
-                String[] forbiddenPlmns = mTelephonyManager.getForbiddenPlmns();
-                return forbiddenPlmns != null ? Arrays.asList(forbiddenPlmns) : null;
-            }
-
-            @Override
-            protected void onPostExecute(List<String> result) {
-                mForbiddenPlmns = result;
-                loadNetworksList();
-            }
-        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
-    }
-
-    /**
-     * Invoked on each preference click in this hierarchy, overrides
-     * PreferenceActivity's implementation.  Used to make sure we track the
-     * preference click events.
-     * Since the connected network operator is either faked (when no data connection) or already
-     * connected, we do not allow user to click the connected network operator.
-     */
-    @Override
-    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
-                                         Preference preference) {
-        if (DBG) logd("User clicked the screen");
-        stopNetworkQuery();
-        setProgressBarVisible(false);
-        if (preference instanceof  NetworkOperatorPreference) {
-            // Refresh the last selected item in case users reselect network.
-            if (mSelectedNetworkOperatorPreference != null) {
-                mSelectedNetworkOperatorPreference.setSummary("");
-            }
-
-            mSelectedNetworkOperatorPreference = (NetworkOperatorPreference) preference;
-            CellInfo cellInfo = mSelectedNetworkOperatorPreference.getCellInfo();
-            if (DBG) logd("User click a NetworkOperatorPreference: " + cellInfo.toString());
-
-            // Send metrics event
-            MetricsLogger.action(getContext(),
-                    MetricsEvent.ACTION_MOBILE_NETWORK_MANUAL_SELECT_NETWORK);
-
-            // Connect to the network
-            if (SubscriptionManager.isValidSubscriptionId(mSubId)) {
-                if (DBG) {
-                    logd("Connect to the network: " + CellInfoUtil.getNetworkTitle(cellInfo));
-                }
-                // Set summary as "Connecting" to the selected network.
-                mSelectedNetworkOperatorPreference.setSummary(R.string.network_connecting);
-
-                // Set summary as "Disconnected" to the previously connected network
-                if (mConnectedNetworkOperatorsPreference.getPreferenceCount() > 0) {
-                    NetworkOperatorPreference connectedNetworkOperator = (NetworkOperatorPreference)
-                            (mConnectedNetworkOperatorsPreference.getPreference(0));
-                    if (!CellInfoUtil.getNetworkTitle(cellInfo).equals(
-                            CellInfoUtil.getNetworkTitle(connectedNetworkOperator.getCellInfo()))) {
-                        connectedNetworkOperator.setSummary(R.string.network_disconnected);
-                    }
-                }
-
-                OperatorInfo operatorInfo = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo);
-                if (DBG) logd("manually selected network operator: " + operatorInfo.toString());
-
-                ThreadUtils.postOnBackgroundThread(() -> {
-                    Message msg = mHandler.obtainMessage(EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE);
-                    msg.obj = mTelephonyManager.setNetworkSelectionModeManual(
-                            operatorInfo, true /* persistSelection */);
-                    msg.sendToTarget();
-                });
-
-                setProgressBarVisible(true);
-                return true;
-            } else {
-                loge("Error selecting network. Subscription Id is invalid.");
-                mSelectedNetworkOperatorPreference = null;
-                return false;
-            }
-
-        } else {
-            preferenceScreen.setEnabled(false);
-            return false;
-        }
-    }
-
-    @Override
-    public void onAttach(Activity activity) {
-        super.onAttach(activity);
-        if (!(getActivity() instanceof NetworkSelectSettingActivity)) {
-            throw new IllegalStateException("Parent activity is not NetworkSelectSettingActivity");
-        }
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        if (DBG) logd("onStop");
-        getView().removeCallbacks(mUpdateNetworkOperatorsRunnable);
-        stopNetworkQuery();
-    }
-
-    private final Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case EVENT_SET_NETWORK_SELECTION_MANUALLY_DONE:
-                    if (DBG) logd("network selection done: hide the progress header");
-                    setProgressBarVisible(false);
-
-                    boolean isSuccessed = (boolean) msg.obj;
-                    if (isSuccessed) {
-                        if (DBG) logd("manual network selection: succeeded! ");
-                        // Set summary as "Connected" to the selected network.
-                        mSelectedNetworkOperatorPreference.setSummary(R.string.network_connected);
-                    } else {
-                        if (DBG) logd("manual network selection: failed! ");
-                        // Set summary as "Couldn't connect" to the selected network.
-                        mSelectedNetworkOperatorPreference.setSummary(
-                                R.string.network_could_not_connect);
-                    }
-                    break;
-
-                case EVENT_NETWORK_SCAN_RESULTS:
-                    List<CellInfo> results = aggregateCellInfoList((List<CellInfo>) msg.obj);
-                    mCellInfoList = new ArrayList<>(results);
-                    if (DBG) logd("after aggregate: " + mCellInfoList.toString());
-                    if (mCellInfoList != null && mCellInfoList.size() != 0) {
-                        updateNetworkOperators();
-                    } else {
-                        addMessagePreference(R.string.empty_networks_list);
-                    }
-
-                    break;
-
-                case EVENT_NETWORK_SCAN_ERROR:
-                    int error = msg.arg1;
-                    if (DBG) logd("error while querying available networks " + error);
-                    stopNetworkQuery();
-                    addMessagePreference(R.string.network_query_error);
-                    break;
-
-                case EVENT_NETWORK_SCAN_COMPLETED:
-                    stopNetworkQuery();
-                    if (DBG) logd("scan complete");
-                    if (mCellInfoList == null) {
-                        // In case the scan timeout before getting any results
-                        addMessagePreference(R.string.empty_networks_list);
-                    }
-                    break;
-            }
-            return;
-        }
-    };
-
-    private void loadNetworksList() {
-        if (DBG) logd("load networks list...");
-        setProgressBarVisible(true);
-        mNetworkScanHelper.startNetworkScan(
-                NetworkScanHelper.NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS);
-    }
-
-    private final NetworkScanHelper.NetworkScanCallback mCallback = new NetworkScanCallback() {
-        public void onResults(List<CellInfo> results) {
-            if (DBG) logd("get scan results.");
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_RESULTS, results);
-            msg.sendToTarget();
-        }
-
-        public void onComplete() {
-            if (DBG) logd("network scan completed.");
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_COMPLETED);
-            msg.sendToTarget();
-        }
-
-        public void onError(int error) {
-            if (DBG) logd("get onError callback with error code: " + error);
-            Message msg = mHandler.obtainMessage(EVENT_NETWORK_SCAN_ERROR, error, 0 /* arg2 */);
-            msg.sendToTarget();
-        }
-    };
-
-    private void updateNetworkOperators() {
-        if (DBG) logd("updateNetworkOperators");
-        if (getActivity() != null) {
-            final View view = getView();
-            final Handler handler = view.getHandler();
-            if (handler != null && handler.hasCallbacks(mUpdateNetworkOperatorsRunnable)) {
-                return;
-            }
-            view.post(mUpdateNetworkOperatorsRunnable);
-        }
-    }
-
-    /**
-     * Update the currently available network operators list, which only contains the unregistered
-     * network operators. So if the device has no data and the network operator in the connected
-     * network operator category shows "Disconnected", it will also exist in the available network
-     * operator category for user to select. On the other hand, if the device has data and the
-     * network operator in the connected network operator category shows "Connected", it will not
-     * exist in the available network category.
-     */
-    private void updateNetworkOperatorsPreferenceCategory() {
-        mNetworkOperatorsPreferences.removeAll();
-
-        configConnectedNetworkOperatorsPreferenceCategory();
-        for (int index = 0; index < mCellInfoList.size(); index++) {
-            if (!mCellInfoList.get(index).isRegistered()) {
-                NetworkOperatorPreference pref = new NetworkOperatorPreference(
-                        mCellInfoList.get(index), getContext(), mForbiddenPlmns, mShow4GForLTE);
-                pref.setKey(CellInfoUtil.getNetworkTitle(mCellInfoList.get(index)));
-                pref.setOrder(index);
-                mNetworkOperatorsPreferences.addPreference(pref);
-            }
-        }
-    }
-
-    /**
-     * Config the connected network operator preference when the page was created. When user get
-     * into this page, the device might or might not have data connection.
-     *   - If the device has data:
-     *     1. use {@code ServiceState#getNetworkRegistrationInfoList()} to get the currently
-     *        registered cellIdentity, wrap it into a CellInfo;
-     *     2. set the signal strength level as strong;
-     *     3. use {@link TelephonyManager#getNetworkOperatorName()} to get the title of the
-     *        previously connected network operator, since the CellIdentity got from step 1 only has
-     *        PLMN.
-     *   - If the device has no data, we will remove the connected network operators list from the
-     *     screen.
-     */
-    private void forceConfigConnectedNetworkOperatorsPreferenceCategory() {
-        if (DBG) logd("Force config ConnectedNetworkOperatorsPreferenceCategory");
-        if (mTelephonyManager.getDataState() == mTelephonyManager.DATA_CONNECTED) {
-            // Try to get the network registration states
-            ServiceState ss = mTelephonyManager.getServiceState();
-            List<NetworkRegistrationInfo> networkList =
-                    ss.getNetworkRegistrationInfoListForTransportType(
-                            AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
-            if (networkList == null || networkList.size() == 0) {
-                loge("getNetworkRegistrationInfoList return null");
-                // Remove the connected network operators category
-                removeConnectedNetworkOperatorPreference();
-                return;
-            }
-            CellIdentity cellIdentity = networkList.get(0).getCellIdentity();
-            CellInfo cellInfo = CellInfoUtil.wrapCellInfoWithCellIdentity(cellIdentity);
-            if (cellInfo != null) {
-                if (DBG) logd("Currently registered cell: " + cellInfo.toString());
-                NetworkOperatorPreference pref = new NetworkOperatorPreference(
-                        cellInfo, getContext(), mForbiddenPlmns, mShow4GForLTE);
-                pref.setTitle(mTelephonyManager.getNetworkOperatorName());
-                pref.setSummary(R.string.network_connected);
-                // Update the signal strength icon, since the default signalStrength value would be
-                // zero (it would be quite confusing why the connected network has no signal)
-                pref.setIcon(NetworkOperatorPreference.NUMBER_OF_LEVELS - 1);
-
-                mConnectedNetworkOperatorsPreference.addPreference(pref);
-            } else {
-                // Remove the connected network operators category
-                removeConnectedNetworkOperatorPreference();
-            }
-        } else {
-            if (DBG) logd("No currently registered cell");
-            // Remove the connected network operators category
-            removeConnectedNetworkOperatorPreference();
-        }
-    }
-
-    /**
-     * Configure the ConnectedNetworkOperatorsPreferenceCategory. The category only need to be
-     * configured if the category is currently empty or the operator network title of the previous
-     * connected network is different from the new one.
-     */
-    private void configConnectedNetworkOperatorsPreferenceCategory() {
-        if (DBG) logd("config ConnectedNetworkOperatorsPreferenceCategory");
-        // Remove the category if the CellInfo list is empty or does not have registered cell.
-        if (mCellInfoList.size() == 0) {
-            if (DBG) logd("empty cellinfo list");
-            removeConnectedNetworkOperatorPreference();
-        }
-        CellInfo connectedNetworkOperator = null;
-        for (CellInfo cellInfo: mCellInfoList) {
-            if (cellInfo.isRegistered()) {
-                connectedNetworkOperator = cellInfo;
-                break;
-            }
-        }
-        if (connectedNetworkOperator == null) {
-            if (DBG) logd("no registered network");
-            removeConnectedNetworkOperatorPreference();
-            return;
-        }
-
-        // config the category if it is empty.
-        if (mConnectedNetworkOperatorsPreference.getPreferenceCount() == 0) {
-            if (DBG) logd("ConnectedNetworkSelectList is empty, add one");
-            addConnectedNetworkOperatorPreference(connectedNetworkOperator);
-            return;
-        }
-        NetworkOperatorPreference previousConnectedNetworkOperator = (NetworkOperatorPreference)
-                (mConnectedNetworkOperatorsPreference.getPreference(0));
-
-        // config the category if the network title of the previous connected network is different
-        // from the new one.
-        String cTitle = CellInfoUtil.getNetworkTitle(connectedNetworkOperator);
-        String pTitle = CellInfoUtil.getNetworkTitle(
-                previousConnectedNetworkOperator.getCellInfo());
-        if (!cTitle.equals(pTitle)) {
-            if (DBG) logd("reconfig the category: connected network changed");
-            addConnectedNetworkOperatorPreference(connectedNetworkOperator);
-            return;
-        }
-        if (DBG) logd("same network operator is connected, only refresh the connected network");
-        // Otherwise same network operator is connected, only refresh the connected network
-        // operator preference (first and the only one in this category).
-        ((NetworkOperatorPreference) mConnectedNetworkOperatorsPreference.getPreference(0))
-                .refresh();
-        return;
-    }
-
-    /**
-     * Creates a Preference for the given {@link CellInfo} and adds it to the
-     * {@link #mConnectedNetworkOperatorsPreference}.
-     */
-    private void addConnectedNetworkOperatorPreference(CellInfo cellInfo) {
-        if (DBG) logd("addConnectedNetworkOperatorPreference");
-        // Remove the current ConnectedNetworkOperatorsPreference
-        removeConnectedNetworkOperatorPreference();
-        final NetworkOperatorPreference pref = new NetworkOperatorPreference(
-                cellInfo, getContext(), mForbiddenPlmns, mShow4GForLTE);
-        pref.setSummary(R.string.network_connected);
-        mConnectedNetworkOperatorsPreference.addPreference(pref);
-        PreferenceScreen preferenceScreen = getPreferenceScreen();
-        preferenceScreen.addPreference(mConnectedNetworkOperatorsPreference);
-    }
-
-    /** Removes all preferences and hide the {@link #mConnectedNetworkOperatorsPreference}. */
-    private void removeConnectedNetworkOperatorPreference() {
-        mConnectedNetworkOperatorsPreference.removeAll();
-        PreferenceScreen preferenceScreen = getPreferenceScreen();
-        preferenceScreen.removePreference(mConnectedNetworkOperatorsPreference);
-    }
-
-    protected void setProgressBarVisible(boolean visible) {
-        if (mProgressHeader != null) {
-            mProgressHeader.setVisibility(visible ? View.VISIBLE : View.GONE);
-        }
-    }
-
-    private void addMessagePreference(int messageId) {
-        if (DBG) logd("remove callback");
-        getView().removeCallbacks(mUpdateNetworkOperatorsRunnable);
-        setProgressBarVisible(false);
-        if (DBG) logd("addMessagePreference");
-        mStatusMessagePreference.setTitle(messageId);
-        removeConnectedNetworkOperatorPreference();
-        mNetworkOperatorsPreferences.removeAll();
-        mNetworkOperatorsPreferences.addPreference(mStatusMessagePreference);
-    }
-
-    /**
-     * The Scan results may contains several cell infos with different radio technologies and signal
-     * strength for one network operator. Aggregate the CellInfoList by retaining only the cell info
-     * with the strongest signal strength.
-     */
-    private List<CellInfo> aggregateCellInfoList(List<CellInfo> cellInfoList) {
-        if (DBG) logd("before aggregate: " + cellInfoList.toString());
-        Map<String, CellInfo> map = new HashMap<>();
-        for (CellInfo cellInfo: cellInfoList) {
-            String plmn = CellInfoUtil.getOperatorInfoFromCellInfo(cellInfo).getOperatorNumeric();
-            if (cellInfo.isRegistered() || !map.containsKey(plmn)) {
-                map.put(plmn, cellInfo);
-            } else {
-                if (map.get(plmn).isRegistered()
-                        || map.get(plmn).getCellSignalStrength().getLevel()
-                        > cellInfo.getCellSignalStrength().getLevel()) {
-                    // Skip if the stored cellInfo is registered or has higher signal strength level
-                    continue;
-                }
-                // Otherwise replace it with the new CellInfo
-                map.put(plmn, cellInfo);
-            }
-        }
-        return new ArrayList<>(map.values());
-    }
-
-    private void stopNetworkQuery() {
-        if (mNetworkScanHelper != null) {
-            mNetworkScanHelper.stopNetworkQuery();
-        }
-    }
-
-    @Override
-    public void onDestroy() {
-        mNetworkScanExecutor.shutdown();
-        super.onDestroy();
-    }
-
-    private void logd(String msg) {
-        Log.d(TAG, msg);
-    }
-
-    private void loge(String msg) {
-        Log.e(TAG, msg);
-    }
-}
diff --git a/src/com/android/phone/NetworkSelectSettingActivity.java b/src/com/android/phone/NetworkSelectSettingActivity.java
deleted file mode 100644
index 5b29b281..0000000
--- a/src/com/android/phone/NetworkSelectSettingActivity.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2018 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.Activity;
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.MenuItem;
-
-
-/**
- * Activity associated with NetworkSelectSetting fragment
- */
-public class NetworkSelectSettingActivity extends Activity {
-    private static final String TAG = "NetworkSelectSettingActivity";
-    public static final String KEY_SUBSCRIPTION_ID = "subscription_id";
-
-    /**
-     * Returns the Android Intent that led to this Activity being created.
-     */
-    public static Intent getIntent(Context context, int subId) {
-        Intent intent = new Intent(context, NetworkSelectSettingActivity.class);
-        intent.putExtra(KEY_SUBSCRIPTION_ID, subId);
-        return intent;
-    }
-
-    @Override
-    public void onCreate(Bundle savedState) {
-        Log.d(TAG, "onCreate()");
-        super.onCreate(savedState);
-        int subId = getIntent().getExtras().getInt(KEY_SUBSCRIPTION_ID);
-        setContentView(R.layout.choose_network);
-
-        FragmentManager fragmentManager = getFragmentManager();
-        Fragment fragment = fragmentManager.findFragmentById(R.id.choose_network_content);
-        if (fragment == null) {
-            fragmentManager.beginTransaction()
-                    .add(R.id.choose_network_content,
-                            NetworkSelectSetting.newInstance(subId), TAG)
-                    .commit();
-        }
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        final int itemId = item.getItemId();
-        if (itemId == android.R.id.home) {
-            onBackPressed();
-            return true;
-        }
-        return super.onOptionsItemSelected(item);
-    }
-}
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index 27749e4..c2dece5 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -27,8 +27,8 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.content.pm.UserInfo;
 import android.content.res.Resources;
 import android.net.Uri;
 import android.os.Handler;
@@ -41,7 +41,6 @@
 import android.preference.PreferenceManager;
 import android.provider.ContactsContract.PhoneLookup;
 import android.provider.Settings;
-import android.telecom.DefaultDialerManager;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
@@ -63,6 +62,7 @@
 import com.android.internal.telephony.util.NotificationChannelController;
 import com.android.phone.settings.VoicemailSettingsActivity;
 
+import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -112,7 +112,6 @@
     private PhoneGlobals mApp;
 
     private Context mContext;
-    private NotificationManager mNotificationManager;
     private StatusBarManager mStatusBarManager;
     private UserManager mUserManager;
     private Toast mToast;
@@ -160,13 +159,11 @@
     private NotificationMgr(PhoneGlobals app) {
         mApp = app;
         mContext = app;
-        mNotificationManager =
-                (NotificationManager) app.getSystemService(Context.NOTIFICATION_SERVICE);
         mStatusBarManager =
                 (StatusBarManager) app.getSystemService(Context.STATUS_BAR_SERVICE);
         mUserManager = (UserManager) app.getSystemService(Context.USER_SERVICE);
         mSubscriptionManager = SubscriptionManager.from(mContext);
-        mTelecomManager = TelecomManager.from(mContext);
+        mTelecomManager = app.getSystemService(TelecomManager.class);
         mTelephonyManager = (TelephonyManager) app.getSystemService(Context.TELEPHONY_SERVICE);
     }
 
@@ -358,7 +355,8 @@
             }
 
             PendingIntent pendingIntent =
-                    PendingIntent.getActivity(mContext, subId /* requestCode */, intent, 0);
+                    PendingIntent.getActivity(mContext, subId /* requestCode */, intent,
+                            PendingIntent.FLAG_IMMUTABLE);
 
             Resources res = mContext.getResources();
             PersistableBundle carrierConfig = PhoneGlobals.getInstance().getCarrierConfigForSubId(
@@ -373,20 +371,18 @@
                     .setColor(res.getColor(R.color.dialer_theme_color))
                     .setOngoing(carrierConfig.getBoolean(
                             CarrierConfigManager.KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL))
-                    .setChannel(NotificationChannelController.CHANNEL_ID_VOICE_MAIL)
+                    .setChannelId(NotificationChannelController.CHANNEL_ID_VOICE_MAIL)
                     .setOnlyAlertOnce(isRefresh);
 
             final Notification notification = builder.build();
-            List<UserInfo> users = mUserManager.getUsers(true);
-            for (int i = 0; i < users.size(); i++) {
-                final UserInfo user = users.get(i);
-                final UserHandle userHandle = user.getUserHandle();
-                if (!mUserManager.hasUserRestriction(
+            List<UserHandle> users = getUsersExcludeDying();
+            for (UserHandle userHandle : users) {
+                if (!hasUserRestriction(
                         UserManager.DISALLOW_OUTGOING_CALLS, userHandle)
-                        && !user.isManagedProfile()) {
+                        && !mUserManager.isManagedProfile(userHandle.getIdentifier())) {
                     if (!maybeSendVoicemailNotificationUsingDefaultDialer(phone, vmCount, vmNumber,
                             pendingIntent, isSettingsIntent, userHandle, isRefresh)) {
-                        mNotificationManager.notifyAsUser(
+                        notifyAsUser(
                                 Integer.toString(subId) /* tag */,
                                 VOICEMAIL_NOTIFICATION,
                                 notification,
@@ -395,16 +391,14 @@
                 }
             }
         } else {
-            List<UserInfo> users = mUserManager.getUsers(true /* excludeDying */);
-            for (int i = 0; i < users.size(); i++) {
-                final UserInfo user = users.get(i);
-                final UserHandle userHandle = user.getUserHandle();
-                if (!mUserManager.hasUserRestriction(
+            List<UserHandle> users = getUsersExcludeDying();
+            for (UserHandle userHandle : users) {
+                if (!hasUserRestriction(
                         UserManager.DISALLOW_OUTGOING_CALLS, userHandle)
-                        && !user.isManagedProfile()) {
+                        && !mUserManager.isManagedProfile(userHandle.getIdentifier())) {
                     if (!maybeSendVoicemailNotificationUsingDefaultDialer(phone, 0, null, null,
                             false, userHandle, isRefresh)) {
-                        mNotificationManager.cancelAsUser(
+                        cancelAsUser(
                                 Integer.toString(subId) /* tag */,
                                 VOICEMAIL_NOTIFICATION,
                                 userHandle);
@@ -414,6 +408,22 @@
         }
     }
 
+    private List<UserHandle> getUsersExcludeDying() {
+        long[] serialNumbersOfUsers =
+                mUserManager.getSerialNumbersOfUsers(/* excludeDying= */ true);
+        List<UserHandle> users = new ArrayList<>(serialNumbersOfUsers.length);
+        for (long serialNumber : serialNumbersOfUsers) {
+            users.add(mUserManager.getUserForSerialNumber(serialNumber));
+        }
+        return users;
+    }
+
+    private boolean hasUserRestriction(String restrictionKey, UserHandle userHandle) {
+        final List<UserManager.EnforcingUser> sources = mUserManager
+                .getUserRestrictionSources(restrictionKey, userHandle);
+        return (sources != null && !sources.isEmpty());
+    }
+
     /**
      * Sends a broadcast with the voicemail notification information to the default dialer. This
      * method is also used to indicate to the default dialer when to clear the
@@ -468,8 +478,8 @@
     }
 
     private Intent getShowVoicemailIntentForDefaultDialer(UserHandle userHandle) {
-        String dialerPackage = DefaultDialerManager
-                .getDefaultDialerApplication(mContext, userHandle.getIdentifier());
+        String dialerPackage = mContext.getSystemService(TelecomManager.class)
+                .getDefaultDialerPackage(userHandle);
         return new Intent(TelephonyManager.ACTION_SHOW_VOICEMAIL_NOTIFICATION)
                 .setPackage(dialerPackage);
     }
@@ -538,7 +548,7 @@
                     .setContentText(mContext.getString(R.string.sum_cfu_enabled_indicator))
                     .setShowWhen(false)
                     .setOngoing(true)
-                    .setChannel(NotificationChannelController.CHANNEL_ID_CALL_FORWARD)
+                    .setChannelId(NotificationChannelController.CHANNEL_ID_CALL_FORWARD)
                     .setOnlyAlertOnce(isRefresh);
 
             Intent intent = new Intent(Intent.ACTION_MAIN);
@@ -547,23 +557,22 @@
             SubscriptionInfoHelper.addExtrasToIntent(
                     intent, mSubscriptionManager.getActiveSubscriptionInfo(subId));
             builder.setContentIntent(PendingIntent.getActivity(mContext, subId /* requestCode */,
-                    intent, 0));
-            mNotificationManager.notifyAsUser(
+                    intent, PendingIntent.FLAG_IMMUTABLE));
+            notifyAsUser(
                     Integer.toString(subId) /* tag */,
                     CALL_FORWARD_NOTIFICATION,
                     builder.build(),
                     UserHandle.ALL);
         } else {
-            List<UserInfo> users = mUserManager.getUsers(true);
-            for (UserInfo user : users) {
-                if (user.isManagedProfile()) {
+            List<UserHandle> users = getUsersExcludeDying();
+            for (UserHandle user : users) {
+                if (mUserManager.isManagedProfile(user.getIdentifier())) {
                     continue;
                 }
-                UserHandle userHandle = user.getUserHandle();
-                mNotificationManager.cancelAsUser(
+                cancelAsUser(
                         Integer.toString(subId) /* tag */,
                         CALL_FORWARD_NOTIFICATION,
-                        userHandle);
+                        user);
             }
         }
     }
@@ -590,7 +599,8 @@
         // "Mobile network settings" screen / dialog
         Intent intent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
         intent.putExtra(Settings.EXTRA_SUB_ID, subId);
-        PendingIntent contentIntent = PendingIntent.getActivity(mContext, subId, intent, 0);
+        PendingIntent contentIntent = PendingIntent.getActivity(
+                mContext, subId, intent, PendingIntent.FLAG_IMMUTABLE);
 
         CharSequence contentTitle = mContext.getText(roamingOn
                 ? R.string.roaming_on_notification_title
@@ -604,12 +614,39 @@
                 .setContentTitle(contentTitle)
                 .setColor(mContext.getResources().getColor(R.color.dialer_theme_color))
                 .setContentText(contentText)
-                .setChannel(NotificationChannelController.CHANNEL_ID_MOBILE_DATA_STATUS)
+                .setChannelId(NotificationChannelController.CHANNEL_ID_MOBILE_DATA_STATUS)
                 .setContentIntent(contentIntent);
         final Notification notif =
                 new Notification.BigTextStyle(builder).bigText(contentText).build();
-        mNotificationManager.notifyAsUser(
-                null /* tag */, DATA_ROAMING_NOTIFICATION, notif, UserHandle.ALL);
+        notifyAsUser(null /* tag */, DATA_ROAMING_NOTIFICATION, notif, UserHandle.ALL);
+    }
+
+    private void notifyAsUser(String tag, int id, Notification notification, UserHandle user) {
+        try {
+            Context contextForUser =
+                    mContext.createPackageContextAsUser(mContext.getPackageName(), 0, user);
+            NotificationManager notificationManager =
+                    (NotificationManager) contextForUser.getSystemService(
+                            Context.NOTIFICATION_SERVICE);
+            notificationManager.notify(tag, id, notification);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(LOG_TAG, "unable to notify for user " + user);
+            e.printStackTrace();
+        }
+    }
+
+    private void cancelAsUser(String tag, int id, UserHandle user) {
+        try {
+            Context contextForUser =
+                    mContext.createPackageContextAsUser(mContext.getPackageName(), 0, user);
+            NotificationManager notificationManager =
+                    (NotificationManager) contextForUser.getSystemService(
+                            Context.NOTIFICATION_SERVICE);
+            notificationManager.cancel(tag, id);
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(LOG_TAG, "unable to cancel for user " + user);
+            e.printStackTrace();
+        }
     }
 
     /**
@@ -617,7 +654,7 @@
      */
     /* package */ void hideDataRoamingNotification() {
         if (DBG) log("hideDataRoamingNotification()...");
-        mNotificationManager.cancel(DATA_ROAMING_NOTIFICATION);
+        cancelAsUser(null, DATA_ROAMING_NOTIFICATION, UserHandle.ALL);
     }
 
     /**
@@ -637,7 +674,7 @@
         }
         // Navigate to "Network Selection Settings" which list all subscriptions.
         PendingIntent contentIntent = PendingIntent.getActivity(mContext, 0,
-                new Intent(ACTION_MOBILE_NETWORK_LIST), 0);
+                new Intent(ACTION_MOBILE_NETWORK_LIST), PendingIntent.FLAG_IMMUTABLE);
         // Display phone number from the other sub
         String line1Num = null;
         SubscriptionManager subMgr = (SubscriptionManager) mContext.getSystemService(
@@ -661,12 +698,12 @@
                 .setContentText(contentText)
                 .setOnlyAlertOnce(true)
                 .setOngoing(true)
-                .setChannel(NotificationChannelController.CHANNEL_ID_SIM_HIGH_PRIORITY)
+                .setChannelId(NotificationChannelController.CHANNEL_ID_SIM_HIGH_PRIORITY)
                 .setContentIntent(contentIntent);
         final Notification notification = new Notification.BigTextStyle(builder).bigText(
                 contentText).build();
 
-        mNotificationManager.notifyAsUser(Integer.toString(subId),
+        notifyAsUser(Integer.toString(subId),
                 LIMITED_SIM_FUNCTION_NOTIFICATION,
                 notification, UserHandle.ALL);
         mLimitedSimFunctionNotify.add(subId);
@@ -680,12 +717,12 @@
         if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             // dismiss all notifications
             for (int id : mLimitedSimFunctionNotify) {
-                mNotificationManager.cancelAsUser(Integer.toString(id),
+                cancelAsUser(Integer.toString(id),
                         LIMITED_SIM_FUNCTION_NOTIFICATION, UserHandle.ALL);
             }
             mLimitedSimFunctionNotify.clear();
         } else if (mLimitedSimFunctionNotify.contains(subId)) {
-            mNotificationManager.cancelAsUser(Integer.toString(subId),
+            cancelAsUser(Integer.toString(subId),
                     LIMITED_SIM_FUNCTION_NOTIFICATION, UserHandle.ALL);
             mLimitedSimFunctionNotify.remove(subId);
         }
@@ -701,7 +738,7 @@
         // from the old SIM if both old & new SIM configured to display the notification.
         mLimitedSimFunctionNotify.removeIf(id -> {
             if (!mSubscriptionManager.isActiveSubId(id)) {
-                mNotificationManager.cancelAsUser(Integer.toString(id),
+                cancelAsUser(Integer.toString(id),
                         LIMITED_SIM_FUNCTION_NOTIFICATION, UserHandle.ALL);
                 return true;
             }
@@ -727,7 +764,7 @@
                         mContext.getString(R.string.notification_network_selection_text, operator))
                 .setShowWhen(false)
                 .setOngoing(true)
-                .setChannel(NotificationChannelController.CHANNEL_ID_ALERT);
+                .setChannelId(NotificationChannelController.CHANNEL_ID_ALERT);
 
         // create the target network operators settings intent
         Intent intent = new Intent(Intent.ACTION_MAIN);
@@ -737,9 +774,10 @@
         intent.setComponent(new ComponentName(
                 mContext.getString(R.string.mobile_network_settings_package),
                 mContext.getString(R.string.mobile_network_settings_class)));
-        intent.putExtra(GsmUmtsOptions.EXTRA_SUB_ID, subId);
-        builder.setContentIntent(PendingIntent.getActivity(mContext, 0, intent, 0));
-        mNotificationManager.notifyAsUser(
+        intent.putExtra(Settings.EXTRA_SUB_ID, subId);
+        builder.setContentIntent(
+                PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_IMMUTABLE));
+        notifyAsUser(
                 Integer.toString(subId) /* tag */,
                 SELECTED_OPERATOR_FAIL_NOTIFICATION,
                 builder.build(),
@@ -752,7 +790,7 @@
      */
     private void cancelNetworkSelection(int subId) {
         if (DBG) log("cancelNetworkSelection()...");
-        mNotificationManager.cancelAsUser(
+        cancelAsUser(
                 Integer.toString(subId) /* tag */, SELECTED_OPERATOR_FAIL_NOTIFICATION,
                 UserHandle.ALL);
     }
diff --git a/src/com/android/phone/NumberVerificationManager.java b/src/com/android/phone/NumberVerificationManager.java
index 9ec16f8..2298d40 100644
--- a/src/com/android/phone/NumberVerificationManager.java
+++ b/src/com/android/phone/NumberVerificationManager.java
@@ -135,7 +135,7 @@
                 }
 
                 // make sure at least one phone is registered for voice
-                if (phone.getServiceState().getVoiceRegState() == ServiceState.STATE_IN_SERVICE) {
+                if (phone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE) {
                     isAnyPhoneVoiceRegistered = true;
                 }
                 // make sure at least one phone has room for an incoming call.
diff --git a/src/com/android/phone/PhoneDisplayMessage.java b/src/com/android/phone/PhoneDisplayMessage.java
index 2b86a61..199fbb8 100644
--- a/src/com/android/phone/PhoneDisplayMessage.java
+++ b/src/com/android/phone/PhoneDisplayMessage.java
@@ -78,10 +78,11 @@
         sDisplayMessageDialog.getWindow().setType(
                 WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
         sDisplayMessageDialog.getWindow().addFlags(
-                WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+                WindowManager.LayoutParams.FLAG_DIM_BEHIND
+                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
+                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
 
         sDisplayMessageDialog.show();
-        PhoneGlobals.getInstance().wakeUpScreen();
     }
 
     /**
@@ -91,6 +92,9 @@
         if (DBG) log("Dissmissing Display Info Record...");
 
         if (sDisplayMessageDialog != null) {
+            sDisplayMessageDialog.getWindow().clearFlags(
+                    WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
+                    | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
             sDisplayMessageDialog.dismiss();
             sDisplayMessageDialog = null;
         }
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 77a4152..8f987b7 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -26,6 +26,7 @@
 import android.content.ContextWrapper;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.PackageManager;
 import android.content.res.XmlResourceParser;
 import android.media.AudioManager;
 import android.net.ConnectivityManager;
@@ -37,12 +38,11 @@
 import android.os.Message;
 import android.os.PersistableBundle;
 import android.os.PowerManager;
-import android.os.SystemClock;
 import android.os.SystemProperties;
-import android.os.UpdateLock;
 import android.os.UserManager;
 import android.preference.PreferenceManager;
 import android.provider.Settings;
+import android.sysprop.TelephonyProperties;
 import android.telecom.TelecomManager;
 import android.telephony.AnomalyReporter;
 import android.telephony.CarrierConfigManager;
@@ -67,9 +67,11 @@
 import com.android.internal.telephony.TelephonyIntents;
 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.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;
 
@@ -147,7 +149,10 @@
     CallNotifier notifier;
     CallerInfoCache callerInfoCache;
     NotificationMgr notificationMgr;
+    ImsResolver mImsResolver;
+    TelephonyRcsService mTelephonyRcsService;
     public PhoneInterfaceManager phoneMgr;
+    public ImsRcsController imsRcsController;
     CarrierConfigLoader configLoader;
 
     private Phone phoneInEcm;
@@ -187,8 +192,6 @@
     private PowerManager.WakeLock mPartialWakeLock;
     private KeyguardManager mKeyguardManager;
 
-    private UpdateLock mUpdateLock;
-
     private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private final LocalLog mDataRoamingNotifLog = new LocalLog(50);
 
@@ -202,6 +205,16 @@
 
     private final SettingsObserver mSettingsObserver;
 
+    private static class EventSimStateChangedBag {
+        final int mPhoneId;
+        final String mIccStatus;
+
+        EventSimStateChangedBag(int phoneId, String iccStatus) {
+            mPhoneId = phoneId;
+            mIccStatus = iccStatus;
+        }
+    }
+
     Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -222,7 +235,8 @@
                         // they enter a valid SIM network PIN.
                         Log.i(LOG_TAG, "show sim depersonal panel");
                         Phone phone = (Phone) ((AsyncResult) msg.obj).userObj;
-                        IccNetworkDepersonalizationPanel.showDialog(phone);
+                        int subType = (Integer)((AsyncResult)msg.obj).result;
+                        IccNetworkDepersonalizationPanel.showDialog(phone, subType);
                     }
                     break;
 
@@ -250,19 +264,24 @@
                     // Marks the event where the SIM goes into ready state.
                     // Right now, this is only used for the PUK-unlocking
                     // process.
-                    if (msg.obj.equals(IccCardConstants.INTENT_VALUE_ICC_READY)
-                            || msg.obj.equals(IccCardConstants.INTENT_VALUE_ICC_LOADED)) {
+                    EventSimStateChangedBag bag = (EventSimStateChangedBag)msg.obj;
+                    if (IccCardConstants.INTENT_VALUE_ICC_READY.equals(bag.mIccStatus)
+                            || IccCardConstants.INTENT_VALUE_ICC_LOADED.equals(bag.mIccStatus)) {
                         // when the right event is triggered and there
                         // are UI objects in the foreground, we close
                         // them to display the lock panel.
                         if (mPUKEntryActivity != null) {
+                            Log.i(LOG_TAG, "Dismiss puk entry activity");
                             mPUKEntryActivity.finish();
                             mPUKEntryActivity = null;
                         }
                         if (mPUKEntryProgressDialog != null) {
+                            Log.i(LOG_TAG, "Dismiss puk progress dialog");
                             mPUKEntryProgressDialog.dismiss();
                             mPUKEntryProgressDialog = null;
                         }
+                        Log.i(LOG_TAG, "Dismissing depersonal panel");
+                        IccNetworkDepersonalizationPanel.dialogDismiss(bag.mPhoneId);
                     }
                     break;
 
@@ -274,7 +293,8 @@
                     // 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.get(sMe);
+                    UserManager userManager =
+                            (UserManager) sMe.getSystemService(Context.USER_SERVICE);
                     if (userManager != null && userManager.isUserUnlocked()) {
                         SipUtil.startSipService();
                     }
@@ -301,8 +321,8 @@
         // Cache the "voice capable" flag.
         // This flag currently comes from a resource (which is
         // overrideable on a per-product basis):
-        sVoiceCapable =
-                getResources().getBoolean(com.android.internal.R.bool.config_voice_capable);
+        sVoiceCapable = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE))
+                .isVoiceCapable();
         // ...but this might eventually become a PackageManager "system
         // feature" instead, in which case we'd do something like:
         // sVoiceCapable =
@@ -318,6 +338,19 @@
             // Initialize the telephony framework
             PhoneFactory.makeDefaultPhones(this);
 
+            // Only bring up ImsResolver if the device supports having an IMS stack.
+            if (getPackageManager().hasSystemFeature(
+                    PackageManager.FEATURE_TELEPHONY_IMS)) {
+                // Get the package name of the default IMS implementation.
+                String defaultImsMmtelPackage = getResources().getString(
+                        R.string.config_ims_mmtel_package);
+                String defaultImsRcsPackage = getResources().getString(
+                        R.string.config_ims_rcs_package);
+                mImsResolver = new ImsResolver(this, defaultImsMmtelPackage,
+                        defaultImsRcsPackage, PhoneFactory.getPhones().length);
+                mImsResolver.initialize();
+            }
+
             // Start TelephonyDebugService After the default phone is created.
             Intent intent = new Intent(this, TelephonyDebugService.class);
             startService(intent);
@@ -347,12 +380,6 @@
 
             mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
 
-            // Get UpdateLock to suppress system-update related events (e.g. dialog show-up)
-            // during phone calls.
-            mUpdateLock = new UpdateLock("phone");
-
-            if (DBG) Log.d(LOG_TAG, "onCreate: mUpdateLock: " + mUpdateLock);
-
             // Create the CallerInfoCache singleton, which remembers custom ring tone and
             // send-to-voicemail settings.
             //
@@ -361,6 +388,15 @@
 
             phoneMgr = PhoneInterfaceManager.init(this);
 
+            imsRcsController = ImsRcsController.init(this);
+
+            if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS)) {
+                mTelephonyRcsService = new TelephonyRcsService(this,
+                        PhoneFactory.getPhones().length);
+                mTelephonyRcsService.initialize();
+                imsRcsController.setRcsService(mTelephonyRcsService);
+            }
+
             configLoader = CarrierConfigLoader.init(this);
 
             // Create the CallNotifier singleton, which handles
@@ -392,14 +428,12 @@
             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_PHONE);
+            sipIntentFilter.addAction(SipManager.ACTION_SIP_REMOVE_PROFILE);
             registerReceiver(mSipReceiver, sipIntentFilter);
 
             mCarrierVvmPackageInstalledReceiver.register(this);
 
             //set the default values for the preferences in the phone.
-            PreferenceManager.setDefaultValues(this, R.xml.network_setting_fragment, false);
-
             PreferenceManager.setDefaultValues(this, R.xml.call_feature_setting, false);
         }
 
@@ -416,9 +450,9 @@
                     android.provider.Settings.System.HEARING_AID,
                     0);
             AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-            audioManager.setParameter(SettingsConstants.HAC_KEY,
-                    hac == SettingsConstants.HAC_ENABLED
-                            ? SettingsConstants.HAC_VAL_ON : SettingsConstants.HAC_VAL_OFF);
+            audioManager.setParameters(
+                    SettingsConstants.HAC_KEY + "=" + (hac == SettingsConstants.HAC_ENABLED
+                            ? SettingsConstants.HAC_VAL_ON : SettingsConstants.HAC_VAL_OFF));
         }
     }
 
@@ -445,6 +479,10 @@
         return PhoneFactory.getPhone(SubscriptionManager.getPhoneId(subId));
     }
 
+    public ImsResolver getImsResolver() {
+        return mImsResolver;
+    }
+
     /* package */ CallManager getCallManager() {
         return mCM;
     }
@@ -454,7 +492,8 @@
     }
 
     public PersistableBundle getCarrierConfigForSubId(int subId) {
-        return configLoader.getConfigForSubId(subId, getOpPackageName());
+        return configLoader.getConfigForSubIdWithFeature(subId, getOpPackageName(),
+                getAttributionTag());
     }
 
     private void registerSettingsObserver() {
@@ -491,6 +530,7 @@
      * or SIM READYing process is over.
      */
     void setPukEntryActivity(Activity activity) {
+        Log.i(LOG_TAG, "setPukEntryActivity - set to " + (activity == null ? "null" : "activity"));
         mPUKEntryActivity = activity;
     }
 
@@ -508,22 +548,11 @@
      * READYing process
      */
     void setPukEntryProgressDialog(ProgressDialog dialog) {
+        Log.i(LOG_TAG, "setPukEntryProgressDialog - set to "
+                + (dialog == null ? "null" : "activity"));
         mPUKEntryProgressDialog = dialog;
     }
 
-    /**
-     * If we are not currently keeping the screen on, then poke the power
-     * manager to wake up the screen for the user activity timeout duration.
-     */
-    /* package */ void wakeUpScreen() {
-        synchronized (this) {
-            if (mWakeState == WakeState.SLEEP) {
-                if (DBG) Log.d(LOG_TAG, "pulse screen lock");
-                mPowerManager.wakeUp(SystemClock.uptimeMillis(), "android.phone:WAKE");
-            }
-        }
-    }
-
     KeyguardManager getKeyguardManager() {
         return mKeyguardManager;
     }
@@ -555,6 +584,9 @@
                 maybeTurnCellOn(context, isAirplaneNewlyOn);
                 break;
         }
+        for (Phone phone : PhoneFactory.getPhones()) {
+            phone.getServiceStateTracker().onAirplaneModeChanged(isAirplaneNewlyOn);
+        }
     }
 
     /*
@@ -571,7 +603,7 @@
         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);
-        SystemProperties.set("persist.radio.airplane_mode_on", "1");
+        TelephonyProperties.airplane_mode_on(true); // true means int value 1
         Settings.Global.putInt(getContentResolver(), Settings.Global.ENABLE_CELLULAR_ON_BOOT, 0);
         PhoneUtils.setRadioPower(false);
     }
@@ -582,7 +614,7 @@
                 PhoneConstants.CELL_ON_FLAG);
         Settings.Global.putInt(getContentResolver(), Settings.Global.ENABLE_CELLULAR_ON_BOOT,
                 1);
-        SystemProperties.set("persist.radio.airplane_mode_on", "0");
+        TelephonyProperties.airplane_mode_on(false); // false means int value 0
         PhoneUtils.setRadioPower(true);
     }
 
@@ -594,7 +626,9 @@
 
             if (tm != null && tm.isInEmergencyCall()) {
                 // Switch airplane mode back to off.
-                ConnectivityManager.from(this).setAirplaneMode(false);
+                ConnectivityManager cm =
+                        (ConnectivityManager) context.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");
@@ -635,14 +669,9 @@
                     PhoneUtils.unregisterIccStatus(mHandler, phoneId);
                     PhoneUtils.registerIccStatus(mHandler, EVENT_SIM_NETWORK_LOCKED, phoneId);
                 }
-                if (mPUKEntryActivity != null) {
-                    // if an attempt to un-PUK-lock the device was made, while we're
-                    // receiving this state change notification, notify the handler.
-                    // NOTE: This is ONLY triggered if an attempt to un-PUK-lock has
-                    // been attempted.
-                    mHandler.sendMessage(mHandler.obtainMessage(EVENT_SIM_STATE_CHANGED,
-                            intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE)));
-                }
+                String iccStatus = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
+                mHandler.sendMessage(mHandler.obtainMessage(EVENT_SIM_STATE_CHANGED,
+                        new EventSimStateChangedBag(phoneId, iccStatus)));
             } else if (action.equals(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED)) {
                 String newPhone = intent.getStringExtra(PhoneConstants.PHONE_NAME_KEY);
                 Log.d(LOG_TAG, "Radio technology switched. Now " + newPhone + " is active.");
@@ -657,7 +686,8 @@
                     if (TelephonyCapabilities.supportsEcm(phoneInEcm)) {
                         Log.d(LOG_TAG, "Emergency Callback Mode arrived in PhoneApp.");
                         // Start Emergency Callback Mode service
-                        if (intent.getBooleanExtra("phoneinECMState", false)) {
+                        if (intent.getBooleanExtra(
+                                TelephonyManager.EXTRA_PHONE_IN_ECM_STATE, false)) {
                             context.startService(new Intent(context,
                                     EmergencyCallbackModeService.class));
                         } else {
@@ -703,7 +733,7 @@
             } 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_PHONE)) {
+            } else if (action.equals(SipManager.ACTION_SIP_REMOVE_PROFILE)) {
                 if (DBG) {
                     Log.d(LOG_TAG, "SIP_REMOVE_PHONE "
                             + intent.getStringExtra(SipManager.EXTRA_LOCAL_URI));
@@ -892,6 +922,20 @@
         pw.increaseIndent();
         mDataRoamingNotifLog.dump(fd, pw, args);
         pw.decreaseIndent();
+        pw.println("ImsResolver:");
+        pw.increaseIndent();
+        try {
+            if (mImsResolver != null) mImsResolver.dump(fd, pw, args);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        pw.decreaseIndent();
+        pw.println("RcsService:");
+        try {
+            if (mTelephonyRcsService != null) mTelephonyRcsService.dump(fd, pw, args);
+        } 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 768e868..7ed7aec 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -18,9 +18,11 @@
 
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 
+import static com.android.internal.telephony.PhoneConstants.PHONE_TYPE_IMS;
 import static com.android.internal.telephony.PhoneConstants.SUBSCRIPTION_KEY;
 
 import android.Manifest.permission;
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.AppOpsManager;
 import android.app.PendingIntent;
@@ -33,7 +35,6 @@
 import android.content.pm.ComponentInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
-import android.net.NetworkStats;
 import android.net.Uri;
 import android.os.AsyncResult;
 import android.os.Binder;
@@ -44,13 +45,13 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
+import android.os.ParcelFileDescriptor;
 import android.os.ParcelUuid;
 import android.os.PersistableBundle;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
-import android.os.ServiceManager;
-import android.os.ShellCallback;
-import android.os.SystemProperties;
+import android.os.ServiceSpecificException;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.WorkSource;
@@ -58,15 +59,20 @@
 import android.provider.DeviceConfig;
 import android.provider.Settings;
 import android.provider.Telephony;
+import android.sysprop.TelephonyProperties;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import android.telephony.Annotation.ApnType;
+import android.telephony.CallForwardingInfo;
 import android.telephony.CarrierConfigManager;
 import android.telephony.CarrierRestrictionRules;
+import android.telephony.CellIdentity;
+import android.telephony.CellIdentityCdma;
+import android.telephony.CellIdentityGsm;
 import android.telephony.CellInfo;
 import android.telephony.CellInfoGsm;
 import android.telephony.CellInfoWcdma;
-import android.telephony.CellLocation;
 import android.telephony.ClientRequestStats;
 import android.telephony.ICellInfoCallback;
 import android.telephony.IccOpenLogicalChannelResponse;
@@ -78,11 +84,11 @@
 import android.telephony.PhoneNumberRange;
 import android.telephony.RadioAccessFamily;
 import android.telephony.RadioAccessSpecifier;
-import android.telephony.Rlog;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyFrameworkInitializer;
 import android.telephony.TelephonyHistogram;
 import android.telephony.TelephonyManager;
 import android.telephony.TelephonyScanManager;
@@ -90,12 +96,11 @@
 import android.telephony.UiccSlotInfo;
 import android.telephony.UssdResponse;
 import android.telephony.VisualVoicemailSmsFilterSettings;
-import android.telephony.cdma.CdmaCellLocation;
 import android.telephony.data.ApnSetting;
-import android.telephony.data.ApnSetting.ApnType;
 import android.telephony.emergency.EmergencyNumber;
-import android.telephony.gsm.GsmCellLocation;
+import android.telephony.ims.ImsException;
 import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.RegistrationManager;
 import android.telephony.ims.aidl.IImsCapabilityCallback;
 import android.telephony.ims.aidl.IImsConfig;
 import android.telephony.ims.aidl.IImsConfigCallback;
@@ -103,7 +108,9 @@
 import android.telephony.ims.aidl.IImsRcsFeature;
 import android.telephony.ims.aidl.IImsRegistration;
 import android.telephony.ims.aidl.IImsRegistrationCallback;
+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;
@@ -111,26 +118,25 @@
 import android.util.EventLog;
 import android.util.Log;
 import android.util.Pair;
-import android.util.Slog;
 
-import com.android.ims.ImsException;
 import com.android.ims.ImsManager;
 import com.android.ims.internal.IImsServiceFeatureCallback;
-import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.CallForwardInfo;
 import com.android.internal.telephony.CallManager;
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.CarrierInfoManager;
 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.HalVersion;
+import com.android.internal.telephony.IBooleanConsumer;
 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.LocaleTracker;
-import com.android.internal.telephony.MccTable;
 import com.android.internal.telephony.NetworkScanRequestTracker;
 import com.android.internal.telephony.OperatorInfo;
 import com.android.internal.telephony.Phone;
@@ -142,18 +148,21 @@
 import com.android.internal.telephony.RIL;
 import com.android.internal.telephony.RILConstants;
 import com.android.internal.telephony.ServiceStateTracker;
-import com.android.internal.telephony.SmsApplication;
-import com.android.internal.telephony.SmsApplication.SmsApplicationData;
 import com.android.internal.telephony.SmsController;
 import com.android.internal.telephony.SmsPermissions;
 import com.android.internal.telephony.SubscriptionController;
+import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyPermissions;
 import com.android.internal.telephony.dataconnection.ApnSettingUtils;
 import com.android.internal.telephony.emergency.EmergencyNumberTracker;
 import com.android.internal.telephony.euicc.EuiccConnector;
 import com.android.internal.telephony.ims.ImsResolver;
+import com.android.internal.telephony.imsphone.ImsPhone;
+import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
 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;
@@ -161,6 +170,7 @@
 import com.android.internal.telephony.uicc.UiccController;
 import com.android.internal.telephony.uicc.UiccProfile;
 import com.android.internal.telephony.uicc.UiccSlot;
+import com.android.internal.telephony.util.LocaleUtils;
 import com.android.internal.telephony.util.VoicemailNotificationSettingsUtil;
 import com.android.internal.util.HexDump;
 import com.android.phone.settings.PickSmsSubscriptionActivity;
@@ -168,12 +178,12 @@
 import com.android.phone.vvm.RemoteVvmTaskManager;
 import com.android.phone.vvm.VisualVoicemailSettingsUtil;
 import com.android.phone.vvm.VisualVoicemailSmsFilterConfig;
+import com.android.telephony.Rlog;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -181,6 +191,8 @@
 import java.util.Map;
 import java.util.NoSuchElementException;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Consumer;
 
 /**
  * Implementation of the ITelephony interface.
@@ -258,8 +270,25 @@
     private static final int EVENT_ENABLE_MODEM_DONE = 69;
     private static final int CMD_GET_MODEM_STATUS = 70;
     private static final int EVENT_GET_MODEM_STATUS_DONE = 71;
-    private static final int CMD_ERASE_MODEM_CONFIG = 72;
-    private static final int EVENT_ERASE_MODEM_CONFIG_DONE = 73;
+    private static final int CMD_SET_FORBIDDEN_PLMNS = 72;
+    private static final int EVENT_SET_FORBIDDEN_PLMNS_DONE = 73;
+    private static final int CMD_ERASE_MODEM_CONFIG = 74;
+    private static final int EVENT_ERASE_MODEM_CONFIG_DONE = 75;
+    private static final int CMD_CHANGE_ICC_LOCK_PASSWORD = 76;
+    private static final int EVENT_CHANGE_ICC_LOCK_PASSWORD_DONE = 77;
+    private static final int CMD_SET_ICC_LOCK_ENABLED = 78;
+    private static final int EVENT_SET_ICC_LOCK_ENABLED_DONE = 79;
+    private static final int CMD_SET_SYSTEM_SELECTION_CHANNELS = 80;
+    private static final int EVENT_SET_SYSTEM_SELECTION_CHANNELS_DONE = 81;
+    private static final int MSG_NOTIFY_USER_ACTIVITY = 82;
+    private static final int CMD_GET_CALL_FORWARDING = 83;
+    private static final int EVENT_GET_CALL_FORWARDING_DONE = 84;
+    private static final int CMD_SET_CALL_FORWARDING = 85;
+    private static final int EVENT_SET_CALL_FORWARDING_DONE = 86;
+    private static final int CMD_GET_CALL_WAITING = 87;
+    private static final int EVENT_GET_CALL_WAITING_DONE = 88;
+    private static final int CMD_SET_CALL_WAITING = 89;
+    private static final int EVENT_SET_CALL_WAITING_DONE = 90;
 
     // Parameters of select command.
     private static final int SELECT_COMMAND = 0xA4;
@@ -267,15 +296,12 @@
     private static final int SELECT_P2 = 0;
     private static final int SELECT_P3 = 0x10;
 
-    private static final String DEFAULT_NETWORK_MODE_PROPERTY_NAME = "ro.telephony.default_network";
-    private static final String DEFAULT_DATA_ROAMING_PROPERTY_NAME = "ro.com.android.dataroaming";
-    private static final String DEFAULT_MOBILE_DATA_PROPERTY_NAME = "ro.com.android.mobiledata";
-
     /** The singleton instance. */
     private static PhoneInterfaceManager sInstance;
 
     private PhoneGlobals mApp;
     private CallManager mCM;
+    private ImsResolver mImsResolver;
     private UserManager mUserManager;
     private AppOpsManager mAppOps;
     private MainThreadHandler mMainThreadHandler;
@@ -283,6 +309,10 @@
     private SharedPreferences mTelephonySharedPreferences;
     private PhoneConfigurationManager mPhoneConfigurationManager;
 
+    /** User Activity */
+    private AtomicBoolean mNotifyUserActivity;
+    private static final int USER_ACTIVITY_NOTIFICATION_DELAY = 200;
+
     private static final String PREF_CARRIERS_ALPHATAG_PREFIX = "carrier_alphtag_";
     private static final String PREF_CARRIERS_NUMBER_PREFIX = "carrier_number_";
     private static final String PREF_CARRIERS_SUBSCRIBER_PREFIX = "carrier_subscriber_";
@@ -797,6 +827,148 @@
                     getPhoneFromRequest(request).getAvailableNetworks(onCompleted);
                     break;
 
+                case CMD_GET_CALL_FORWARDING:
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_GET_CALL_FORWARDING_DONE, request);
+                    int callForwardingReason = (Integer) request.argument;
+                    getPhoneFromRequest(request).getCallForwardingOption(
+                            callForwardingReason, onCompleted);
+                    break;
+
+                case EVENT_GET_CALL_FORWARDING_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    CallForwardingInfo callForwardingInfo = null;
+                    if (ar.exception == null && ar.result != null) {
+                        CallForwardInfo[] callForwardInfos = (CallForwardInfo[]) ar.result;
+                        for (CallForwardInfo callForwardInfo : callForwardInfos) {
+                            // Service Class is a bit mask per 3gpp 27.007. Search for
+                            // any service for voice call.
+                            if ((callForwardInfo.serviceClass
+                                    & CommandsInterface.SERVICE_CLASS_VOICE) > 0) {
+                                callForwardingInfo = new CallForwardingInfo(
+                                        callForwardInfo.serviceClass, callForwardInfo.reason,
+                                                callForwardInfo.number,
+                                                        callForwardInfo.timeSeconds);
+                                break;
+                            }
+                        }
+                        // Didn't find a call forward info for voice call.
+                        if (callForwardingInfo == null) {
+                            callForwardingInfo = new CallForwardingInfo(
+                                    CallForwardingInfo.STATUS_UNKNOWN_ERROR,
+                                            0 /* reason */, null /* number */, 0 /* timeout */);
+                        }
+                    } else {
+                        if (ar.result == null) {
+                            loge("EVENT_GET_CALL_FORWARDING_DONE: Empty response");
+                        }
+                        if (ar.exception != null) {
+                            loge("EVENT_GET_CALL_FORWARDING_DONE: Exception: " + ar.exception);
+                        }
+                        int errorCode = CallForwardingInfo.STATUS_UNKNOWN_ERROR;
+                        if (ar.exception instanceof CommandException) {
+                            CommandException.Error error =
+                                    ((CommandException) (ar.exception)).getCommandError();
+                            if (error == CommandException.Error.FDN_CHECK_FAILURE) {
+                                errorCode = CallForwardingInfo.STATUS_FDN_CHECK_FAILURE;
+                            } else if (error == CommandException.Error.REQUEST_NOT_SUPPORTED) {
+                                errorCode = CallForwardingInfo.STATUS_NOT_SUPPORTED;
+                            }
+                        }
+                        callForwardingInfo = new CallForwardingInfo(
+                                errorCode, 0 /* reason */, null /* number */, 0 /* timeout */);
+                    }
+                    request.result = callForwardingInfo;
+                    notifyRequester(request);
+                    break;
+
+                case CMD_SET_CALL_FORWARDING:
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_SET_CALL_FORWARDING_DONE, request);
+                    CallForwardingInfo callForwardingInfoToSet =
+                            (CallForwardingInfo) request.argument;
+                    getPhoneFromRequest(request).setCallForwardingOption(
+                            callForwardingInfoToSet.getStatus(),
+                            callForwardingInfoToSet.getReason(),
+                            callForwardingInfoToSet.getNumber(),
+                            callForwardingInfoToSet.getTimeoutSeconds(), onCompleted);
+                    break;
+
+                case EVENT_SET_CALL_FORWARDING_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    if (ar.exception == null) {
+                        request.result = true;
+                    } else {
+                        request.result = false;
+                        loge("setCallForwarding exception: " + ar.exception);
+                    }
+                    notifyRequester(request);
+                    break;
+
+                case CMD_GET_CALL_WAITING:
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_GET_CALL_WAITING_DONE, request);
+                    getPhoneFromRequest(request).getCallWaiting(onCompleted);
+                    break;
+
+                case EVENT_GET_CALL_WAITING_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    int callForwardingStatus = 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.
+                        // Search for any service for voice call.
+                        if (callForwardResults.length > 1
+                                && ((callForwardResults[1]
+                                        & CommandsInterface.SERVICE_CLASS_VOICE) > 0)) {
+                            callForwardingStatus = callForwardResults[0] == 0
+                                    ? TelephonyManager.CALL_WAITING_STATUS_INACTIVE
+                                            : TelephonyManager.CALL_WAITING_STATUS_ACTIVE;
+                        } else {
+                            callForwardingStatus = TelephonyManager.CALL_WAITING_STATUS_INACTIVE;
+                        }
+                    } else {
+                        if (ar.result == null) {
+                            loge("EVENT_GET_CALL_WAITING_DONE: Empty response");
+                        }
+                        if (ar.exception != null) {
+                            loge("EVENT_GET_CALL_WAITING_DONE: Exception: " + ar.exception);
+                        }
+                        if (ar.exception instanceof CommandException) {
+                            CommandException.Error error =
+                                    ((CommandException) (ar.exception)).getCommandError();
+                            if (error == CommandException.Error.REQUEST_NOT_SUPPORTED) {
+                                callForwardingStatus =
+                                        TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED;
+                            }
+                        }
+                    }
+                    request.result = callForwardingStatus;
+                    notifyRequester(request);
+                    break;
+
+                case CMD_SET_CALL_WAITING:
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_SET_CALL_WAITING_DONE, request);
+                    boolean isEnable = (Boolean) request.argument;
+                    getPhoneFromRequest(request).setCallWaiting(isEnable, onCompleted);
+                    break;
+
+                case EVENT_SET_CALL_WAITING_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    if (ar.exception == null) {
+                        request.result = true;
+                    } else {
+                        request.result = false;
+                        loge("setCallWaiting exception: " + ar.exception);
+                    }
+                    notifyRequester(request);
+                    break;
+
                 case EVENT_PERFORM_NETWORK_SCAN_DONE:
                     ar = (AsyncResult) msg.obj;
                     request = (MainThreadRequest) ar.userObj;
@@ -856,14 +1028,47 @@
                     onCompleted = obtainMessage(EVENT_GET_MODEM_ACTIVITY_INFO_DONE, request);
                     if (defaultPhone != null) {
                         defaultPhone.getModemActivityInfo(onCompleted, request.workSource);
+                    } else {
+                        ResultReceiver result = (ResultReceiver) request.argument;
+                        Bundle bundle = new Bundle();
+                        bundle.putParcelable(TelephonyManager.MODEM_ACTIVITY_RESULT_KEY,
+                                new ModemActivityInfo(0, 0, 0, new int[0], 0));
+                        result.send(0, bundle);
                     }
                     break;
 
                 case EVENT_GET_MODEM_ACTIVITY_INFO_DONE:
                     ar = (AsyncResult) msg.obj;
                     request = (MainThreadRequest) ar.userObj;
+                    ResultReceiver result = (ResultReceiver) request.argument;
+
+                    ModemActivityInfo ret = new ModemActivityInfo(0, 0, 0, new int[0], 0);
                     if (ar.exception == null && ar.result != null) {
-                        request.result = ar.result;
+                        // 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.TX_POWER_LEVELS];
+                            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.getTimestamp());
+                            mLastModemActivityInfo.setSleepTimeMillis(info.getSleepTimeMillis()
+                                    + mLastModemActivityInfo.getSleepTimeMillis());
+                            mLastModemActivityInfo.setIdleTimeMillis(info.getIdleTimeMillis()
+                                    + mLastModemActivityInfo.getIdleTimeMillis());
+                            mLastModemActivityInfo.setTransmitTimeMillis(mergedTxTimeMs);
+                            mLastModemActivityInfo.setReceiveTimeMillis(
+                                    info.getReceiveTimeMillis()
+                                            + mLastModemActivityInfo.getReceiveTimeMillis());
+                        }
+                        ret = new ModemActivityInfo(mLastModemActivityInfo.getTimestamp(),
+                                mLastModemActivityInfo.getSleepTimeMillis(),
+                                mLastModemActivityInfo.getIdleTimeMillis(),
+                                mLastModemActivityInfo.getTransmitTimeMillis(),
+                                mLastModemActivityInfo.getReceiveTimeMillis());
                     } else {
                         if (ar.result == null) {
                             loge("queryModemActivityInfo: Empty response");
@@ -874,10 +1079,9 @@
                             loge("queryModemActivityInfo: Unknown exception");
                         }
                     }
-                    // Result cannot be null. Return ModemActivityInfo with all fields set to 0.
-                    if (request.result == null) {
-                        request.result = new ModemActivityInfo(0, 0, 0, null, 0, 0);
-                    }
+                    Bundle bundle = new Bundle();
+                    bundle.putParcelable(TelephonyManager.MODEM_ACTIVITY_RESULT_KEY, ret);
+                    result.send(0, bundle);
                     notifyRequester(request);
                     break;
 
@@ -1081,11 +1285,13 @@
                     try {
                         if (ar.exception != null) {
                             Log.e(LOG_TAG, "Exception retrieving CellInfo=" + ar.exception);
-                            cb.onError(TelephonyManager.CellInfoCallback.ERROR_MODEM_ERROR,
-                                    new android.os.ParcelableException(ar.exception));
+                            cb.onError(
+                                    TelephonyManager.CellInfoCallback.ERROR_MODEM_ERROR,
+                                    ar.exception.getClass().getName(),
+                                    ar.exception.toString());
                         } else if (ar.result == null) {
                             Log.w(LOG_TAG, "Timeout Waiting for CellInfo!");
-                            cb.onError(TelephonyManager.CellInfoCallback.ERROR_TIMEOUT, null);
+                            cb.onError(TelephonyManager.CellInfoCallback.ERROR_TIMEOUT, null, null);
                         } else {
                             // use the result as returned
                             cb.onCellInfo((List<CellInfo>) ar.result);
@@ -1098,7 +1304,7 @@
                     request = (MainThreadRequest) msg.obj;
                     WorkSource ws = (WorkSource) request.argument;
                     Phone phone = getPhoneFromRequest(request);
-                    phone.getCellLocation(ws, obtainMessage(EVENT_GET_CELL_LOCATION_DONE, request));
+                    phone.getCellIdentity(ws, obtainMessage(EVENT_GET_CELL_LOCATION_DONE, request));
                     break;
                 case EVENT_GET_CELL_LOCATION_DONE:
                     ar = (AsyncResult) msg.obj;
@@ -1108,7 +1314,7 @@
                     } else {
                         phone = getPhoneFromRequest(request);
                         request.result = (phone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA)
-                                ? new CdmaCellLocation() : new GsmCellLocation();
+                                ? new CellIdentityCdma() : new CellIdentityGsm();
                     }
 
                     synchronized (request) {
@@ -1173,6 +1379,67 @@
                     }
                     notifyRequester(request);
                     break;
+                case CMD_SET_SYSTEM_SELECTION_CHANNELS: {
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_SET_SYSTEM_SELECTION_CHANNELS_DONE, request);
+                    Pair<List<RadioAccessSpecifier>, Consumer<Boolean>> args =
+                            (Pair<List<RadioAccessSpecifier>, Consumer<Boolean>>) request.argument;
+                    request.phone.setSystemSelectionChannels(args.first, onCompleted);
+                    break;
+                }
+                case EVENT_SET_SYSTEM_SELECTION_CHANNELS_DONE: {
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    Pair<List<RadioAccessSpecifier>, Consumer<Boolean>> args =
+                            (Pair<List<RadioAccessSpecifier>, Consumer<Boolean>>) request.argument;
+                    args.second.accept(ar.exception == null);
+                    notifyRequester(request);
+                    break;
+                }
+                case EVENT_SET_FORBIDDEN_PLMNS_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    if (ar.exception == null && ar.result != null) {
+                        request.result = ar.result;
+                    } else {
+                        request.result = -1;
+                        loge("Failed to set Forbidden Plmns");
+                        if (ar.result == null) {
+                            loge("setForbidenPlmns: Empty response");
+                        } else if (ar.exception != null) {
+                            loge("setForbiddenPlmns: Exception: " + ar.exception);
+                            request.result = -1;
+                        } else {
+                            loge("setForbiddenPlmns: Unknown exception");
+                        }
+                    }
+                    notifyRequester(request);
+                    break;
+                case CMD_SET_FORBIDDEN_PLMNS:
+                    request = (MainThreadRequest) msg.obj;
+                    uiccCard = getUiccCardFromRequest(request);
+                    if (uiccCard == null) {
+                        loge("setForbiddenPlmns: UiccCard is null");
+                        request.result = -1;
+                        notifyRequester(request);
+                        break;
+                    }
+                    Pair<Integer, List<String>> setFplmnsArgs =
+                            (Pair<Integer, List<String>>) request.argument;
+                    appType = setFplmnsArgs.first;
+                    List<String> fplmns = setFplmnsArgs.second;
+                    uiccApp = uiccCard.getApplicationByType(appType);
+                    if (uiccApp == null) {
+                        loge("setForbiddenPlmns: no app with specified type -- " + appType);
+                        request.result = -1;
+                        loge("Failed to get UICC App");
+                        notifyRequester(request);
+                    } else {
+                        onCompleted = obtainMessage(EVENT_SET_FORBIDDEN_PLMNS_DONE, request);
+                        ((SIMRecords) uiccApp.getIccRecords())
+                                .setForbiddenPlmns(onCompleted, fplmns);
+                    }
+                    break;
                 case CMD_ERASE_MODEM_CONFIG:
                     request = (MainThreadRequest) msg.obj;
                     onCompleted = obtainMessage(EVENT_ERASE_MODEM_CONFIG_DONE, request);
@@ -1181,6 +1448,50 @@
                 case EVENT_ERASE_MODEM_CONFIG_DONE:
                     handleNullReturnEvent(msg, "eraseModemConfig");
                     break;
+
+                case CMD_CHANGE_ICC_LOCK_PASSWORD:
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_CHANGE_ICC_LOCK_PASSWORD_DONE, request);
+                    Pair<String, String> changed = (Pair<String, String>) request.argument;
+                    getPhoneFromRequest(request).getIccCard().changeIccLockPassword(
+                            changed.first, changed.second, onCompleted);
+                    break;
+                case EVENT_CHANGE_ICC_LOCK_PASSWORD_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    if (ar.exception == null) {
+                        request.result = TelephonyManager.CHANGE_ICC_LOCK_SUCCESS;
+                    } else {
+                        request.result = msg.arg1;
+                    }
+                    notifyRequester(request);
+                    break;
+
+                case CMD_SET_ICC_LOCK_ENABLED:
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_SET_ICC_LOCK_ENABLED_DONE, request);
+                    Pair<Boolean, String> enabled = (Pair<Boolean, String>) request.argument;
+                    getPhoneFromRequest(request).getIccCard().setIccLockEnabled(
+                            enabled.first, enabled.second, onCompleted);
+                    break;
+                case EVENT_SET_ICC_LOCK_ENABLED_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    request = (MainThreadRequest) ar.userObj;
+                    if (ar.exception == null) {
+                        request.result = TelephonyManager.CHANGE_ICC_LOCK_SUCCESS;
+                    } else {
+                        request.result = msg.arg1;
+                    }
+                    notifyRequester(request);
+                    break;
+
+                case MSG_NOTIFY_USER_ACTIVITY:
+                    removeMessages(MSG_NOTIFY_USER_ACTIVITY);
+                    Intent intent = new Intent(TelephonyIntents.ACTION_USER_ACTIVITY_NOTIFICATION);
+                    intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
+                    getDefaultPhone().getContext().sendBroadcastAsUser(
+                            intent, UserHandle.ALL, permission.USER_ACTIVITY);
+                    break;
                 default:
                     Log.w(LOG_TAG, "MainThreadHandler: unexpected message code: " + msg.what);
                     break;
@@ -1339,10 +1650,10 @@
     }
 
     /** Private constructor; @see init() */
-    @VisibleForTesting
-    /* package */ PhoneInterfaceManager(PhoneGlobals app) {
+    private PhoneInterfaceManager(PhoneGlobals app) {
         mApp = app;
         mCM = PhoneGlobals.getInstance().mCM;
+        mImsResolver = PhoneGlobals.getInstance().getImsResolver();
         mUserManager = (UserManager) app.getSystemService(Context.USER_SERVICE);
         mAppOps = (AppOpsManager)app.getSystemService(Context.APP_OPS_SERVICE);
         mMainThreadHandler = new MainThreadHandler();
@@ -1351,6 +1662,7 @@
                 PreferenceManager.getDefaultSharedPreferences(mApp);
         mNetworkScanRequestTracker = new NetworkScanRequestTracker();
         mPhoneConfigurationManager = PhoneConfigurationManager.getInstance();
+        mNotifyUserActivity = new AtomicBoolean(false);
 
         publish();
     }
@@ -1363,7 +1675,10 @@
     private void publish() {
         if (DBG) log("publish: " + this);
 
-        ServiceManager.addService("phone", this);
+        TelephonyFrameworkInitializer
+                .getTelephonyServiceManager()
+                .getTelephonyServiceRegisterer()
+                .register(this);
     }
 
     private Phone getPhoneFromRequest(MainThreadRequest request) {
@@ -1404,6 +1719,16 @@
         }
     }
 
+    private boolean isImsAvailableOnDevice() {
+        PackageManager pm = getDefaultPhone().getContext().getPackageManager();
+        if (pm == null) {
+            // For some reason package manger is not available.. This will fail internally anyway,
+            // so do not throw error and allow.
+            return true;
+        }
+        return pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS, 0);
+    }
+
     public void dial(String number) {
         dialForSubscriber(getPreferredVoiceSubscription(), number);
     }
@@ -1445,7 +1770,7 @@
         // from the context of the phone app.
         enforceCallPermission();
 
-        if (mAppOps.noteOp(AppOpsManager.OP_CALL_PHONE, Binder.getCallingUid(), callingPackage)
+        if (mAppOps.noteOp(AppOpsManager.OPSTR_CALL_PHONE, Binder.getCallingUid(), callingPackage)
                 != AppOpsManager.MODE_ALLOWED) {
             return;
         }
@@ -1480,29 +1805,16 @@
         }
     }
 
-    public boolean supplyPin(String pin) {
-        return supplyPinForSubscriber(getDefaultSubscription(), pin);
-    }
-
     public boolean supplyPinForSubscriber(int subId, String pin) {
         int [] resultArray = supplyPinReportResultForSubscriber(subId, pin);
         return (resultArray[0] == PhoneConstants.PIN_RESULT_SUCCESS) ? true : false;
     }
 
-    public boolean supplyPuk(String puk, String pin) {
-        return supplyPukForSubscriber(getDefaultSubscription(), puk, pin);
-    }
-
     public boolean supplyPukForSubscriber(int subId, String puk, String pin) {
         int [] resultArray = supplyPukReportResultForSubscriber(subId, puk, pin);
         return (resultArray[0] == PhoneConstants.PIN_RESULT_SUCCESS) ? true : false;
     }
 
-    /** {@hide} */
-    public int[] supplyPinReportResult(String pin) {
-        return supplyPinReportResultForSubscriber(getDefaultSubscription(), pin);
-    }
-
     public int[] supplyPinReportResultForSubscriber(int subId, String pin) {
         enforceModifyPermission();
 
@@ -1516,11 +1828,6 @@
         }
     }
 
-    /** {@hide} */
-    public int[] supplyPukReportResult(String puk, String pin) {
-        return supplyPukReportResultForSubscriber(getDefaultSubscription(), puk, pin);
-    }
-
     public int[] supplyPukReportResultForSubscriber(int subId, String puk, String pin) {
         enforceModifyPermission();
 
@@ -1653,15 +1960,30 @@
         }
     }
 
+    @Deprecated
     @Override
     public boolean isRadioOn(String callingPackage) {
-        return isRadioOnForSubscriber(getDefaultSubscription(), callingPackage);
+        return isRadioOnWithFeature(callingPackage, null);
+    }
+
+
+    @Override
+    public boolean isRadioOnWithFeature(String callingPackage, String callingFeatureId) {
+        return isRadioOnForSubscriberWithFeature(getDefaultSubscription(), callingPackage,
+                callingFeatureId);
+    }
+
+    @Deprecated
+    @Override
+    public boolean isRadioOnForSubscriber(int subId, String callingPackage) {
+        return isRadioOnForSubscriberWithFeature(subId, callingPackage, null);
     }
 
     @Override
-    public boolean isRadioOnForSubscriber(int subId, String callingPackage) {
+    public boolean isRadioOnForSubscriberWithFeature(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "isRadioOnForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId, "isRadioOnForSubscriber")) {
             return false;
         }
 
@@ -1728,6 +2050,7 @@
     }
 
     public boolean needMobileRadioShutdown() {
+        enforceReadPrivilegedPermission("needMobileRadioShutdown");
         /*
          * If any of the Radios are available, it will need to be
          * shutdown. So return true if any Radio is available.
@@ -1947,7 +2270,7 @@
     }
 
     @Override
-    public Bundle getCellLocation(String callingPackage) {
+    public CellIdentity getCellLocation(String callingPackage, String callingFeatureId) {
         mApp.getSystemService(AppOpsManager.class)
                 .checkPackage(Binder.getCallingUid(), callingPackage);
 
@@ -1955,6 +2278,7 @@
                 LocationAccessPolicy.checkLocationPermission(mApp,
                         new LocationAccessPolicy.LocationPermissionQuery.Builder()
                                 .setCallingPackage(callingPackage)
+                                .setCallingFeatureId(callingFeatureId)
                                 .setCallingPid(Binder.getCallingPid())
                                 .setCallingUid(Binder.getCallingUid())
                                 .setMethod("getCellLocation")
@@ -1965,18 +2289,16 @@
             case DENIED_HARD:
                 throw new SecurityException("Not allowed to access cell location");
             case DENIED_SOFT:
-                return new Bundle();
+                return (getDefaultPhone().getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA)
+                        ? new CellIdentityCdma() : new CellIdentityGsm();
         }
 
         WorkSource workSource = getWorkSource(Binder.getCallingUid());
         final long identity = Binder.clearCallingIdentity();
         try {
             if (DBG_LOC) log("getCellLocation: is active user");
-            Bundle data = new Bundle();
             int subId = mSubscriptionController.getDefaultDataSubId();
-            CellLocation cl = (CellLocation) sendRequest(CMD_GET_CELL_LOCATION, workSource, subId);
-            cl.fillInNotifierBundle(data);
-            return data;
+            return (CellIdentity) sendRequest(CMD_GET_CELL_LOCATION, workSource, subId);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -1993,28 +2315,15 @@
                 phoneId = SubscriptionManager.DEFAULT_PHONE_INDEX;
             }
             final int subId = mSubscriptionController.getSubIdUsingPhoneId(phoneId);
-            // Todo: fix this when we can get the actual cellular network info when the device
-            // is on IWLAN.
-            if (TelephonyManager.NETWORK_TYPE_IWLAN
-                    == getVoiceNetworkTypeForSubscriber(subId, mApp.getPackageName())) {
-                return "";
-            }
             Phone phone = PhoneFactory.getPhone(phoneId);
-            if (phone != null) {
-                ServiceStateTracker sst = phone.getServiceStateTracker();
-                EmergencyNumberTracker emergencyNumberTracker = phone.getEmergencyNumberTracker();
-                if (sst != null) {
-                    LocaleTracker lt = sst.getLocaleTracker();
-                    if (lt != null) {
-                        if (!TextUtils.isEmpty(lt.getCurrentCountry())) {
-                            return lt.getCurrentCountry();
-                        } else if (emergencyNumberTracker != null) {
-                            return emergencyNumberTracker.getEmergencyCountryIso();
-                        }
-                    }
-                }
-            }
-            return "";
+            if (phone == null) return "";
+            ServiceStateTracker sst = phone.getServiceStateTracker();
+            if (sst == null) return "";
+            LocaleTracker lt = sst.getLocaleTracker();
+            if (lt == null) return "";
+            if (!TextUtils.isEmpty(lt.getCurrentCountry())) return lt.getCurrentCountry();
+            EmergencyNumberTracker ent = phone.getEmergencyNumberTracker();
+            return (ent == null) ? "" : ent.getEmergencyCountryIso();
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -2072,7 +2381,7 @@
     private int getTargetSdk(String packageName) {
         try {
             final ApplicationInfo ai = mApp.getPackageManager().getApplicationInfoAsUser(
-                    packageName, 0, UserHandle.getUserId(Binder.getCallingUid()));
+                    packageName, 0, UserHandle.getUserHandleForUid(Binder.getCallingUid()));
             if (ai != null) return ai.targetSdkVersion;
         } catch (PackageManager.NameNotFoundException unexpected) {
             loge("Failed to get package info for pkg="
@@ -2083,21 +2392,22 @@
 
     @Override
     @SuppressWarnings("unchecked")
-    public List<NeighboringCellInfo> getNeighboringCellInfo(String callingPackage) {
+    public List<NeighboringCellInfo> getNeighboringCellInfo(String callingPackage,
+            String callingFeatureId) {
         final int targetSdk = getTargetSdk(callingPackage);
         if (targetSdk >= android.os.Build.VERSION_CODES.Q) {
             throw new SecurityException(
                     "getNeighboringCellInfo() is unavailable to callers targeting Q+ SDK levels.");
         }
 
-        if (mAppOps.noteOp(AppOpsManager.OP_NEIGHBORING_CELLS, Binder.getCallingUid(),
+        if (mAppOps.noteOp(AppOpsManager.OPSTR_NEIGHBORING_CELLS, Binder.getCallingUid(),
                 callingPackage) != AppOpsManager.MODE_ALLOWED) {
             return null;
         }
 
         if (DBG_LOC) log("getNeighboringCellInfo: is active user");
 
-        List<CellInfo> info = getAllCellInfo(callingPackage);
+        List<CellInfo> info = getAllCellInfo(callingPackage, callingFeatureId);
         if (info == null) return null;
 
         List<NeighboringCellInfo> neighbors = new ArrayList<NeighboringCellInfo>();
@@ -2121,7 +2431,7 @@
     }
 
     @Override
-    public List<CellInfo> getAllCellInfo(String callingPackage) {
+    public List<CellInfo> getAllCellInfo(String callingPackage, String callingFeatureId) {
         mApp.getSystemService(AppOpsManager.class)
                 .checkPackage(Binder.getCallingUid(), callingPackage);
 
@@ -2129,6 +2439,7 @@
                 LocationAccessPolicy.checkLocationPermission(mApp,
                         new LocationAccessPolicy.LocationPermissionQuery.Builder()
                                 .setCallingPackage(callingPackage)
+                                .setCallingFeatureId(callingFeatureId)
                                 .setCallingPid(Binder.getCallingPid())
                                 .setCallingUid(Binder.getCallingUid())
                                 .setMethod("getAllCellInfo")
@@ -2164,20 +2475,21 @@
     }
 
     @Override
-    public void requestCellInfoUpdate(int subId, ICellInfoCallback cb, String callingPackage) {
-        requestCellInfoUpdateInternal(
-                subId, cb, callingPackage, getWorkSource(Binder.getCallingUid()));
+    public void requestCellInfoUpdate(int subId, ICellInfoCallback cb, String callingPackage,
+            String callingFeatureId) {
+        requestCellInfoUpdateInternal(subId, cb, callingPackage, callingFeatureId,
+                getWorkSource(Binder.getCallingUid()));
     }
 
     @Override
-    public void requestCellInfoUpdateWithWorkSource(
-            int subId, ICellInfoCallback cb, String callingPackage, WorkSource workSource) {
+    public void requestCellInfoUpdateWithWorkSource(int subId, ICellInfoCallback cb,
+            String callingPackage, String callingFeatureId, WorkSource workSource) {
         enforceModifyPermission();
-        requestCellInfoUpdateInternal(subId, cb, callingPackage, workSource);
+        requestCellInfoUpdateInternal(subId, cb, callingPackage, callingFeatureId, workSource);
     }
 
-    private void requestCellInfoUpdateInternal(
-            int subId, ICellInfoCallback cb, String callingPackage, WorkSource workSource) {
+    private void requestCellInfoUpdateInternal(int subId, ICellInfoCallback cb,
+            String callingPackage, String callingFeatureId, WorkSource workSource) {
         mApp.getSystemService(AppOpsManager.class)
                 .checkPackage(Binder.getCallingUid(), callingPackage);
 
@@ -2185,6 +2497,7 @@
                 LocationAccessPolicy.checkLocationPermission(mApp,
                         new LocationAccessPolicy.LocationPermissionQuery.Builder()
                                 .setCallingPackage(callingPackage)
+                                .setCallingFeatureId(callingFeatureId)
                                 .setCallingPid(Binder.getCallingPid())
                                 .setCallingUid(Binder.getCallingUid())
                                 .setMethod("requestCellInfoUpdate")
@@ -2232,14 +2545,14 @@
     }
 
     @Override
-    public String getImeiForSlot(int slotIndex, String callingPackage) {
+    public String getImeiForSlot(int slotIndex, String callingPackage, String callingFeatureId) {
         Phone phone = PhoneFactory.getPhone(slotIndex);
         if (phone == null) {
             return null;
         }
         int subId = phone.getSubId();
         if (!TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(mApp, subId,
-                callingPackage, "getImeiForSlot")) {
+                callingPackage, callingFeatureId, "getImeiForSlot")) {
             return null;
         }
 
@@ -2263,7 +2576,7 @@
     }
 
     @Override
-    public String getMeidForSlot(int slotIndex, String callingPackage) {
+    public String getMeidForSlot(int slotIndex, String callingPackage, String callingFeatureId) {
         Phone phone = PhoneFactory.getPhone(slotIndex);
         if (phone == null) {
             return null;
@@ -2271,7 +2584,7 @@
 
         int subId = phone.getSubId();
         if (!TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(mApp, subId,
-                callingPackage, "getMeidForSlot")) {
+                callingPackage, callingFeatureId, "getMeidForSlot")) {
             return null;
         }
 
@@ -2295,14 +2608,16 @@
     }
 
     @Override
-    public String getDeviceSoftwareVersionForSlot(int slotIndex, String callingPackage) {
+    public String getDeviceSoftwareVersionForSlot(int slotIndex, String callingPackage,
+            String callingFeatureId) {
         Phone phone = PhoneFactory.getPhone(slotIndex);
         if (phone == null) {
             return null;
         }
         int subId = phone.getSubId();
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getDeviceSoftwareVersionForSlot")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getDeviceSoftwareVersionForSlot")) {
             return null;
         }
 
@@ -2390,6 +2705,22 @@
     }
 
     /**
+     * Make sure the caller is system.
+     *
+     * @throws SecurityException if the caller is not system.
+     */
+    private 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);
+    }
+
+    /**
      * Make sure the caller has the CALL_PHONE permission.
      *
      * @throws SecurityException if the caller does not have the required permission
@@ -2398,9 +2729,8 @@
         mApp.enforceCallingOrSelfPermission(android.Manifest.permission.CALL_PHONE, null);
     }
 
-    private void enforceConnectivityInternalPermission() {
-        mApp.enforceCallingOrSelfPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL,
-                "ConnectivityService");
+    private void enforceSettingsPermission() {
+        mApp.enforceCallingOrSelfPermission(android.Manifest.permission.NETWORK_SETTINGS, null);
     }
 
     private String createTelUrl(String number) {
@@ -2447,14 +2777,17 @@
      * Returns the CDMA ERI icon index to display
      */
     @Override
-    public int getCdmaEriIconIndex(String callingPackage) {
-        return getCdmaEriIconIndexForSubscriber(getDefaultSubscription(), callingPackage);
+    public int getCdmaEriIconIndex(String callingPackage, String callingFeatureId) {
+        return getCdmaEriIconIndexForSubscriber(getDefaultSubscription(), callingPackage,
+                callingFeatureId);
     }
 
     @Override
-    public int getCdmaEriIconIndexForSubscriber(int subId, String callingPackage) {
+    public int getCdmaEriIconIndexForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getCdmaEriIconIndexForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getCdmaEriIconIndexForSubscriber")) {
             return -1;
         }
 
@@ -2477,14 +2810,17 @@
      * 1 - FLASHING
      */
     @Override
-    public int getCdmaEriIconMode(String callingPackage) {
-        return getCdmaEriIconModeForSubscriber(getDefaultSubscription(), callingPackage);
+    public int getCdmaEriIconMode(String callingPackage, String callingFeatureId) {
+        return getCdmaEriIconModeForSubscriber(getDefaultSubscription(), callingPackage,
+                callingFeatureId);
     }
 
     @Override
-    public int getCdmaEriIconModeForSubscriber(int subId, String callingPackage) {
+    public int getCdmaEriIconModeForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getCdmaEriIconModeForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getCdmaEriIconModeForSubscriber")) {
             return -1;
         }
 
@@ -2505,14 +2841,17 @@
      * Returns the CDMA ERI text,
      */
     @Override
-    public String getCdmaEriText(String callingPackage) {
-        return getCdmaEriTextForSubscriber(getDefaultSubscription(), callingPackage);
+    public String getCdmaEriText(String callingPackage, String callingFeatureId) {
+        return getCdmaEriTextForSubscriber(getDefaultSubscription(), callingPackage,
+                callingFeatureId);
     }
 
     @Override
-    public String getCdmaEriTextForSubscriber(int subId, String callingPackage) {
+    public String getCdmaEriTextForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getCdmaEriIconTextForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getCdmaEriIconTextForSubscriber")) {
             return null;
         }
 
@@ -2613,7 +2952,8 @@
      */
     @Override
     public boolean setVoiceMailNumber(int subId, String alphaTag, String number) {
-        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(subId, "setVoiceMailNumber");
+        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(
+                mApp, subId, "setVoiceMailNumber");
 
         final long identity = Binder.clearCallingIdentity();
         try {
@@ -2628,7 +2968,8 @@
     @Override
     public Bundle getVisualVoicemailSettings(String callingPackage, int subId) {
         mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
-        String systemDialer = TelecomManager.from(mApp).getSystemDialerPackage();
+        TelecomManager tm = mApp.getSystemService(TelecomManager.class);
+        String systemDialer = tm.getSystemDialerPackage();
         if (!TextUtils.equals(callingPackage, systemDialer)) {
             throw new SecurityException("caller must be system dialer");
         }
@@ -2646,10 +2987,12 @@
     }
 
     @Override
-    public String getVisualVoicemailPackageName(String callingPackage, int subId) {
+    public String getVisualVoicemailPackageName(String callingPackage, String callingFeatureId,
+            int subId) {
         mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getVisualVoicemailPackageName")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getVisualVoicemailPackageName")) {
             return null;
         }
 
@@ -2716,14 +3059,15 @@
     }
 
     @Override
-    public void sendVisualVoicemailSmsForSubscriber(String callingPackage, int subId,
-            String number, int port, String text, PendingIntent sentIntent) {
+    public void sendVisualVoicemailSmsForSubscriber(String callingPackage,
+            String callingAttributionTag, int subId, String number, int port, String text,
+            PendingIntent sentIntent) {
         mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
         enforceVisualVoicemailPackage(callingPackage, subId);
         enforceSendSmsPermission();
         SmsController smsController = PhoneFactory.getSmsController();
-        smsController.sendVisualVoicemailSmsForSubscriber(callingPackage, subId, number, port, text,
-                sentIntent);
+        smsController.sendVisualVoicemailSmsForSubscriber(callingPackage, callingAttributionTag,
+                subId, number, port, text, sentIntent);
     }
 
     /**
@@ -2761,7 +3105,7 @@
             if (phone != null) {
                 phone.setDataActivationState(activationState);
             } else {
-                loge("setVoiceActivationState fails with invalid subId: " + subId);
+                loge("setDataActivationState fails with invalid subId: " + subId);
             }
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -2812,9 +3156,11 @@
      * Returns the unread count of voicemails for a subId
      */
     @Override
-    public int getVoiceMessageCountForSubscriber(int subId, String callingPackage) {
+    public int getVoiceMessageCountForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getVoiceMessageCountForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getVoiceMessageCountForSubscriber")) {
             return 0;
         }
         final long identity = Binder.clearCallingIdentity();
@@ -2854,10 +3200,10 @@
     public void sendDialerSpecialCode(String callingPackage, String inputCode) {
         final Phone defaultPhone = getDefaultPhone();
         mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
-        String defaultDialer = TelecomManager.from(defaultPhone.getContext())
-                .getDefaultDialerPackage();
+        TelecomManager tm = defaultPhone.getContext().getSystemService(TelecomManager.class);
+        String defaultDialer = tm.getDefaultDialerPackage();
         if (!TextUtils.equals(callingPackage, defaultDialer)) {
-            TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(
+            TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(mApp,
                     getDefaultSubscription(), "sendDialerSpecialCode");
         }
 
@@ -2871,11 +3217,18 @@
 
     @Override
     public int getNetworkSelectionMode(int subId) {
-        if (!isActiveSubscription(subId)) {
-            return TelephonyManager.NETWORK_SELECTION_MODE_UNKNOWN;
+        TelephonyPermissions
+                    .enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                    mApp, subId, "getNetworkSelectionMode");
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            if (!isActiveSubscription(subId)) {
+                return TelephonyManager.NETWORK_SELECTION_MODE_UNKNOWN;
+            }
+            return (int) sendRequest(CMD_GET_NETWORK_SELECTION_MODE, null /* argument */, subId);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
         }
-
-        return (int) sendRequest(CMD_GET_NETWORK_SELECTION_MODE, null /* argument */, subId);
     }
 
     @Override
@@ -2894,73 +3247,181 @@
         return false;
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     * @param c The callback that will be used to send the result.
+     */
     @Override
     public void registerImsRegistrationCallback(int subId, IImsRegistrationCallback c)
             throws RemoteException {
-        enforceReadPrivilegedPermission("registerImsRegistrationCallback");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "registerImsRegistrationCallback");
+
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
         final long token = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
                     .addRegistrationCallbackForSubscription(c, subId);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(token);
         }
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     * @param c The callback that will be used to send the result.
+     */
     @Override
     public void unregisterImsRegistrationCallback(int subId, IImsRegistrationCallback c) {
-        enforceReadPrivilegedPermission("unregisterImsRegistrationCallback");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "unregisterImsRegistrationCallback");
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             throw new IllegalArgumentException("Invalid Subscription ID: " + subId);
         }
-        Binder.withCleanCallingIdentity(() -> {
-            try {
-                // TODO: Refactor to remove ImsManager dependence and query through ImsPhone.
-                ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
-                        .removeRegistrationCallbackForSubscription(c, subId);
-            } catch (IllegalArgumentException e) {
-                Log.i(LOG_TAG, "unregisterImsRegistrationCallback: " + subId
-                        + "is inactive, ignoring unregister.");
-                // If the subscription is no longer active, just return, since the callback
-                // will already have been removed internally.
-            }
-        });
+        final long token = Binder.clearCallingIdentity();
+        try {
+            // TODO: Refactor to remove ImsManager dependence and query through ImsPhone.
+            ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
+                    .removeRegistrationCallbackForSubscription(c, subId);
+        } catch (ImsException e) {
+            Log.i(LOG_TAG, "unregisterImsRegistrationCallback: " + subId
+                    + "is inactive, ignoring unregister.");
+            // If the subscription is no longer active, just return, since the callback
+            // will already have been removed internally.
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
     }
 
+    /**
+     * Get the IMS service registration state for the MmTelFeature associated with this sub id.
+     */
+    @Override
+    public void getImsMmTelRegistrationState(int subId, IIntegerConsumer consumer) {
+        enforceReadPrivilegedPermission("getImsMmTelRegistrationState");
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
+        final long token = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subId);
+            if (phone == null) {
+                Log.w(LOG_TAG, "getImsMmTelRegistrationState: called with an invalid subscription '"
+                        + subId + "'");
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION);
+            }
+            phone.getImsRegistrationState(regState -> {
+                try {
+                    consumer.accept((regState == null)
+                            ? RegistrationManager.REGISTRATION_STATE_NOT_REGISTERED : regState);
+                } catch (RemoteException e) {
+                    // Ignore if the remote process is no longer available to call back.
+                    Log.w(LOG_TAG, "getImsMmTelRegistrationState: callback not available.");
+                }
+            });
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Get the transport type for the IMS service registration state.
+     */
+    @Override
+    public void getImsMmTelRegistrationTransportType(int subId, IIntegerConsumer consumer) {
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "getImsMmTelRegistrationTransportType");
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
+        final long token = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subId);
+            if (phone == null) {
+                Log.w(LOG_TAG, "getImsMmTelRegistrationState: called with an invalid subscription '"
+                        + subId + "'");
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION);
+            }
+            phone.getImsRegistrationTech(regTech -> {
+                // Convert registration tech from ImsRegistrationImplBase -> RegistrationManager
+                int regTechConverted = (regTech == null)
+                        ? ImsRegistrationImplBase.REGISTRATION_TECH_NONE : regTech;
+                regTechConverted = RegistrationManager.IMS_REG_TO_ACCESS_TYPE_MAP.get(
+                        regTechConverted);
+                try {
+                    consumer.accept(regTechConverted);
+                } catch (RemoteException e) {
+                    // Ignore if the remote process is no longer available to call back.
+                    Log.w(LOG_TAG, "getImsMmTelRegistrationState: callback not available.");
+                }
+            });
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     * @param c The callback that will be used to send the result.
+     */
     @Override
     public void registerMmTelCapabilityCallback(int subId, IImsCapabilityCallback c)
             throws RemoteException {
-        enforceReadPrivilegedPermission("registerMmTelCapabilityCallback");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "registerMmTelCapabilityCallback");
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
         // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
         final long token = Binder.clearCallingIdentity();
         try {
             ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
                     .addCapabilitiesCallbackForSubscription(c, subId);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(token);
         }
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     * @param c The callback that will be used to send the result.
+     */
     @Override
     public void unregisterMmTelCapabilityCallback(int subId, IImsCapabilityCallback c) {
-        enforceReadPrivilegedPermission("unregisterMmTelCapabilityCallback");
-
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "unregisterMmTelCapabilityCallback");
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             throw new IllegalArgumentException("Invalid Subscription ID: " + subId);
         }
-        Binder.withCleanCallingIdentity(() -> {
-            try {
-                // TODO: Refactor to remove ImsManager dependence and query through ImsPhone.
-                ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
+
+        final long token = Binder.clearCallingIdentity();
+        try {
+            // TODO: Refactor to remove ImsManager dependence and query through ImsPhone.
+            ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
                         .removeCapabilitiesCallbackForSubscription(c, subId);
-            } catch (IllegalArgumentException e) {
-                Log.i(LOG_TAG, "unregisterMmTelCapabilityCallback: " + subId
-                        + "is inactive, ignoring unregister.");
-                // If the subscription is no longer active, just return, since the callback
-                // will already have been removed internally.
-            }
-        });
+        } catch (ImsException e) {
+            Log.i(LOG_TAG, "unregisterMmTelCapabilityCallback: " + subId
+                     + "is inactive, ignoring unregister.");
+             // If the subscription is no longer active, just return, since the callback
+             // will already have been removed internally.
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
     }
 
     @Override
@@ -2971,10 +3432,10 @@
         try {
             return ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).queryMmTelCapability(capability, regTech);
-        } catch (ImsException e) {
+        } catch (com.android.ims.ImsException e) {
             Log.w(LOG_TAG, "IMS isCapable - service unavailable: " + e.getMessage());
             return false;
-        } catch (IllegalArgumentException e) {
+        } catch (ImsException e) {
             Log.i(LOG_TAG, "isCapable: " + subId + " is inactive, returning false.");
             return false;
         } finally {
@@ -2990,19 +3451,68 @@
             Phone phone = getPhone(subId);
             if (phone == null) return false;
             return phone.isImsCapabilityAvailable(capability, regTech);
+        } catch (com.android.ims.ImsException e) {
+            Log.w(LOG_TAG, "IMS isAvailable - service unavailable: " + e.getMessage());
+            return false;
         } finally {
             Binder.restoreCallingIdentity(token);
         }
     }
 
+    /**
+     * Determines if the MmTel feature capability is supported by the carrier configuration for this
+     * subscription.
+     * @param subId The subscription to use to check the configuration.
+     * @param callback The callback that will be used to send the result.
+     * @param capability The MmTelFeature capability that will be used to send the result.
+     * @param transportType The transport type of the MmTelFeature capability.
+     */
+    @Override
+    public void isMmTelCapabilitySupported(int subId, IIntegerConsumer callback, int capability,
+            int transportType) {
+        enforceReadPrivilegedPermission("isMmTelCapabilitySupported");
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
+        final long token = Binder.clearCallingIdentity();
+        try {
+            int slotId = getSlotIndex(subId);
+            if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                Log.w(LOG_TAG, "isMmTelCapabilitySupported: called with an inactive subscription '"
+                        + subId + "'");
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION);
+            }
+            ImsManager.getInstance(mApp, slotId).isSupported(capability,
+                    transportType, aBoolean -> {
+                        try {
+                            callback.accept((aBoolean == null) ? 0 : (aBoolean ? 1 : 0));
+                        } catch (RemoteException e) {
+                            Log.w(LOG_TAG, "isMmTelCapabilitySupported: remote caller is not "
+                                    + "running. Ignore");
+                        }
+                    });
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     */
     @Override
     public boolean isAdvancedCallingSettingEnabled(int subId) {
-        enforceReadPrivilegedPermission("enforceReadPrivilegedPermission");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "isAdvancedCallingSettingEnabled");
+
         // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
         final long token = Binder.clearCallingIdentity();
         try {
             return ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).isEnhanced4gLteModeSettingEnabledByUser();
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(token);
         }
@@ -3017,19 +3527,27 @@
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).setEnhanced4gLteModeSetting(isEnabled);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     */
     @Override
     public boolean isVtSettingEnabled(int subId) {
-        enforceReadPrivilegedPermission("isVtSettingEnabled");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "isVtSettingEnabled");
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            return ImsManager.getInstance(mApp,
-                    getSlotIndexOrException(subId)).isVtEnabledByUser();
+            return ImsManager.getInstance(mApp, getSlotIndexOrException(subId)).isVtEnabledByUser();
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3043,19 +3561,28 @@
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp, getSlotIndexOrException(subId)).setVtSetting(isEnabled);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     */
     @Override
     public boolean isVoWiFiSettingEnabled(int subId) {
-        enforceReadPrivilegedPermission("isVoWiFiSettingEnabled");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "isVoWiFiSettingEnabled");
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             return ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).isWfcEnabledByUser();
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3069,19 +3596,28 @@
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp, getSlotIndexOrException(subId)).setWfcSetting(isEnabled);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     */
     @Override
     public boolean isVoWiFiRoamingSettingEnabled(int subId) {
-        enforceReadPrivilegedPermission("isVoWiFiRoamingSettingEnabled");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "isVoWiFiRoamingSettingEnabled");
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             return ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).isWfcRoamingEnabledByUser();
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3096,6 +3632,8 @@
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).setWfcRoamingSetting(isEnabled);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3110,19 +3648,28 @@
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).setWfcNonPersistent(isCapable, mode);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     */
     @Override
     public int getVoWiFiModeSetting(int subId) {
-        enforceReadPrivilegedPermission("getVoWiFiModeSetting");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "getVoWiFiModeSetting");
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             return ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).getWfcMode(false /*isRoaming*/);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3137,6 +3684,8 @@
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).setWfcMode(mode, false /*isRoaming*/);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3150,6 +3699,8 @@
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             return ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).getWfcMode(true /*isRoaming*/);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3164,6 +3715,8 @@
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).setWfcMode(mode, true /*isRoaming*/);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3176,21 +3729,29 @@
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            ImsManager.getInstance(mApp,
-                    getSlotIndexOrException(subId)).setRttEnabled(isEnabled);
+            ImsManager.getInstance(mApp, getSlotIndexOrException(subId)).setRttEnabled(isEnabled);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
+    /**
+     * Requires carrier privileges or READ_PRECISE_PHONE_STATE permission.
+     * @param subId The subscription to use to check the configuration.
+     */
     @Override
     public boolean isTtyOverVolteEnabled(int subId) {
-        enforceReadPrivilegedPermission("isTtyOverVolteEnabled");
+        TelephonyPermissions.enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                mApp, subId, "isTtyOverVolteEnabled");
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             return ImsManager.getInstance(mApp,
                     getSlotIndexOrException(subId)).isTtyOnVoLteCapable();
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3201,9 +3762,15 @@
         enforceReadPrivilegedPermission("registerImsProvisioningChangedCallback");
         final long identity = Binder.clearCallingIdentity();
         try {
+            if (!isImsAvailableOnDevice()) {
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                        "IMS not available on device.");
+            }
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
                     .addProvisioningCallbackForSubscription(callback, subId);
+        } catch (ImsException e) {
+            throw new ServiceSpecificException(e.getCode());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -3220,7 +3787,7 @@
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
             ImsManager.getInstance(mApp, getSlotIndexOrException(subId))
                     .removeProvisioningCallbackForSubscription(callback, subId);
-        } catch (IllegalArgumentException e) {
+        } catch (ImsException e) {
             Log.i(LOG_TAG, "unregisterImsProvisioningChangedCallback: " + subId
                     + "is inactive, ignoring unregister.");
             // If the subscription is no longer active, just return, since the callback will already
@@ -3230,6 +3797,91 @@
         }
     }
 
+
+    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,
+            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)) {
+                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.");
+                }
+            }
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+
+    }
+
+
+    @Override
+    public boolean getRcsProvisioningStatusForCapability(int subId, int capability) {
+        enforceReadPrivilegedPermission("getRcsProvisioningStatusForCapability");
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
+            if (!isImsProvisioningRequired(subId, capability, false)) {
+                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.");
+                }
+            }
+
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
     @Override
     public void setImsProvisioningStatusForCapability(int subId, int capability, int tech,
             boolean isProvisioned) {
@@ -3237,18 +3889,11 @@
                 && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
             throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
         }
-        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mApp, subId,
-                "setProvisioningStatusForCapability");
+        checkModifyPhoneStatePermission(subId, "setImsProvisioningStatusForCapability");
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            Phone phone = getPhone(subId);
-            if (phone == null) {
-                loge("setImsProvisioningStatusForCapability: phone instance null for subid "
-                        + subId);
-                return;
-            }
-            if (!doesImsCapabilityRequireProvisioning(phone.getContext(), subId, capability)) {
+            if (!isImsProvisioningRequired(subId, capability, true)) {
                 return;
             }
 
@@ -3279,15 +3924,16 @@
                     cacheMmTelCapabilityProvisioning(subId, capability, tech, isProvisioned);
                     try {
                         ims.changeMmTelCapability(capability, tech, isProvisioned);
-                    } catch (ImsException e) {
+                    } 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 capability '"
-                            + capability + "', which does not require provisioning.");
+                    throw new IllegalArgumentException("Tried to set provisioning for "
+                            + "MmTel capability '" + capability + "', which does not require "
+                            + "provisioning. ");
                 }
             }
 
@@ -3306,16 +3952,7 @@
         final long identity = Binder.clearCallingIdentity();
         try {
             // TODO: Refactor to remove ImsManager dependence and query through ImsPhone directly.
-            Phone phone = getPhone(subId);
-            if (phone == null) {
-                loge("getImsProvisioningStatusForCapability: phone instance null for subid "
-                        + subId);
-                // We will fail with "true" as the provisioning status because this is the default
-                // if we do not require provisioning.
-                return true;
-            }
-
-            if (!doesImsCapabilityRequireProvisioning(phone.getContext(), subId, capability)) {
+            if (!isImsProvisioningRequired(subId, capability, true)) {
                 return true;
             }
 
@@ -3341,8 +3978,9 @@
                     return isMmTelCapabilityProvisionedInCache(subId, capability, tech);
                 }
                 default: {
-                    throw new IllegalArgumentException("Tried to get provisioning for capability '"
-                            + capability + "', which does not require provisioning.");
+                    throw new IllegalArgumentException(
+                            "Tried to get provisioning for MmTel capability '" + capability
+                                    + "', which does not require provisioning.");
                 }
             }
 
@@ -3423,10 +4061,7 @@
         CarrierConfigManager configManager = new CarrierConfigManager(context);
         PersistableBundle c = configManager.getConfigForSubId(subId);
         boolean requireUtProvisioning = c.getBoolean(
-                // By default, this config is true (even if there is no SIM). We also check to make
-                // sure the subscription needs provisioning here, so we do not need to check for
-                // the no-SIM case, where we would normally shortcut this to false.
-                CarrierConfigManager.KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL, true)
+                CarrierConfigManager.KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL, false)
                 && c.getBoolean(CarrierConfigManager.KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL,
                 false);
         boolean requireVoiceVtProvisioning = c.getBoolean(
@@ -3454,6 +4089,29 @@
         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
     public int getImsProvisioningInt(int subId, int key) {
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
@@ -3470,7 +4128,7 @@
                 return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
             }
             return ImsManager.getInstance(mApp, slotId).getConfigInterface().getConfigInt(key);
-        } catch (ImsException e) {
+        } catch (com.android.ims.ImsException e) {
             Log.w(LOG_TAG, "getImsProvisioningInt: ImsService is not available for subscription '"
                     + subId + "' for key:" + key);
             return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
@@ -3495,7 +4153,7 @@
                 return ProvisioningManager.STRING_QUERY_RESULT_ERROR_GENERIC;
             }
             return ImsManager.getInstance(mApp, slotId).getConfigInterface().getConfigString(key);
-        } catch (ImsException e) {
+        } catch (com.android.ims.ImsException e) {
             Log.w(LOG_TAG, "getImsProvisioningString: ImsService is not available for sub '"
                     + subId + "' for key:" + key);
             return ProvisioningManager.STRING_QUERY_RESULT_ERROR_NOT_READY;
@@ -3521,7 +4179,7 @@
                 return ImsConfigImplBase.CONFIG_RESULT_FAILED;
             }
             return ImsManager.getInstance(mApp, slotId).getConfigInterface().setConfig(key, value);
-        } catch (ImsException e) {
+        } catch (com.android.ims.ImsException e) {
             Log.w(LOG_TAG, "setImsProvisioningInt: ImsService unavailable for sub '" + subId
                     + "' for key:" + key);
             return ImsConfigImplBase.CONFIG_RESULT_FAILED;
@@ -3547,7 +4205,7 @@
                 return ImsConfigImplBase.CONFIG_RESULT_FAILED;
             }
             return ImsManager.getInstance(mApp, slotId).getConfigInterface().setConfig(key, value);
-        } catch (ImsException e) {
+        } catch (com.android.ims.ImsException e) {
             Log.w(LOG_TAG, "setImsProvisioningString: ImsService unavailable for sub '" + subId
                     + "' for key:" + key);
             return ImsConfigImplBase.CONFIG_RESULT_FAILED;
@@ -3556,10 +4214,11 @@
         }
     }
 
-    private int getSlotIndexOrException(int subId) throws IllegalArgumentException {
+    private int getSlotIndexOrException(int subId) throws ImsException {
         int slotId = SubscriptionManager.getSlotIndex(subId);
         if (!SubscriptionManager.isValidSlotIndex(slotId)) {
-            throw new IllegalArgumentException("Invalid Subscription Id, subId=" + subId);
+            throw new ImsException("Invalid Subscription Id, subId=" + subId,
+                    ImsException.CODE_ERROR_INVALID_SUBSCRIPTION);
         }
         return slotId;
     }
@@ -3576,10 +4235,15 @@
      * Returns the data network type for a subId; does not throw SecurityException.
      */
     @Override
-    public int getNetworkTypeForSubscriber(int subId, String callingPackage) {
-        if (getTargetSdk(callingPackage) >= android.os.Build.VERSION_CODES.Q
+    public int getNetworkTypeForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
+        final int targetSdk = getTargetSdk(callingPackage);
+        if (targetSdk > android.os.Build.VERSION_CODES.Q) {
+            return getDataNetworkTypeForSubscriber(subId, callingPackage, callingFeatureId);
+        } else if (targetSdk == android.os.Build.VERSION_CODES.Q
                 && !TelephonyPermissions.checkCallingOrSelfReadPhoneStateNoThrow(
-                        mApp, subId, callingPackage, "getNetworkTypeForSubscriber")) {
+                        mApp, subId, callingPackage, callingFeatureId,
+                "getNetworkTypeForSubscriber")) {
             return TelephonyManager.NETWORK_TYPE_UNKNOWN;
         }
 
@@ -3600,17 +4264,20 @@
      * Returns the data network type
      */
     @Override
-    public int getDataNetworkType(String callingPackage) {
-        return getDataNetworkTypeForSubscriber(getDefaultSubscription(), callingPackage);
+    public int getDataNetworkType(String callingPackage, String callingFeatureId) {
+        return getDataNetworkTypeForSubscriber(getDefaultSubscription(), callingPackage,
+                callingFeatureId);
     }
 
     /**
      * Returns the data network type for a subId
      */
     @Override
-    public int getDataNetworkTypeForSubscriber(int subId, String callingPackage) {
+    public int getDataNetworkTypeForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getDataNetworkTypeForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getDataNetworkTypeForSubscriber")) {
             return TelephonyManager.NETWORK_TYPE_UNKNOWN;
         }
 
@@ -3631,9 +4298,11 @@
      * Returns the Voice network type for a subId
      */
     @Override
-    public int getVoiceNetworkTypeForSubscriber(int subId, String callingPackage) {
+    public int getVoiceNetworkTypeForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getDataNetworkTypeForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getDataNetworkTypeForSubscriber")) {
             return TelephonyManager.NETWORK_TYPE_UNKNOWN;
         }
 
@@ -3687,14 +4356,17 @@
      * or {@link Phone#LTE_ON_CDMA_TRUE}
      */
     @Override
-    public int getLteOnCdmaMode(String callingPackage) {
-        return getLteOnCdmaModeForSubscriber(getDefaultSubscription(), callingPackage);
+    public int getLteOnCdmaMode(String callingPackage, String callingFeatureId) {
+        return getLteOnCdmaModeForSubscriber(getDefaultSubscription(), callingPackage,
+                callingFeatureId);
     }
 
     @Override
-    public int getLteOnCdmaModeForSubscriber(int subId, String callingPackage) {
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getLteOnCdmaModeForSubscriber")) {
+    public int getLteOnCdmaModeForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
+        try {
+            enforceReadPrivilegedPermission("getLteOnCdmaModeForSubscriber");
+        } catch (SecurityException e) {
             return PhoneConstants.LTE_ON_CDMA_UNKNOWN;
         }
 
@@ -4018,9 +4690,10 @@
      * Get the forbidden PLMN List from the given app type (ex APPTYPE_USIM)
      * on a particular subscription
      */
-    public String[] getForbiddenPlmns(int subId, int appType, String callingPackage) {
+    public String[] getForbiddenPlmns(int subId, int appType, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getForbiddenPlmns")) {
+                mApp, subId, callingPackage, callingFeatureId, "getForbiddenPlmns")) {
             return null;
         }
 
@@ -4036,7 +4709,7 @@
             if (response instanceof String[]) {
                 return (String[]) response;
             }
-            // Response is an Exception of some kind,
+            // Response is an Exception of some kind
             // which is signalled to the user as a NULL retval
             return null;
         } finally {
@@ -4044,6 +4717,48 @@
         }
     }
 
+    /**
+     * Set the forbidden PLMN list from the given app type (ex APPTYPE_USIM) on a particular
+     * subscription.
+     *
+     * @param subId the id of the subscription.
+     * @param appType the uicc app type, must be USIM or SIM.
+     * @param fplmns the Forbiden plmns list that needed to be written to the SIM.
+     * @param callingPackage the op Package name.
+     * @param callingFeatureId the feature in the package.
+     * @return number of fplmns that is successfully written to the SIM.
+     */
+    public int setForbiddenPlmns(int subId, int appType, List<String> fplmns, String callingPackage,
+            String callingFeatureId) {
+        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, subId, callingPackage,
+                callingFeatureId, "setForbiddenPlmns")) {
+            if (DBG) logv("no permissions for setForbiddenplmns");
+            throw new IllegalStateException("No Permissions for setForbiddenPlmns");
+        }
+        if (appType != TelephonyManager.APPTYPE_USIM && appType != TelephonyManager.APPTYPE_SIM) {
+            loge("setForbiddenPlmnList(): App Type must be USIM or SIM");
+            throw new IllegalArgumentException("Invalid appType: App Type must be USIM or SIM");
+        }
+        if (fplmns == null) {
+            throw new IllegalArgumentException("Fplmn List provided is null");
+        }
+        for (String fplmn : fplmns) {
+            if (!CellIdentity.isValidPlmn(fplmn)) {
+                throw new IllegalArgumentException("Invalid fplmn provided: " + fplmn);
+            }
+        }
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            Object response = sendRequest(
+                    CMD_SET_FORBIDDEN_PLMNS,
+                    new Pair<Integer, List<String>>(new Integer(appType), fplmns),
+                    subId);
+            return (int) response;
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
     @Override
     public String sendEnvelopeWithStatus(int subId, String content) {
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
@@ -4192,10 +4907,11 @@
         return false;
     }
 
-    public String[] getPcscfAddress(String apnType, String callingPackage) {
+    public String[] getPcscfAddress(String apnType, String callingPackage,
+            String callingFeatureId) {
         final Phone defaultPhone = getDefaultPhone();
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, defaultPhone.getSubId(), callingPackage, "getPcscfAddress")) {
+        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, defaultPhone.getSubId(),
+                callingPackage, callingFeatureId, "getPcscfAddress")) {
             return new String[0];
         }
 
@@ -4208,6 +4924,27 @@
     }
 
     /**
+     * Toggle IMS disable and enable for the framework to reset it. See {@link #enableIms(int)} and
+     * {@link #disableIms(int)}.
+     * @param slotIndex device slot.
+     */
+    public void resetIms(int slotIndex) {
+        enforceModifyPermission();
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            if (mImsResolver == null) {
+                // may happen if the does not support IMS.
+                return;
+            }
+            mImsResolver.disableIms(slotIndex);
+            mImsResolver.enableIms(slotIndex);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
      * Enables IMS for the framework. This will trigger IMS registration and ImsFeature capability
      * status updates, if not already enabled.
      */
@@ -4216,12 +4953,11 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return;
             }
-            resolver.enableIms(slotId);
+            mImsResolver.enableIms(slotId);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4236,12 +4972,11 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return;
             }
-            resolver.disableIms(slotId);
+            mImsResolver.disableIms(slotId);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4258,12 +4993,11 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return null;
             }
-            return resolver.getMmTelFeatureAndListen(slotId, callback);
+            return mImsResolver.getMmTelFeatureAndListen(slotId, callback);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4280,12 +5014,27 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return null;
             }
-            return resolver.getRcsFeatureAndListen(slotId, callback);
+            return mImsResolver.getRcsFeatureAndListen(slotId, callback);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Unregister a previously registered IImsServiceFeatureCallback associated with an ImsFeature.
+     */
+    public void unregisterImsFeatureCallback(int slotId, int featureType,
+            IImsServiceFeatureCallback callback) {
+        enforceModifyPermission();
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            if (mImsResolver == null) return;
+            mImsResolver.unregisterImsFeatureCallback(slotId, featureType, callback);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4300,12 +5049,11 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return null;
             }
-            return resolver.getImsRegistration(slotId, feature);
+            return mImsResolver.getImsRegistration(slotId, feature);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4320,12 +5068,11 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return null;
             }
-            return resolver.getImsConfig(slotId, feature);
+            return mImsResolver.getImsConfig(slotId, feature);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4334,61 +5081,104 @@
     /**
      * Sets the ImsService Package Name that Telephony will bind to.
      *
-     * @param slotId the slot ID that the ImsService should bind for.
-     * @param isCarrierImsService true if the ImsService is the carrier override, false if the
+     * @param slotIndex the slot ID that the ImsService should bind for.
+     * @param isCarrierService true if the ImsService is the carrier override, false if the
      *         ImsService is the device default ImsService.
-     * @param packageName The package name of the application that contains the ImsService to bind
-     *         to.
+     * @param featureTypes An integer array of feature types associated with a packageName.
+     * @param packageName The name of the package that the current configuration will be replaced
+     *                    with.
      * @return true if setting the ImsService to bind to succeeded, false if it did not.
-     * @hide
      */
-    public boolean setImsService(int slotId, boolean isCarrierImsService, String packageName) {
-        int[] subIds = SubscriptionManager.getSubId(slotId);
+    public boolean setBoundImsServiceOverride(int slotIndex, boolean isCarrierService,
+            int[] featureTypes, String packageName) {
+        int[] subIds = SubscriptionManager.getSubId(slotIndex);
+        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "setBoundImsServiceOverride");
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mApp,
                 (subIds != null ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID),
-                "setImsService");
+                "setBoundImsServiceOverride");
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return false;
             }
-            return resolver.overrideImsServiceConfiguration(slotId, isCarrierImsService,
-                    packageName);
+            Map<Integer, String> featureConfig = new HashMap<>();
+            for (int featureType : featureTypes) {
+                featureConfig.put(featureType, packageName);
+            }
+            return mImsResolver.overrideImsServiceConfiguration(slotIndex, isCarrierService,
+                    featureConfig);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
     /**
-     * Return the ImsService configuration.
+     * Return the package name of the currently bound ImsService.
      *
      * @param slotId The slot that the ImsService is associated with.
      * @param isCarrierImsService true, if the ImsService is a carrier override, false if it is
      *         the device default.
+     * @param featureType The feature associated with the queried configuration.
      * @return the package name of the ImsService configuration.
      */
-    public String getImsService(int slotId, boolean isCarrierImsService) {
+    public String getBoundImsServicePackage(int slotId, boolean isCarrierImsService,
+            @ImsFeature.FeatureType int featureType) {
         int[] subIds = SubscriptionManager.getSubId(slotId);
-        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(mApp,
-                (subIds != null ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID),
-                "getImsService");
+        TelephonyPermissions
+                .enforeceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
+                mApp, (subIds != null ? subIds[0] : SubscriptionManager.INVALID_SUBSCRIPTION_ID),
+                "getBoundImsServicePackage");
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsResolver resolver = PhoneFactory.getImsResolver();
-            if (resolver == null) {
+            if (mImsResolver == null) {
                 // may happen if the device does not support IMS.
                 return "";
             }
-            return resolver.getImsServiceConfiguration(slotId, isCarrierImsService);
+            // TODO: change API to query RCS separately.
+            return mImsResolver.getImsServiceConfiguration(slotId, isCarrierImsService,
+                    featureType);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
+    /**
+     * Get the MmTelFeature state associated with the requested subscription id.
+     * @param subId The subscription that the MmTelFeature is associated with.
+     * @param callback A callback with an integer containing the
+     * {@link android.telephony.ims.feature.ImsFeature.ImsState} associated with the MmTelFeature.
+     */
+    @Override
+    public void getImsMmTelFeatureState(int subId, IIntegerConsumer callback) {
+        enforceReadPrivilegedPermission("getImsMmTelFeatureState");
+        if (!ImsManager.isImsSupportedOnDevice(mApp)) {
+            throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                    "IMS not available on device.");
+        }
+        final long token = Binder.clearCallingIdentity();
+        try {
+            int slotId = getSlotIndex(subId);
+            if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                Log.w(LOG_TAG, "getImsMmTelFeatureState: called with an inactive subscription '"
+                        + subId + "'");
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION);
+            }
+            ImsManager.getInstance(mApp, slotId).getImsServiceState(anInteger -> {
+                try {
+                    callback.accept(anInteger == null ? ImsFeature.STATE_UNAVAILABLE : anInteger);
+                } catch (RemoteException e) {
+                    Log.w(LOG_TAG, "getImsMmTelFeatureState: remote caller is no longer running. "
+                            + "Ignore");
+                }
+            });
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
     public void setImsRegistrationState(boolean registered) {
         enforceModifyPermission();
 
@@ -4409,12 +5199,11 @@
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
                 mApp, subId, "setNetworkSelectionModeAutomatic");
 
-        if (!isActiveSubscription(subId)) {
-            return;
-        }
-
         final long identity = Binder.clearCallingIdentity();
         try {
+            if (!isActiveSubscription(subId)) {
+                return;
+            }
             if (DBG) log("setNetworkSelectionModeAutomatic: subId " + subId);
             sendRequest(CMD_SET_NETWORK_SELECTION_MODE_AUTOMATIC, null, subId);
         } finally {
@@ -4456,18 +5245,50 @@
             Binder.restoreCallingIdentity(identity);
         }
     }
+     /**
+     * Get the manual network selection
+     *
+     * @param subId the id of the subscription.
+     *
+     * @return the previously saved user selected PLMN
+     */
+    @Override
+    public String getManualNetworkSelectionPlmn(int subId) {
+        TelephonyPermissions
+                    .enforeceCallingOrSelfReadPrecisePhoneStatePermissionOrCarrierPrivilege(
+                    mApp, subId, "getManualNetworkSelectionPlmn");
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            if (!isActiveSubscription(subId)) {
+                return "";
+            }
+
+            final Phone phone = getPhone(subId);
+            if (phone == null) {
+                return "";
+            }
+            OperatorInfo networkSelection = phone.getSavedNetworkSelection();
+            return TextUtils.isEmpty(networkSelection.getOperatorNumeric())
+                ? phone.getManualNetworkSelectionPlmn() : networkSelection.getOperatorNumeric();
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
 
     /**
      * Scans for available networks.
      */
     @Override
-    public CellNetworkScanResult getCellNetworkScanResults(int subId, String callingPackage) {
+    public CellNetworkScanResult getCellNetworkScanResults(int subId, String callingPackage,
+            String callingFeatureId) {
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
                 mApp, subId, "getCellNetworkScanResults");
         LocationAccessPolicy.LocationPermissionResult locationResult =
                 LocationAccessPolicy.checkLocationPermission(mApp,
                         new LocationAccessPolicy.LocationPermissionQuery.Builder()
                                 .setCallingPackage(callingPackage)
+                                .setCallingFeatureId(callingFeatureId)
                                 .setCallingPid(Binder.getCallingPid())
                                 .setCallingUid(Binder.getCallingUid())
                                 .setMethod("getCellNetworkScanResults")
@@ -4491,6 +5312,75 @@
     }
 
     /**
+     * Get the call forwarding info, given the call forwarding reason.
+     */
+    @Override
+    public CallForwardingInfo getCallForwarding(int subId, int callForwardingReason) {
+        enforceReadPrivilegedPermission("getCallForwarding");
+        long identity = Binder.clearCallingIdentity();
+        try {
+            if (DBG) {
+                log("getCallForwarding: subId " + subId
+                        + " callForwardingReason" + callForwardingReason);
+            }
+            return (CallForwardingInfo) sendRequest(
+                    CMD_GET_CALL_FORWARDING, callForwardingReason, subId);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Sets the voice call forwarding info including status (enable/disable), call forwarding
+     * reason, the number to forward, and the timeout before the forwarding is attempted.
+     */
+    @Override
+    public boolean setCallForwarding(int subId, CallForwardingInfo callForwardingInfo) {
+        enforceModifyPermission();
+        long identity = Binder.clearCallingIdentity();
+        try {
+            if (DBG) {
+                log("setCallForwarding: subId " + subId
+                        + " callForwardingInfo" + callForwardingInfo);
+            }
+            return (Boolean) sendRequest(CMD_SET_CALL_FORWARDING, callForwardingInfo, subId);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Get the call forwarding info, given the call forwarding reason.
+     */
+    @Override
+    public int getCallWaitingStatus(int subId) {
+        enforceReadPrivilegedPermission("getCallForwarding");
+        long identity = Binder.clearCallingIdentity();
+        try {
+            if (DBG) log("getCallWaitingStatus: subId " + subId);
+            return (Integer) sendRequest(CMD_GET_CALL_WAITING, null, subId);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Sets the voice call forwarding info including status (enable/disable), call forwarding
+     * reason, the number to forward, and the timeout before the forwarding is attempted.
+     */
+    @Override
+    public boolean setCallWaitingStatus(int subId, boolean isEnable) {
+        enforceModifyPermission();
+        long identity = Binder.clearCallingIdentity();
+        try {
+            if (DBG) log("setCallWaitingStatus: subId " + subId + " isEnable: " + isEnable);
+            return (Boolean) sendRequest(CMD_SET_CALL_WAITING, isEnable, subId);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
      * Starts a new network scan and returns the id of this scan.
      *
      * @param subId id of the subscription
@@ -4501,13 +5391,14 @@
      */
     @Override
     public int requestNetworkScan(int subId, NetworkScanRequest request, Messenger messenger,
-            IBinder binder, String callingPackage) {
+            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")
@@ -4588,10 +5479,10 @@
      * @return the preferred network type, defined in RILConstants.java.
      */
     @Override
-    public int getCalculatedPreferredNetworkType(String callingPackage) {
+    public int getCalculatedPreferredNetworkType(String callingPackage, String callingFeatureId) {
         final Phone defaultPhone = getDefaultPhone();
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, defaultPhone.getSubId(),
-                callingPackage, "getCalculatedPreferredNetworkType")) {
+                callingPackage, callingFeatureId, "getCalculatedPreferredNetworkType")) {
             return RILConstants.PREFERRED_NETWORK_MODE;
         }
 
@@ -4630,7 +5521,6 @@
 
     /**
      * Set the preferred network type.
-     * Used for device configuration by some CDMA operators.
      *
      * @param networkType the preferred network type, defined in RILConstants.java.
      * @return true on success; false on any failure.
@@ -4642,14 +5532,12 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            if (DBG) log("setPreferredNetworkType: subId " + subId + " type " + networkType);
+            Settings.Global.putInt(mApp.getContentResolver(),
+                    Settings.Global.PREFERRED_NETWORK_MODE + subId, networkType);
+
             Boolean success = (Boolean) sendRequest(
                     CMD_SET_PREFERRED_NETWORK_TYPE, networkType, subId);
             if (DBG) log("setPreferredNetworkType: " + (success ? "ok" : "fail"));
-            if (success) {
-                Settings.Global.putInt(mApp.getContentResolver(),
-                        Settings.Global.PREFERRED_NETWORK_MODE + subId, networkType);
-            }
             return success;
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -4657,6 +5545,49 @@
     }
 
     /**
+     * Get the allowed network types that store in the telephony provider.
+     *
+     * @param subId the id of the subscription.
+     * @return allowedNetworkTypes the allowed network types.
+     */
+    @Override
+    public long getAllowedNetworkTypes(int subId) {
+        TelephonyPermissions
+                .enforeceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
+                    mApp, subId, "getAllowedNetworkTypes");
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            return SubscriptionManager.getLongSubscriptionProperty(
+                    subId, SubscriptionManager.ALLOWED_NETWORK_TYPES, -1, mApp);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Set the allowed network types.
+     *
+     * @param subId the id of the subscription.
+     * @param allowedNetworkTypes the allowed network types.
+     * @return true on success; false on any failure.
+     */
+    @Override
+    public boolean setAllowedNetworkTypes(int subId, long allowedNetworkTypes) {
+        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
+                mApp, subId, "setAllowedNetworkTypes");
+
+        SubscriptionManager.setSubscriptionProperty(subId,
+                SubscriptionManager.ALLOWED_NETWORK_TYPES,
+                String.valueOf(allowedNetworkTypes));
+
+        int preferredNetworkMode = Settings.Global.getInt(mApp.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + subId,
+                RILConstants.PREFERRED_NETWORK_MODE);
+        return setPreferredNetworkType(subId, preferredNetworkMode);
+    }
+
+    /**
      * Check whether DUN APN is required for tethering with subId.
      *
      * @param subId the id of the subscription to require tethering.
@@ -4664,7 +5595,7 @@
      * @hide
      */
     @Override
-    public boolean getTetherApnRequiredForSubscriber(int subId) {
+    public boolean isTetheringApnRequiredForSubscriber(int subId) {
         enforceModifyPermission();
         final long identity = Binder.clearCallingIdentity();
         final Phone phone = getPhone(subId);
@@ -4707,6 +5638,34 @@
     }
 
     /**
+     * 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.
@@ -4760,24 +5719,15 @@
     }
 
     /**
-     * Get whether mobile data is enabled.
+     * Checks if the device is capable of mobile data by considering whether whether the
+     * user has enabled mobile data, whether the carrier has enabled mobile data, and
+     * whether the network policy allows data connections.
      *
-     * Comparable to {@link #isUserDataEnabled(int)}, this considers all factors deciding
-     * whether mobile data is actually enabled.
-     *
-     * Accepts either ACCESS_NETWORK_STATE, MODIFY_PHONE_STATE or carrier privileges.
-     *
-     * @return {@code true} if data is enabled else {@code false}
+     * @return {@code true} if the overall data connection is capable; {@code false} if not.
      */
     @Override
     public boolean isDataEnabled(int subId) {
-        try {
-            mApp.enforceCallingOrSelfPermission(android.Manifest.permission.ACCESS_NETWORK_STATE,
-                    null);
-        } catch (Exception e) {
-            TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
-                    mApp, subId, "isDataEnabled");
-        }
+        enforceReadPrivilegedPermission("isDataEnabled");
 
         final long identity = Binder.clearCallingIdentity();
         try {
@@ -4797,14 +5747,13 @@
         }
     }
 
-    private int getCarrierPrivilegeStatusFromCarrierConfigRules(int privilegeFromSim,
+    private int getCarrierPrivilegeStatusFromCarrierConfigRules(int privilegeFromSim, int uid,
             Phone phone) {
         //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;
 
-        int uid = Binder.getCallingUid();
         PackageManager pkgMgr = phone.getContext().getPackageManager();
         String[] packages = pkgMgr.getPackagesForUid(uid);
 
@@ -4858,25 +5807,26 @@
 
         return getCarrierPrivilegeStatusFromCarrierConfigRules(
             card.getCarrierPrivilegeStatusForCurrentTransaction(
-                phone.getContext().getPackageManager()), phone);
+                phone.getContext().getPackageManager()), Binder.getCallingUid(), phone);
     }
 
     @Override
     public int getCarrierPrivilegeStatusForUid(int subId, int uid) {
+        enforceReadPrivilegedPermission("getCarrierPrivilegeStatusForUid");
         final Phone phone = getPhone(subId);
         if (phone == null) {
-            loge("getCarrierPrivilegeStatus: Invalid subId");
+            loge("getCarrierPrivilegeStatusForUid: Invalid subId");
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
         }
         UiccProfile profile =
                 UiccController.getInstance().getUiccProfileForPhone(phone.getPhoneId());
         if (profile == null) {
-            loge("getCarrierPrivilegeStatus: No UICC");
+            loge("getCarrierPrivilegeStatusForUid: No UICC");
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
         }
         return getCarrierPrivilegeStatusFromCarrierConfigRules(
-            profile.getCarrierPrivilegeStatusForUid(
-                phone.getContext().getPackageManager(), uid), phone);
+                profile.getCarrierPrivilegeStatusForUid(
+                        phone.getContext().getPackageManager(), uid), uid, phone);
     }
 
     @Override
@@ -4927,7 +5877,7 @@
         }
         UiccCard card = UiccController.getInstance().getUiccCard(phoneId);
         if (card == null) {
-            loge("getCarrierPackageNamesForIntent: No UICC");
+            loge("getCarrierPackageNamesForIntentAndPhone: No UICC");
             return null ;
         }
         return card.getCarrierPackageNamesForIntent(mApp.getPackageManager(), intent);
@@ -4948,7 +5898,7 @@
                         PackageManager.MATCH_DISABLED_COMPONENTS
                             | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS
                             | PackageManager.GET_SIGNING_CERTIFICATES,
-                            UserHandle.USER_SYSTEM);
+                            UserHandle.SYSTEM.getIdentifier());
                 }
                 for (int p = packages.size() - 1; p >= 0; p--) {
                     PackageInfo pkgInfo = packages.get(p);
@@ -4965,9 +5915,17 @@
 
     @Override
     public List<String> getPackagesWithCarrierPrivilegesForAllPhones() {
+        enforceReadPrivilegedPermission("getPackagesWithCarrierPrivilegesForAllPhones");
+
+        final long identity = Binder.clearCallingIdentity();
+
         List<String> privilegedPackages = new ArrayList<>();
-        for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
-           privilegedPackages.addAll(getPackagesWithCarrierPrivileges(i));
+        try {
+            for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
+                privilegedPackages.addAll(getPackagesWithCarrierPrivileges(i));
+            }
+        } finally {
+            Binder.restoreCallingIdentity(identity);
         }
         return privilegedPackages;
     }
@@ -4990,7 +5948,7 @@
     @Override
     public boolean setLine1NumberForDisplayForSubscriber(int subId, String alphaTag,
             String number) {
-        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(
+        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(mApp,
                 subId, "setLine1NumberForDisplayForSubscriber");
 
         final long identity = Binder.clearCallingIdentity();
@@ -5003,7 +5961,7 @@
             final String subscriberId = phone.getSubscriberId();
 
             if (DBG_MERGE) {
-                Slog.d(LOG_TAG, "Setting line number for ICC=" + iccId + ", subscriberId="
+                Rlog.d(LOG_TAG, "Setting line number for ICC=" + iccId + ", subscriberId="
                         + subscriberId + " to " + number);
             }
 
@@ -5040,10 +5998,11 @@
     }
 
     @Override
-    public String getLine1NumberForDisplay(int subId, String callingPackage) {
+    public String getLine1NumberForDisplay(int subId, String callingPackage,
+            String callingFeatureId) {
         // This is open to apps with WRITE_SMS.
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneNumber(
-                mApp, subId, callingPackage, "getLine1NumberForDisplay")) {
+                mApp, subId, callingPackage, callingFeatureId, "getLine1NumberForDisplay")) {
             if (DBG_MERGE) log("getLine1NumberForDisplay returning null due to permission");
             return null;
         }
@@ -5067,9 +6026,10 @@
     }
 
     @Override
-    public String getLine1AlphaTagForDisplay(int subId, String callingPackage) {
+    public String getLine1AlphaTagForDisplay(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getLine1AlphaTagForDisplay")) {
+                mApp, subId, callingPackage, callingFeatureId, "getLine1AlphaTagForDisplay")) {
             return null;
         }
 
@@ -5087,12 +6047,13 @@
     }
 
     @Override
-    public String[] getMergedSubscriberIds(int subId, String callingPackage) {
+    public String[] getMergedSubscriberIds(int subId, String callingPackage,
+            String callingFeatureId) {
         // This API isn't public, so no need to provide a valid subscription ID - we're not worried
         // about carrier-privileged callers not having access.
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
                 mApp, SubscriptionManager.INVALID_SUBSCRIPTION_ID, callingPackage,
-                "getMergedSubscriberIds")) {
+                callingFeatureId, "getMergedSubscriberIds")) {
             return null;
         }
 
@@ -5126,7 +6087,7 @@
                         final String numberKey = PREF_CARRIERS_NUMBER_PREFIX + iccId;
                         mergeNumber = (String) prefs.get(numberKey);
                         if (DBG_MERGE) {
-                            Slog.d(LOG_TAG, "Found line number " + mergeNumber
+                            Rlog.d(LOG_TAG, "Found line number " + mergeNumber
                                     + " for active subscriber " + subscriberId);
                         }
                         if (!TextUtils.isEmpty(mergeNumber)) {
@@ -5160,7 +6121,7 @@
             final String[] resultArray = result.toArray(new String[result.size()]);
             Arrays.sort(resultArray);
             if (DBG_MERGE) {
-                Slog.d(LOG_TAG,
+                Rlog.d(LOG_TAG,
                         "Found subscribers " + Arrays.toString(resultArray) + " after merge");
             }
             return resultArray;
@@ -5170,8 +6131,8 @@
     }
 
     @Override
-    public String[] getMergedSubscriberIdsFromGroup(int subId, String callingPackage) {
-        enforceReadPrivilegedPermission("getMergedSubscriberIdsFromGroup");
+    public String[] getMergedImsisFromGroup(int subId, String callingPackage) {
+        enforceReadPrivilegedPermission("getMergedImsisFromGroup");
 
         final long identity = Binder.clearCallingIdentity();
         try {
@@ -5180,7 +6141,7 @@
             String subscriberId = telephonyManager.getSubscriberId(subId);
             if (subscriberId == null) {
                 if (DBG) {
-                    log("getMergedSubscriberIdsFromGroup can't find subscriberId for subId "
+                    log("getMergedImsisFromGroup can't find subscriberId for subId "
                             + subId);
                 }
                 return null;
@@ -5197,7 +6158,8 @@
             // Get all subscriberIds from the group.
             final List<String> mergedSubscriberIds = new ArrayList<>();
             final List<SubscriptionInfo> groupInfos = SubscriptionController.getInstance()
-                    .getSubscriptionsInGroup(groupUuid, mApp.getOpPackageName());
+                    .getSubscriptionsInGroup(groupUuid, mApp.getOpPackageName(),
+                            mApp.getAttributionTag());
             for (SubscriptionInfo subInfo : groupInfos) {
                 subscriberId = telephonyManager.getSubscriberId(subInfo.getSubscriptionId());
                 if (subscriberId != null) {
@@ -5214,7 +6176,7 @@
 
     @Override
     public boolean setOperatorBrandOverride(int subId, String brand) {
-        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(
+        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(mApp,
                 subId, "setOperatorBrandOverride");
 
         final long identity = Binder.clearCallingIdentity();
@@ -5230,7 +6192,8 @@
     public boolean setRoamingOverride(int subId, List<String> gsmRoamingList,
             List<String> gsmNonRoamingList, List<String> cdmaRoamingList,
             List<String> cdmaNonRoamingList) {
-        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(subId, "setRoamingOverride");
+        TelephonyPermissions.enforceCallingOrSelfCarrierPrivilege(
+                mApp, subId, "setRoamingOverride");
 
         final long identity = Binder.clearCallingIdentity();
         try {
@@ -5321,10 +6284,10 @@
     }
 
     @Override
-    public boolean isVideoCallingEnabled(String callingPackage) {
+    public boolean isVideoCallingEnabled(String callingPackage, String callingFeatureId) {
         final Phone defaultPhone = getDefaultPhone();
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, defaultPhone.getSubId(), callingPackage, "isVideoCallingEnabled")) {
+        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, defaultPhone.getSubId(),
+                callingPackage, callingFeatureId, "isVideoCallingEnabled")) {
             return false;
         }
 
@@ -5345,9 +6308,11 @@
     }
 
     @Override
-    public boolean canChangeDtmfToneLength(int subId, String callingPackage) {
+    public boolean canChangeDtmfToneLength(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "isVideoCallingEnabled")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "isVideoCallingEnabled")) {
             return false;
         }
 
@@ -5363,9 +6328,9 @@
     }
 
     @Override
-    public boolean isWorldPhone(int subId, String callingPackage) {
+    public boolean isWorldPhone(int subId, String callingPackage, String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "isVideoCallingEnabled")) {
+                mApp, subId, callingPackage, callingFeatureId, "isVideoCallingEnabled")) {
             return false;
         }
 
@@ -5382,7 +6347,7 @@
 
     @Override
     public boolean isTtyModeSupported() {
-        TelecomManager telecomManager = TelecomManager.from(mApp);
+        TelecomManager telecomManager = mApp.getSystemService(TelecomManager.class);
         return telecomManager.isTtySupported();
     }
 
@@ -5440,6 +6405,12 @@
         }
     }
 
+    @Deprecated
+    @Override
+    public String getDeviceId(String callingPackage) {
+        return getDeviceIdWithFeature(callingPackage, null);
+    }
+
     /**
      * Returns the unique device ID of phone, for example, the IMEI for
      * GSM and the MEID for CDMA phones. Return null if device ID is not available.
@@ -5448,14 +6419,14 @@
      *   {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
      */
     @Override
-    public String getDeviceId(String callingPackage) {
+    public String getDeviceIdWithFeature(String callingPackage, String callingFeatureId) {
         final Phone phone = PhoneFactory.getPhone(0);
         if (phone == null) {
             return null;
         }
         int subId = phone.getSubId();
         if (!TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(mApp, subId,
-                callingPackage, "getDeviceId")) {
+                callingPackage, callingFeatureId, "getDeviceId")) {
             return null;
         }
 
@@ -5493,6 +6464,21 @@
     }
 
     @Override
+    public int getSubIdForPhoneAccountHandle(
+            PhoneAccountHandle phoneAccountHandle, String callingPackage, String callingFeatureId) {
+        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, getDefaultSubscription(),
+                callingPackage, callingFeatureId, "getSubIdForPhoneAccountHandle")) {
+            throw new SecurityException("Requires READ_PHONE_STATE permission.");
+        }
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            return PhoneUtils.getSubIdForPhoneAccountHandle(phoneAccountHandle);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
     public @Nullable PhoneAccountHandle getPhoneAccountHandleForSubscriptionId(int subscriptionId) {
         final long identity = Binder.clearCallingIdentity();
         try {
@@ -5560,7 +6546,7 @@
 
     @Override
     public void factoryReset(int subId) {
-        enforceConnectivityInternalPermission();
+        enforceSettingsPermission();
         if (mUserManager.hasUserRestriction(UserManager.DISALLOW_NETWORK_RESET)) {
             return;
         }
@@ -5581,6 +6567,11 @@
             // in and combined with those stale ones. In case this happens again,
             // user can reset all network settings which will clean up this table.
             cleanUpSmsRawTable(getDefaultPhone().getContext());
+            // Clean up IMS settings as well here.
+            int slotId = getSlotIndex(subId);
+            if (slotId > SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                ImsManager.getInstance(mApp, slotId).factoryReset();
+            }
 
             // Erase modem config if erase modem on network setting is enabled.
             String configValue = DeviceConfig.getProperty(DeviceConfig.NAMESPACE_TELEPHONY,
@@ -5610,7 +6601,7 @@
         final long identity = Binder.clearCallingIdentity();
         try {
             final SubscriptionInfo info = mSubscriptionController.getActiveSubscriptionInfo(subId,
-                    phone.getContext().getOpPackageName());
+                    phone.getContext().getOpPackageName(), phone.getContext().getAttributionTag());
             if (info == null) {
                 log("getSimLocaleForSubscriber, inactive subId: " + subId);
                 return null;
@@ -5634,7 +6625,7 @@
             // exact locale (e.g. fr_FR = French/France). So, if the locale returned from
             // the SIM and carrier preferences does not include a country we add the country
             // determined from the SIM MCC to provide an exact locale.
-            final Locale mccLocale = MccTable.getLocaleFromMcc(mApp, mcc, simLanguage);
+            final Locale mccLocale = LocaleUtils.getLocaleFromMcc(mApp, mcc, simLanguage);
             if (mccLocale != null) {
                 if (DBG) log("No locale from SIM, using mcc locale:" + mccLocale);
                 return mccLocale.toLanguageTag();
@@ -5648,18 +6639,20 @@
     }
 
     private List<SubscriptionInfo> getAllSubscriptionInfoList() {
-        return mSubscriptionController.getAllSubInfoList(mApp.getOpPackageName());
+        return mSubscriptionController.getAllSubInfoList(mApp.getOpPackageName(),
+                mApp.getAttributionTag());
     }
 
     /**
      * NOTE: this method assumes permission checks are done and caller identity has been cleared.
      */
     private List<SubscriptionInfo> getActiveSubscriptionInfoListPrivileged() {
-        return mSubscriptionController.getActiveSubscriptionInfoList(mApp.getOpPackageName());
+        return mSubscriptionController.getActiveSubscriptionInfoList(mApp.getOpPackageName(),
+                mApp.getAttributionTag());
     }
 
     private final ModemActivityInfo mLastModemActivityInfo =
-            new ModemActivityInfo(0, 0, 0, new int[0], 0, 0);
+            new ModemActivityInfo(0, 0, 0, new int[0], 0);
 
     /**
      * Responds to the ResultReceiver with the {@link android.telephony.ModemActivityInfo} object
@@ -5676,38 +6669,7 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ModemActivityInfo ret = null;
-            synchronized (mLastModemActivityInfo) {
-                ModemActivityInfo info = (ModemActivityInfo) sendRequest(
-                        CMD_GET_MODEM_ACTIVITY_INFO,
-                        null, workSource);
-                if (isModemActivityInfoValid(info)) {
-                    int[] mergedTxTimeMs = new int[ModemActivityInfo.TX_POWER_LEVELS];
-                    for (int i = 0; i < mergedTxTimeMs.length; i++) {
-                        mergedTxTimeMs[i] = info.getTxTimeMillis()[i]
-                                + mLastModemActivityInfo.getTxTimeMillis()[i];
-                    }
-                    mLastModemActivityInfo.setTimestamp(info.getTimestamp());
-                    mLastModemActivityInfo.setSleepTimeMillis(info.getSleepTimeMillis()
-                            + mLastModemActivityInfo.getSleepTimeMillis());
-                    mLastModemActivityInfo.setIdleTimeMillis(
-                            info.getIdleTimeMillis() + mLastModemActivityInfo.getIdleTimeMillis());
-                    mLastModemActivityInfo.setTxTimeMillis(mergedTxTimeMs);
-                    mLastModemActivityInfo.setRxTimeMillis(
-                            info.getRxTimeMillis() + mLastModemActivityInfo.getRxTimeMillis());
-                    mLastModemActivityInfo.setEnergyUsed(
-                            info.getEnergyUsed() + mLastModemActivityInfo.getEnergyUsed());
-                }
-                ret = new ModemActivityInfo(mLastModemActivityInfo.getTimestamp(),
-                        mLastModemActivityInfo.getSleepTimeMillis(),
-                        mLastModemActivityInfo.getIdleTimeMillis(),
-                        mLastModemActivityInfo.getTxTimeMillis(),
-                        mLastModemActivityInfo.getRxTimeMillis(),
-                        mLastModemActivityInfo.getEnergyUsed());
-            }
-            Bundle bundle = new Bundle();
-            bundle.putParcelable(TelephonyManager.MODEM_ACTIVITY_RESULT_KEY, ret);
-            result.send(0, bundle);
+            sendRequestAsync(CMD_GET_MODEM_ACTIVITY_INFO, result, null, workSource);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -5722,13 +6684,14 @@
         int activityDurationMs =
             (int) (info.getTimestamp() - mLastModemActivityInfo.getTimestamp());
         int totalTxTimeMs = 0;
-        for (int i = 0; i < info.getTxTimeMillis().length; i++) {
-            totalTxTimeMs += info.getTxTimeMillis()[i];
+        int[] txTimeMs = info.getTransmitTimeMillis();
+        for (int i = 0; i < info.getTransmitPowerInfo().size(); i++) {
+            totalTxTimeMs += txTimeMs[i];
         }
         return (info.isValid()
             && (info.getSleepTimeMillis() <= activityDurationMs)
             && (info.getIdleTimeMillis() <= activityDurationMs)
-            && (info.getRxTimeMillis() <= activityDurationMs)
+            && (info.getReceiveTimeMillis() <= activityDurationMs)
             && (totalTxTimeMs <= activityDurationMs));
     }
 
@@ -5737,9 +6700,10 @@
      * Returns the service state information on specified subscription.
      */
     @Override
-    public ServiceState getServiceStateForSubscriber(int subId, String callingPackage) {
+    public ServiceState getServiceStateForSubscriber(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getServiceStateForSubscriber")) {
+                mApp, subId, callingPackage, callingFeatureId, "getServiceStateForSubscriber")) {
             return null;
         }
 
@@ -5747,6 +6711,7 @@
                 LocationAccessPolicy.checkLocationPermission(mApp,
                         new LocationAccessPolicy.LocationPermissionQuery.Builder()
                                 .setCallingPackage(callingPackage)
+                                .setCallingFeatureId(callingFeatureId)
                                 .setCallingPid(Binder.getCallingPid())
                                 .setCallingUid(Binder.getCallingUid())
                                 .setMethod("getServiceStateForSubscriber")
@@ -5758,6 +6723,7 @@
                 LocationAccessPolicy.checkLocationPermission(mApp,
                         new LocationAccessPolicy.LocationPermissionQuery.Builder()
                                 .setCallingPackage(callingPackage)
+                                .setCallingFeatureId(callingFeatureId)
                                 .setCallingPid(Binder.getCallingPid())
                                 .setCallingUid(Binder.getCallingUid())
                                 .setMethod("getServiceStateForSubscriber")
@@ -5782,8 +6748,8 @@
             // Scrub out the location info in ServiceState depending on what level of access
             // the caller has.
             if (hasFinePermission) return ss;
-            if (hasCoarsePermission) return ss.sanitizeLocationInfo(false);
-            return ss.sanitizeLocationInfo(true);
+            if (hasCoarsePermission) return ss.createLocationInfoSanitizedCopy(false);
+            return ss.createLocationInfoSanitizedCopy(true);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -5828,8 +6794,8 @@
             PhoneAccountHandle phoneAccountHandle, Uri uri) {
         final Phone defaultPhone = getDefaultPhone();
         mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
-        if (!TextUtils.equals(callingPackage,
-                TelecomManager.from(defaultPhone.getContext()).getDefaultDialerPackage())) {
+        TelecomManager tm = defaultPhone.getContext().getSystemService(TelecomManager.class);
+        if (!TextUtils.equals(callingPackage, tm.getDefaultDialerPackage())) {
             TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
                     mApp, PhoneUtils.getSubIdForPhoneAccountHandle(phoneAccountHandle),
                     "setVoicemailRingtoneUri");
@@ -5885,8 +6851,8 @@
             PhoneAccountHandle phoneAccountHandle, boolean enabled) {
         final Phone defaultPhone = getDefaultPhone();
         mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
-        if (!TextUtils.equals(callingPackage,
-                TelecomManager.from(defaultPhone.getContext()).getDefaultDialerPackage())) {
+        TelecomManager tm = defaultPhone.getContext().getSystemService(TelecomManager.class);
+        if (!TextUtils.equals(callingPackage, tm.getDefaultDialerPackage())) {
             TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
                     mApp, PhoneUtils.getSubIdForPhoneAccountHandle(phoneAccountHandle),
                     "setVoicemailVibrationEnabled");
@@ -6226,37 +7192,12 @@
     }
 
     @Override
-    public void onShellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err,
-            String[] args, ShellCallback callback, ResultReceiver resultReceiver)
-            throws RemoteException {
-        (new TelephonyShellCommand(this)).exec(this, in, out, err, args, callback, resultReceiver);
-    }
-
-    /**
-     * Get aggregated video call data usage since boot.
-     *
-     * @param perUidStats True if requesting data usage per uid, otherwise overall usage.
-     * @return Snapshot of video call data usage
-     * {@hide}
-     */
-    @Override
-    public NetworkStats getVtDataUsage(int subId, boolean perUidStats) {
-        mApp.enforceCallingOrSelfPermission(android.Manifest.permission.READ_NETWORK_USAGE_HISTORY,
-                null);
-
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            // NetworkStatsService keeps tracking the active network interface and identity. It
-            // records the delta with the corresponding network identity.
-            // We just return the total video call data usage snapshot since boot.
-            Phone phone = getPhone(subId);
-            if (phone != null) {
-                return phone.getVtDataUsage(perUidStats);
-            }
-            return null;
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
+    public int handleShellCommand(@NonNull ParcelFileDescriptor in,
+            @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err,
+            @NonNull String[] args) {
+        return new TelephonyShellCommand(this, getDefaultPhone().getContext()).exec(
+                this, in.getFileDescriptor(), out.getFileDescriptor(),
+                        err.getFileDescriptor(), args);
     }
 
     /**
@@ -6286,9 +7227,10 @@
      * @hide
      */
     @Override
-    public List<ClientRequestStats> getClientRequestStats(String callingPackage, int subId) {
+    public List<ClientRequestStats> getClientRequestStats(String callingPackage,
+            String callingFeatureId, int subId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getClientRequestStats")) {
+                mApp, subId, callingPackage, callingFeatureId, "getClientRequestStats")) {
             return null;
         }
         Phone phone = getPhone(subId);
@@ -6399,14 +7341,15 @@
      * Get the current modem radio state for the given slot.
      * @param slotIndex slot index.
      * @param callingPackage the name of the package making the call.
+     * @param callingFeatureId The feature in the package.
      * @return the current radio power state from the modem
      */
     @Override
-    public int getRadioPowerState(int slotIndex, String callingPackage) {
+    public int getRadioPowerState(int slotIndex, String callingPackage, String callingFeatureId) {
         Phone phone = PhoneFactory.getPhone(slotIndex);
         if (phone != null) {
-            if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                    mApp, phone.getSubId(), callingPackage, "getRadioPowerState")) {
+            if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, phone.getSubId(),
+                    callingPackage, callingFeatureId, "getRadioPowerState")) {
                 return TelephonyManager.RADIO_POWER_UNAVAILABLE;
             }
 
@@ -6480,7 +7423,8 @@
 
     @Override
     public boolean isManualNetworkSelectionAllowed(int subId) {
-        TelephonyPermissions.enforeceCallingOrSelfReadPhoneStatePermissionOrCarrierPrivilege(
+        TelephonyPermissions
+                .enforeceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
                 mApp, subId, "isManualNetworkSelectionAllowed");
 
         boolean isAllowed = true;
@@ -6578,6 +7522,12 @@
                     }
                 }
 
+                if (cardId != null) {
+                    // if cardId is an ICCID, strip off trailing Fs before exposing to user
+                    // if cardId is an EID, it's all digits so this is fine
+                    cardId = IccUtils.stripTrailingFs(cardId);
+                }
+
                 int cardState = 0;
                 switch (slot.getCardState()) {
                     case CARDSTATE_ABSENT:
@@ -6634,23 +7584,6 @@
         }
     }
 
-    @Override
-    public void setRadioIndicationUpdateMode(int subId, int filters, int mode) {
-        enforceModifyPermission();
-        final Phone phone = getPhone(subId);
-        if (phone == null) {
-            loge("setRadioIndicationUpdateMode fails with invalid subId: " + subId);
-            return;
-        }
-
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            phone.setRadioIndicationUpdateMode(filters, mode);
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-    }
-
     /**
      * A test API to reload the UICC profile.
      *
@@ -6686,8 +7619,7 @@
      * Returns false if the mobile data is disabled by default, otherwise return true.
      */
     private boolean getDefaultDataEnabled() {
-        return "true".equalsIgnoreCase(
-                SystemProperties.get(DEFAULT_MOBILE_DATA_PROPERTY_NAME, "true"));
+        return TelephonyProperties.mobile_data().orElse(true);
     }
 
     /**
@@ -6698,8 +7630,7 @@
     private boolean getDefaultDataRoamingEnabled(int subId) {
         final CarrierConfigManager configMgr = (CarrierConfigManager)
                 mApp.getSystemService(Context.CARRIER_CONFIG_SERVICE);
-        boolean isDataRoamingEnabled = "true".equalsIgnoreCase(
-                SystemProperties.get(DEFAULT_DATA_ROAMING_PROPERTY_NAME, "false"));
+        boolean isDataRoamingEnabled = TelephonyProperties.data_roaming().orElse(true);
         isDataRoamingEnabled |= configMgr.getConfigForSubId(subId).getBoolean(
                 CarrierConfigManager.KEY_CARRIER_DEFAULT_DATA_ROAMING_ENABLED_BOOL);
         return isDataRoamingEnabled;
@@ -6710,11 +7641,12 @@
      * not set, return {@link Phone#PREFERRED_NT_MODE}.
      */
     private int getDefaultNetworkType(int subId) {
-        return Integer.parseInt(
-                TelephonyManager.getTelephonyProperty(
-                        mSubscriptionController.getPhoneId(subId),
-                        DEFAULT_NETWORK_MODE_PROPERTY_NAME,
-                        String.valueOf(Phone.PREFERRED_NT_MODE)));
+        List<Integer> list = TelephonyProperties.default_network();
+        int phoneId = mSubscriptionController.getPhoneId(subId);
+        if (phoneId >= 0 && phoneId < list.size() && list.get(phoneId) != null) {
+            return list.get(phoneId);
+        }
+        return Phone.PREFERRED_NT_MODE;
     }
 
     @Override
@@ -6754,9 +7686,11 @@
     }
 
     @Override
-    public int getNumberOfModemsWithSimultaneousDataConnections(int subId, String callingPackage) {
+    public int getNumberOfModemsWithSimultaneousDataConnections(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "getNumberOfModemsWithSimultaneousDataConnections")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "getNumberOfModemsWithSimultaneousDataConnections")) {
             return -1;
         }
 
@@ -6770,7 +7704,8 @@
 
     @Override
     public int getCdmaRoamingMode(int subId) {
-        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
+        TelephonyPermissions
+                .enforeceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
                 mApp, subId, "getCdmaRoamingMode");
 
         final long identity = Binder.clearCallingIdentity();
@@ -6807,80 +7742,12 @@
         }
     }
 
-    private void ensureUserRunning(int userId) {
-        if (!mUserManager.isUserRunning(userId)) {
-            throw new IllegalStateException("User " + userId + " does not exist or not running");
-        }
-    }
-
-    /**
-     * Returns a list of SMS apps on a given user.
-     *
-     * Only the shell user (UID 2000 or 0) can call it.
-     * Target user must be running.
-     */
-    @Override
-    public String[] getSmsApps(int userId) {
-        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "getSmsApps");
-        ensureUserRunning(userId);
-
-        final Collection<SmsApplicationData> apps =
-                SmsApplication.getApplicationCollectionAsUser(mApp, userId);
-
-        String[] ret = new String[apps.size()];
-        int i = 0;
-        for (SmsApplicationData app : apps) {
-            ret[i++] = app.mPackageName;
-        }
-        return ret;
-    }
-
-    /**
-     * Returns the default SMS app package name on a given user.
-     *
-     * Only the shell user (UID 2000 or 0) can call it.
-     * Target user must be running.
-     */
-    @Override
-    public String getDefaultSmsApp(int userId) {
-        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "getDefaultSmsApp");
-        ensureUserRunning(userId);
-
-        final ComponentName cn = SmsApplication.getDefaultSmsApplicationAsUser(mApp,
-                /* updateIfNeeded= */ true, userId);
-        return cn == null ? null : cn.getPackageName();
-    }
-
-    /**
-     * Set a package as the default SMS app on a given user.
-     *
-     * Only the shell user (UID 2000 or 0) can call it.
-     * Target user must be running.
-     */
-    @Override
-    public void setDefaultSmsApp(int userId, String packageName) {
-        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "setDefaultSmsApp");
-        ensureUserRunning(userId);
-
-        boolean found = false;
-        for (String pkg : getSmsApps(userId)) {
-            if (TextUtils.equals(packageName, pkg)) {
-                found = true;
-                break;
-            }
-        }
-        if (!found) {
-            throw new IllegalArgumentException("Package " + packageName + " is not an SMS app");
-        }
-
-        SmsApplication.setDefaultApplicationAsUser(packageName, mApp, userId);
-    }
-
     @Override
     public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList(
-            String callingPackage) {
+            String callingPackage, String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, getDefaultSubscription(), callingPackage, "getEmergencyNumberList")) {
+                mApp, getDefaultSubscription(), callingPackage, callingFeatureId,
+                "getEmergencyNumberList")) {
             throw new SecurityException("Requires READ_PHONE_STATE permission.");
         }
         final long identity = Binder.clearCallingIdentity();
@@ -6972,6 +7839,74 @@
     }
 
     @Override
+    public int getEmergencyNumberDbVersion(int subId) {
+        enforceReadPrivilegedPermission("getEmergencyNumberDbVersion");
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            final Phone phone = getPhone(subId);
+            if (phone == null) {
+                loge("getEmergencyNumberDbVersion fails with invalid subId: " + subId);
+                return TelephonyManager.INVALID_EMERGENCY_NUMBER_DB_VERSION;
+            }
+            return phone.getEmergencyNumberDbVersion();
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
+    public void notifyOtaEmergencyNumberDbInstalled() {
+        enforceModifyPermission();
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            for (Phone phone: PhoneFactory.getPhones()) {
+                EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker();
+                if (tracker != null) {
+                    tracker.updateOtaEmergencyNumberDatabase();
+                }
+            }
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
+    public void updateOtaEmergencyNumberDbFilePath(ParcelFileDescriptor otaParcelFileDescriptor) {
+        enforceActiveEmergencySessionPermission();
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            for (Phone phone: PhoneFactory.getPhones()) {
+                EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker();
+                if (tracker != null) {
+                    tracker.updateOtaEmergencyNumberDbFilePath(otaParcelFileDescriptor);
+                }
+            }
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
+    public void resetOtaEmergencyNumberDbFilePath() {
+        enforceActiveEmergencySessionPermission();
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            for (Phone phone: PhoneFactory.getPhones()) {
+                EmergencyNumberTracker tracker = phone.getEmergencyNumberTracker();
+                if (tracker != null) {
+                    tracker.resetOtaEmergencyNumberDbFilePath();
+                }
+            }
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    @Override
     public List<String> getCertsFromCarrierPrivilegeAccessRules(int subId) {
         enforceReadPrivilegedPermission("getCertsFromCarrierPrivilegeAccessRules");
         Phone phone = getPhone(subId);
@@ -7015,12 +7950,14 @@
      * Whether a modem stack is enabled or not.
      */
     @Override
-    public boolean isModemEnabledForSlot(int slotIndex, String callingPackage) {
+    public boolean isModemEnabledForSlot(int slotIndex, String callingPackage,
+            String callingFeatureId) {
         Phone phone = PhoneFactory.getPhone(slotIndex);
         if (phone == null) return false;
 
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, phone.getSubId(), callingPackage, "isModemEnabledForSlot")) {
+                mApp, phone.getSubId(), callingPackage, callingFeatureId,
+                "isModemEnabledForSlot")) {
             throw new SecurityException("Requires READ_PHONE_STATE permission.");
         }
 
@@ -7052,9 +7989,10 @@
 
     @Override
     @TelephonyManager.IsMultiSimSupportedResult
-    public int isMultiSimSupported(String callingPackage) {
+    public int isMultiSimSupported(String callingPackage, String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp,
-                getDefaultPhone().getSubId(), callingPackage, "isMultiSimSupported")) {
+                getDefaultPhone().getSubId(), callingPackage, callingFeatureId,
+                "isMultiSimSupported")) {
             return TelephonyManager.MULTISIM_NOT_SUPPORTED_BY_HARDWARE;
         }
 
@@ -7123,14 +8061,43 @@
         }
     }
 
+    @Override
+    public boolean isApplicationOnUicc(int subId, int appType) {
+        enforceReadPrivilegedPermission("isApplicationOnUicc");
+        Phone phone = getPhone(subId);
+        if (phone == null) {
+            return false;
+        }
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            UiccCard uiccCard = phone.getUiccCard();
+            if (uiccCard == null) {
+                return false;
+            }
+            UiccProfile uiccProfile = uiccCard.getUiccProfile();
+            if (uiccProfile == null) {
+                return false;
+            }
+            if (TelephonyManager.APPTYPE_SIM <= appType
+                    && appType <= TelephonyManager.APPTYPE_ISIM) {
+                return uiccProfile.isApplicationOnIcc(AppType.values()[appType]);
+            }
+            return false;
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
     /**
      * Get whether making changes to modem configurations will trigger reboot.
      * Return value defaults to true.
      */
     @Override
-    public boolean doesSwitchMultiSimConfigTriggerReboot(int subId, String callingPackage) {
+    public boolean doesSwitchMultiSimConfigTriggerReboot(int subId, String callingPackage,
+            String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "doesSwitchMultiSimConfigTriggerReboot")) {
+                mApp, subId, callingPackage, callingFeatureId,
+                "doesSwitchMultiSimConfigTriggerReboot")) {
             return false;
         }
         final long identity = Binder.clearCallingIdentity();
@@ -7181,6 +8148,15 @@
     }
 
     /**
+     * Get the current calling package name.
+     * @return the current calling package name
+     */
+    @Override
+    public String getCurrentPackageName() {
+        return mApp.getPackageManager().getPackagesForUid(Binder.getCallingUid())[0];
+    }
+
+    /**
      * Return whether data is enabled for certain APN type. This will tell if framework will accept
      * corresponding network requests on a subId.
      *
@@ -7188,7 +8164,7 @@
      *  1) user data is turned on, or
      *  2) APN is un-metered for this subscription, or
      *  3) APN type is whitelisted. E.g. MMS is whitelisted if
-     *  {@link SubscriptionManager#setAlwaysAllowMmsData} is turned on.
+     *  {@link TelephonyManager#setAlwaysAllowMmsData} is turned on.
      *
      * @return whether data is allowed for a apn type.
      *
@@ -7196,10 +8172,8 @@
      */
     @Override
     public boolean isDataEnabledForApn(int apnType, int subId, String callingPackage) {
-        if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(
-                mApp, subId, callingPackage, "isDataEnabledForApn")) {
-            throw new SecurityException("Needs READ_PHONE_STATE for isDataEnabledForApn");
-        }
+        enforceReadPrivilegedPermission("Needs READ_PRIVILEGED_PHONE_STATE for "
+                + "isDataEnabledForApn");
 
         // Now that all security checks passes, perform the operation as ourselves.
         final long identity = Binder.clearCallingIdentity();
@@ -7231,10 +8205,60 @@
     }
 
     @Override
-    public void enqueueSmsPickResult(String callingPackage, IIntegerConsumer pendingSubIdResult) {
+    public void setSystemSelectionChannels(List<RadioAccessSpecifier> specifiers,
+            int subscriptionId, IBooleanConsumer resultCallback) {
+        enforceModifyPermission();
+        long token = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subscriptionId);
+            if (phone == null) {
+                try {
+                    if (resultCallback != null) {
+                        resultCallback.accept(false);
+                    }
+                } catch (RemoteException e) {
+                    // ignore
+                }
+                return;
+            }
+            Pair<List<RadioAccessSpecifier>, Consumer<Boolean>> argument =
+                    Pair.create(specifiers, (x) -> {
+                        try {
+                            if (resultCallback != null) {
+                                resultCallback.accept(x);
+                            }
+                        } catch (RemoteException e) {
+                            // ignore
+                        }
+                    });
+            sendRequestAsync(CMD_SET_SYSTEM_SELECTION_CHANNELS, argument, phone, null);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+    @Override
+    public boolean isMvnoMatched(int subId, 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);
+    }
+
+    @Override
+    public void enqueueSmsPickResult(String callingPackage, String callingAttributionTag,
+            IIntegerConsumer pendingSubIdResult) {
+        if (callingPackage == null) {
+            callingPackage = getCurrentPackageName();
+        }
         SmsPermissions permissions = new SmsPermissions(getDefaultPhone(), mApp,
                 (AppOpsManager) mApp.getSystemService(Context.APP_OPS_SERVICE));
-        if (!permissions.checkCallingCanSendSms(callingPackage, "Sending message")) {
+        if (!permissions.checkCallingCanSendSms(callingPackage, callingAttributionTag,
+                "Sending message")) {
             throw new SecurityException("Requires SEND_SMS permission to perform this operation");
         }
         PickSmsSubscriptionActivity.addPendingResult(pendingSubIdResult);
@@ -7302,4 +8326,199 @@
             Binder.restoreCallingIdentity(identity);
         }
     }
+
+    @Override
+    public boolean setAlwaysAllowMmsData(int subId, boolean alwaysAllow) {
+        enforceModifyPermission();
+
+        // Now that all security checks passes, perform the operation as ourselves.
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subId);
+            if (phone == null) return false;
+
+            return phone.getDataEnabledSettings().setAlwaysAllowMmsData(alwaysAllow);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Updates whether conference event pacakge handling is enabled.
+     * @param isCepEnabled {@code true} if CEP handling is enabled (default), or {@code false}
+     *                                 otherwise.
+     */
+    @Override
+    public void setCepEnabled(boolean isCepEnabled) {
+        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "setCepEnabled");
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            Rlog.i(LOG_TAG, "setCepEnabled isCepEnabled=" + isCepEnabled);
+            for (Phone phone : PhoneFactory.getPhones()) {
+                Phone defaultPhone = phone.getImsPhone();
+                if (defaultPhone != null && defaultPhone.getPhoneType() == PHONE_TYPE_IMS) {
+                    ImsPhone imsPhone = (ImsPhone) defaultPhone;
+                    ImsPhoneCallTracker imsPhoneCallTracker =
+                            (ImsPhoneCallTracker) imsPhone.getCallTracker();
+                    imsPhoneCallTracker.setConferenceEventPackageEnabled(isCepEnabled);
+                    Rlog.i(LOG_TAG, "setCepEnabled isCepEnabled=" + isCepEnabled + ", for imsPhone "
+                            + imsPhone.getMsisdn());
+                }
+            }
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Notify that an RCS autoconfiguration XML file has been received for provisioning.
+     *
+     * @param config       The XML file to be read. ASCII/UTF8 encoded text if not compressed.
+     * @param isCompressed The XML file is compressed in gzip format and must be decompressed
+     *                     before being read.
+     */
+    @Override
+    public void notifyRcsAutoConfigurationReceived(int subId, @NonNull byte[] config, boolean
+            isCompressed) {
+        TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
+                mApp, subId, "notifyRcsAutoConfigurationReceived");
+        try {
+            IImsConfig configBinder = getImsConfig(getSlotIndex(subId), ImsFeature.FEATURE_RCS);
+            if (configBinder == null) {
+                Rlog.e(LOG_TAG, "null result for getImsConfig");
+            } else {
+                configBinder.notifyRcsAutoConfigurationReceived(config, isCompressed);
+            }
+        } catch (RemoteException e) {
+            Rlog.e(LOG_TAG, "fail to getImsConfig " + e.getMessage());
+        }
+    }
+
+    @Override
+    public boolean isIccLockEnabled(int subId) {
+        enforceReadPrivilegedPermission("isIccLockEnabled");
+
+        // Now that all security checks passes, perform the operation as ourselves.
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subId);
+            if (phone != null && phone.getIccCard() != null) {
+                return phone.getIccCard().getIccLockEnabled();
+            } else {
+                return false;
+            }
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Set the ICC pin lock enabled or disabled.
+     *
+     * @return an integer representing the status of IccLock enabled or disabled in the following
+     * three cases:
+     *   - {@link TelephonyManager#CHANGE_ICC_LOCK_SUCCESS} if enabled or disabled IccLock
+     *   successfully.
+     *   - Positive number and zero for remaining password attempts.
+     *   - Negative number for other failure cases (such like enabling/disabling PIN failed).
+     *
+     */
+    @Override
+    public int setIccLockEnabled(int subId, boolean enabled, String password) {
+        enforceModifyPermission();
+
+        Phone phone = getPhone(subId);
+        if (phone == null) {
+            return 0;
+        }
+        // Now that all security checks passes, perform the operation as ourselves.
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            int attemptsRemaining = (int) sendRequest(CMD_SET_ICC_LOCK_ENABLED,
+                    new Pair<Boolean, String>(enabled, password), phone, null);
+            return attemptsRemaining;
+
+        } catch (Exception e) {
+            Log.e(LOG_TAG, "setIccLockEnabled. Exception e =" + e);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+        return 0;
+    }
+
+    /**
+     * Change the ICC password used in ICC pin lock.
+     *
+     * @return an integer representing the status of IccLock changed in the following three cases:
+     *   - {@link TelephonyManager#CHANGE_ICC_LOCK_SUCCESS} if changed IccLock successfully.
+     *   - Positive number and zero for remaining password attempts.
+     *   - Negative number for other failure cases (such like enabling/disabling PIN failed).
+     *
+     */
+    @Override
+    public int changeIccLockPassword(int subId, String oldPassword, String newPassword) {
+        enforceModifyPermission();
+
+        Phone phone = getPhone(subId);
+        if (phone == null) {
+            return 0;
+        }
+        // Now that all security checks passes, perform the operation as ourselves.
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            int attemptsRemaining = (int) sendRequest(CMD_CHANGE_ICC_LOCK_PASSWORD,
+                    new Pair<String, String>(oldPassword, newPassword), phone, null);
+            return attemptsRemaining;
+
+        } catch (Exception e) {
+            Log.e(LOG_TAG, "changeIccLockPassword. Exception e =" + e);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+        return 0;
+    }
+
+    /**
+     * Request for receiving user activity notification
+     */
+    @Override
+    public void requestUserActivityNotification() {
+        if (!mNotifyUserActivity.get()
+                && !mMainThreadHandler.hasMessages(MSG_NOTIFY_USER_ACTIVITY)) {
+            mNotifyUserActivity.set(true);
+        }
+    }
+
+    /**
+     * Called when userActivity is signalled in the power manager.
+     * This is safe to call from any thread, with any window manager locks held or not.
+     */
+    @Override
+    public void userActivity() {
+        // ***************************************
+        // *  Inherited from PhoneWindowManager  *
+        // ***************************************
+        // THIS IS CALLED FROM DEEP IN THE POWER MANAGER
+        // WITH ITS LOCKS HELD.
+        //
+        // This code must be VERY careful about the locks
+        // it acquires.
+        // In fact, the current code acquires way too many,
+        // and probably has lurking deadlocks.
+
+        if (Binder.getCallingUid() != Process.SYSTEM_UID) {
+            throw new SecurityException("Only the OS may call notifyUserActivity()");
+        }
+
+        if (mNotifyUserActivity.getAndSet(false)) {
+            mMainThreadHandler.sendEmptyMessageDelayed(MSG_NOTIFY_USER_ACTIVITY,
+                    USER_ACTIVITY_NOTIFICATION_DELAY);
+        }
+    }
+
+    @Override
+    public boolean canConnectTo5GInDsdsMode() {
+        return mApp.getResources().getBoolean(R.bool.config_5g_connection_in_dsds_mode);
+    }
 }
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index 20c8276..c520063 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -22,10 +22,17 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.res.Resources;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.MediaPlayer;
+import android.media.RingtoneManager;
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Message;
 import android.os.PersistableBundle;
+import android.os.VibrationEffect;
+import android.os.Vibrator;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.VideoProfile;
@@ -43,10 +50,7 @@
 import android.widget.Toast;
 
 import com.android.internal.telephony.Call;
-import com.android.internal.telephony.CallManager;
 import com.android.internal.telephony.CallStateException;
-import com.android.internal.telephony.CallerInfo;
-import com.android.internal.telephony.CallerInfoAsyncQuery;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.IccCard;
 import com.android.internal.telephony.MmiCode;
@@ -54,10 +58,10 @@
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.TelephonyCapabilities;
-import com.android.phone.CallGatewayManager.RawGatewayInfo;
 import com.android.phone.settings.SuppServicesUiUtil;
+import com.android.telephony.Rlog;
 
-import java.util.Arrays;
+import java.io.IOException;
 import java.util.List;
 
 /**
@@ -83,6 +87,9 @@
     /** Define for not a special CNAP string */
     private static final int CNAP_SPECIAL_CASE_NO = -1;
 
+    /** Define for default vibrate pattern if res cannot be found */
+    private static final long[] DEFAULT_VIBRATE_PATTERN = {0, 250, 250, 250};
+
     /**
      * Theme to use for dialogs displayed by utility methods in this class. This is needed
      * because these dialogs are displayed using the application context, which does not resolve
@@ -91,7 +98,6 @@
     private static final int THEME = com.android.internal.R.style.Theme_DeviceDefault_Dialog_Alert;
 
     /** USSD information used to aggregate all USSD messages */
-    private static AlertDialog sUssdDialog = null;
     private static StringBuilder sUssdMsg = new StringBuilder();
 
     private static final ComponentName PSTN_CONNECTION_SERVICE_COMPONENT =
@@ -131,79 +137,35 @@
     }
 
     /**
-     * @see placeCall below
-     */
-    public static int placeCall(Context context, Phone phone, String number, Uri contactRef,
-            boolean isEmergencyCall) {
-        return placeCall(context, phone, number, contactRef, isEmergencyCall,
-                CallGatewayManager.EMPTY_INFO, null);
-    }
-
-    /**
      * Dial the number using the phone passed in.
      *
-     * If the connection is establised, this method issues a sync call
-     * that may block to query the caller info.
-     * TODO: Change the logic to use the async query.
-     *
      * @param context To perform the CallerInfo query.
      * @param phone the Phone object.
      * @param number to be dialed as requested by the user. This is
      * NOT the phone number to connect to. It is used only to build the
      * call card and to update the call log. See above for restrictions.
-     * @param contactRef that triggered the call. Typically a 'tel:'
-     * uri but can also be a 'content://contacts' one.
-     * @param isEmergencyCall indicates that whether or not this is an
-     * emergency call
-     * @param gatewayUri Is the address used to setup the connection, null
-     * if not using a gateway
-     * @param callGateway Class for setting gateway data on a successful call.
      *
      * @return either CALL_STATUS_DIALED or CALL_STATUS_FAILED
      */
-    public static int placeCall(Context context, Phone phone, String number, Uri contactRef,
-            boolean isEmergencyCall, RawGatewayInfo gatewayInfo, CallGatewayManager callGateway) {
-        final Uri gatewayUri = gatewayInfo.gatewayUri;
+    public static int placeOtaspCall(Context context, Phone phone, String number) {
+        final Uri gatewayUri = null;
 
         if (VDBG) {
             log("placeCall()... number: '" + number + "'"
-                    + ", GW:'" + gatewayUri + "'"
-                    + ", contactRef:" + contactRef
-                    + ", isEmergencyCall: " + isEmergencyCall);
+                    + ", GW:'" + gatewayUri + "'");
         } else {
             log("placeCall()... number: " + toLogSafePhoneNumber(number)
-                    + ", GW: " + (gatewayUri != null ? "non-null" : "null")
-                    + ", emergency? " + isEmergencyCall);
+                    + ", GW: " + (gatewayUri != null ? "non-null" : "null"));
         }
         final PhoneGlobals app = PhoneGlobals.getInstance();
 
         boolean useGateway = false;
-        if (null != gatewayUri &&
-            !isEmergencyCall &&
-            PhoneUtils.isRoutableViaGateway(number)) {  // Filter out MMI, OTA and other codes.
-            useGateway = true;
-        }
+        Uri contactRef = null;
 
         int status = CALL_STATUS_DIALED;
         Connection connection;
         String numberToDial;
-        if (useGateway) {
-            // TODO: 'tel' should be a constant defined in framework base
-            // somewhere (it is in webkit.)
-            if (null == gatewayUri || !PhoneAccount.SCHEME_TEL.equals(gatewayUri.getScheme())) {
-                Log.e(LOG_TAG, "Unsupported URL:" + gatewayUri);
-                return CALL_STATUS_FAILED;
-            }
-
-            // We can use getSchemeSpecificPart because we don't allow #
-            // in the gateway numbers (treated a fragment delim.) However
-            // if we allow more complex gateway numbers sequence (with
-            // passwords or whatnot) that use #, this may break.
-            // TODO: Need to support MMI codes.
-            numberToDial = gatewayUri.getSchemeSpecificPart();
-        } else {
-            numberToDial = number;
-        }
+        numberToDial = number;
 
         try {
             connection = app.mCM.dial(phone, numberToDial, VideoProfile.STATE_AUDIO_ONLY);
@@ -228,33 +190,6 @@
             if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
                 updateCdmaCallStateOnNewOutgoingCall(app, connection);
             }
-
-            if (gatewayUri == null) {
-                // phone.dial() succeeded: we're now in a normal phone call.
-                // attach the URI to the CallerInfo Object if it is there,
-                // otherwise just attach the Uri Reference.
-                // if the uri does not have a "content" scheme, then we treat
-                // it as if it does NOT have a unique reference.
-                String content = context.getContentResolver().SCHEME_CONTENT;
-                if ((contactRef != null) && (contactRef.getScheme().equals(content))) {
-                    Object userDataObject = connection.getUserData();
-                    if (userDataObject == null) {
-                        connection.setUserData(contactRef);
-                    } else {
-                        // TODO: This branch is dead code, we have
-                        // just created the connection which has
-                        // no user data (null) by default.
-                        if (userDataObject instanceof CallerInfo) {
-                        ((CallerInfo) userDataObject).contactRefUri = contactRef;
-                        } else {
-                        ((CallerInfoToken) userDataObject).currentInfo.contactRefUri =
-                            contactRef;
-                        }
-                    }
-                }
-            }
-
-            startGetCallerInfo(context, connection, null, null, gatewayInfo);
         }
 
         return status;
@@ -299,7 +234,7 @@
                                           MmiCode mmiCode,
                                           Message buttonCallbackMessage,
                                           Dialog previousAlert) {
-        log("displayMMIInitiate: " + android.telecom.Log.pii(mmiCode.toString()));
+        log("displayMMIInitiate: " + Rlog.pii(LOG_TAG, mmiCode.toString()));
         if (previousAlert != null) {
             previousAlert.dismiss();
         }
@@ -428,7 +363,7 @@
         // Check to see if a UI exists for the PUK activation.  If it does
         // exist, then it indicates that we're trying to unblock the PUK.
         if ((app.getPUKEntryActivity() != null) && (state == MmiCode.State.COMPLETE)) {
-            if (DBG) log("displaying PUK unblocking progress dialog.");
+            log("displaying PUK unblocking progress dialog.");
 
             // create the progress dialog, make sure the flags and type are
             // set correctly.
@@ -448,7 +383,7 @@
             app.setPukEntryProgressDialog(pd);
 
         } else if ((app.getPUKEntryActivity() != null) && (state == MmiCode.State.FAILED)) {
-            createUssdDialog(app, context, text,
+            createUssdDialog(app, context, text, phone,
                     WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
             // In case of failure to unlock, we'll need to reset the
             // PUK unlock activity, so that the user may try again.
@@ -463,7 +398,7 @@
             // A USSD in a pending state means that it is still
             // interacting with the user.
             if (state != MmiCode.State.PENDING) {
-                createUssdDialog(app, context, text,
+                createUssdDialog(app, context, text, phone,
                         WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
             } else {
                 log("displayMMIComplete: USSD code has requested user input. Constructing input "
@@ -575,19 +510,70 @@
                 newDialog.getButton(DialogInterface.BUTTON_NEGATIVE)
                         .setTextColor(context.getResources().getColor(R.color.dialer_theme_color));
             }
+
+            if (mmiCode.isNetworkInitiatedUssd()) {
+                playSound(context);
+            }
         }
     }
 
+    private static void playSound(Context context) {
+        AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        int callsRingerMode = audioManager.getRingerMode();
+
+        if (callsRingerMode == AudioManager.RINGER_MODE_NORMAL) {
+            log("playSound : RINGER_MODE_NORMAL");
+            try {
+                Uri notificationUri = RingtoneManager.getDefaultUri(
+                        RingtoneManager.TYPE_NOTIFICATION);
+                MediaPlayer mediaPlayer = new MediaPlayer();
+                mediaPlayer.setDataSource(context, notificationUri);
+                AudioAttributes aa = new AudioAttributes.Builder()
+                        .setLegacyStreamType(AudioManager.STREAM_NOTIFICATION)
+                        .setUsage(AudioAttributes.USAGE_NOTIFICATION)
+                        .build();
+                mediaPlayer.setAudioAttributes(aa);
+                mediaPlayer.setLooping(false);
+                mediaPlayer.prepare();
+                mediaPlayer.start();
+            } catch (IOException e) {
+                log("playSound exception : " + e);
+            }
+        } else if (callsRingerMode == AudioManager.RINGER_MODE_VIBRATE) {
+            log("playSound : RINGER_MODE_VIBRATE");
+            Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
+            // Use NotificationManagerService#DEFAULT_VIBRATE_PATTERN if
+            // 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));
+        }
+    }
+
+    private static long[] getLongArray(Resources r, int resid, long[] def) {
+        int[] ar = r.getIntArray(resid);
+        if (ar == null) {
+            return def;
+        }
+        final int len = ar.length;
+        long[] out = new long[len];
+        for (int i = 0; i < len; i++) {
+            out[i] = ar[i];
+        }
+        return out;
+    }
+
     /**
      * It displays the message dialog for user about the mmi code result message.
      *
      * @param app This is {@link PhoneGlobals}
      * @param context Context to get strings.
      * @param text This is message's result.
+     * @param phone This is phone to create sssd dialog.
      * @param windowType The new window type. {@link WindowManager.LayoutParams}.
      */
     public static void createUssdDialog(PhoneGlobals app, Context context, CharSequence text,
-            int windowType) {
+            Phone phone, int windowType) {
         log("displayMMIComplete: MMI code has finished running.");
 
         log("displayMMIComplete: Extended NW displayMMIInitiate (" + text + ")");
@@ -598,32 +584,36 @@
         // 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.
+        AlertDialog ussdDialog = new AlertDialog.Builder(context, THEME)
+                .setPositiveButton(R.string.ok, null)
+                .setCancelable(true)
+                .setOnDismissListener(new DialogInterface.OnDismissListener() {
+                    @Override
+                    public void onDismiss(DialogInterface dialog) {
+                        sUssdMsg.setLength(0);
+                    }
+                })
+                .create();
 
-        if (sUssdDialog == null) {
-            sUssdDialog = new AlertDialog.Builder(context, THEME)
-                    .setPositiveButton(R.string.ok, null)
-                    .setCancelable(true)
-                    .setOnDismissListener(new DialogInterface.OnDismissListener() {
-                        @Override
-                        public void onDismiss(DialogInterface dialog) {
-                            sUssdMsg.setLength(0);
-                        }
-                    })
-                    .create();
+        ussdDialog.getWindow().setType(windowType);
+        ussdDialog.getWindow().addFlags(
+                WindowManager.LayoutParams.FLAG_DIM_BEHIND);
 
-            sUssdDialog.getWindow().setType(windowType);
-            sUssdDialog.getWindow().addFlags(
-                    WindowManager.LayoutParams.FLAG_DIM_BEHIND);
-        }
         if (sUssdMsg.length() != 0) {
-            sUssdMsg
-                    .insert(0, "\n")
+            sUssdMsg.insert(0, "\n")
                     .insert(0, app.getResources().getString(R.string.ussd_dialog_sep))
                     .insert(0, "\n");
         }
+        if (phone != null && phone.getCarrierName() != null) {
+            ussdDialog.setTitle(app.getResources().getString(R.string.carrier_mmi_msg_title,
+                    phone.getCarrierName()));
+        } else {
+            ussdDialog
+                    .setTitle(app.getResources().getString(R.string.default_carrier_mmi_msg_title));
+        }
         sUssdMsg.insert(0, text);
-        sUssdDialog.setMessage(sUssdMsg.toString());
-        sUssdDialog.show();
+        ussdDialog.setMessage(sUssdMsg.toString());
+        ussdDialog.show();
     }
 
     /**
@@ -654,533 +644,12 @@
         return canceled;
     }
 
-    /**
-     * Returns the caller-id info corresponding to the specified Connection.
-     * (This is just a simple wrapper around CallerInfo.getCallerInfo(): we
-     * extract a phone number from the specified Connection, and feed that
-     * number into CallerInfo.getCallerInfo().)
-     *
-     * The returned CallerInfo may be null in certain error cases, like if the
-     * specified Connection was null, or if we weren't able to get a valid
-     * phone number from the Connection.
-     *
-     * Finally, if the getCallerInfo() call did succeed, we save the resulting
-     * CallerInfo object in the "userData" field of the Connection.
-     *
-     * NOTE: This API should be avoided, with preference given to the
-     * asynchronous startGetCallerInfo API.
-     */
-    static CallerInfo getCallerInfo(Context context, Connection c) {
-        CallerInfo info = null;
-
-        if (c != null) {
-            //See if there is a URI attached.  If there is, this means
-            //that there is no CallerInfo queried yet, so we'll need to
-            //replace the URI with a full CallerInfo object.
-            Object userDataObject = c.getUserData();
-            if (userDataObject instanceof Uri) {
-                info = CallerInfo.getCallerInfo(context, (Uri) userDataObject);
-                if (info != null) {
-                    c.setUserData(info);
-                }
-            } else {
-                if (userDataObject instanceof CallerInfoToken) {
-                    //temporary result, while query is running
-                    info = ((CallerInfoToken) userDataObject).currentInfo;
-                } else {
-                    //final query result
-                    info = (CallerInfo) userDataObject;
-                }
-                if (info == null) {
-                    // No URI, or Existing CallerInfo, so we'll have to make do with
-                    // querying a new CallerInfo using the connection's phone number.
-                    String number = c.getAddress();
-
-                    if (DBG) log("getCallerInfo: number = " + toLogSafePhoneNumber(number));
-
-                    if (!TextUtils.isEmpty(number)) {
-                        info = CallerInfo.getCallerInfo(context, number);
-                        if (info != null) {
-                            c.setUserData(info);
-                        }
-                    }
-                }
-            }
-        }
-        return info;
-    }
-
-    /**
-     * Class returned by the startGetCallerInfo call to package a temporary
-     * CallerInfo Object, to be superceded by the CallerInfo Object passed
-     * into the listener when the query with token mAsyncQueryToken is complete.
-     */
-    public static class CallerInfoToken {
-        /**indicates that there will no longer be updates to this request.*/
-        public boolean isFinal;
-
-        public CallerInfo currentInfo;
-        public CallerInfoAsyncQuery asyncQuery;
-    }
-
-    /**
-     * place a temporary callerinfo object in the hands of the caller and notify
-     * caller when the actual query is done.
-     */
-    static CallerInfoToken startGetCallerInfo(Context context, Connection c,
-            CallerInfoAsyncQuery.OnQueryCompleteListener listener, Object cookie,
-            RawGatewayInfo info) {
-        CallerInfoToken cit;
-
-        if (c == null) {
-            //TODO: perhaps throw an exception here.
-            cit = new CallerInfoToken();
-            cit.asyncQuery = null;
-            return cit;
-        }
-
-        Object userDataObject = c.getUserData();
-
-        // There are now 3 states for the Connection's userData object:
-        //
-        //   (1) Uri - query has not been executed yet
-        //
-        //   (2) CallerInfoToken - query is executing, but has not completed.
-        //
-        //   (3) CallerInfo - query has executed.
-        //
-        // In each case we have slightly different behaviour:
-        //   1. If the query has not been executed yet (Uri or null), we start
-        //      query execution asynchronously, and note it by attaching a
-        //      CallerInfoToken as the userData.
-        //   2. If the query is executing (CallerInfoToken), we've essentially
-        //      reached a state where we've received multiple requests for the
-        //      same callerInfo.  That means that once the query is complete,
-        //      we'll need to execute the additional listener requested.
-        //   3. If the query has already been executed (CallerInfo), we just
-        //      return the CallerInfo object as expected.
-        //   4. Regarding isFinal - there are cases where the CallerInfo object
-        //      will not be attached, like when the number is empty (caller id
-        //      blocking).  This flag is used to indicate that the
-        //      CallerInfoToken object is going to be permanent since no
-        //      query results will be returned.  In the case where a query
-        //      has been completed, this flag is used to indicate to the caller
-        //      that the data will not be updated since it is valid.
-        //
-        //      Note: For the case where a number is NOT retrievable, we leave
-        //      the CallerInfo as null in the CallerInfoToken.  This is
-        //      something of a departure from the original code, since the old
-        //      code manufactured a CallerInfo object regardless of the query
-        //      outcome.  From now on, we will append an empty CallerInfo
-        //      object, to mirror previous behaviour, and to avoid Null Pointer
-        //      Exceptions.
-
-        if (userDataObject instanceof Uri) {
-            // State (1): query has not been executed yet
-
-            //create a dummy callerinfo, populate with what we know from URI.
-            cit = new CallerInfoToken();
-            cit.currentInfo = new CallerInfo();
-            cit.asyncQuery = CallerInfoAsyncQuery.startQuery(QUERY_TOKEN, context,
-                    (Uri) userDataObject, sCallerInfoQueryListener, c);
-            cit.asyncQuery.addQueryListener(QUERY_TOKEN, listener, cookie);
-            cit.isFinal = false;
-
-            c.setUserData(cit);
-
-            if (DBG) log("startGetCallerInfo: query based on Uri: " + userDataObject);
-
-        } else if (userDataObject == null) {
-            // No URI, or Existing CallerInfo, so we'll have to make do with
-            // querying a new CallerInfo using the connection's phone number.
-            String number = c.getAddress();
-
-            if (info != null && info != CallGatewayManager.EMPTY_INFO) {
-                // Gateway number, the connection number is actually the gateway number.
-                // need to lookup via dialed number.
-                number = info.trueNumber;
-            }
-
-            if (DBG) {
-                log("PhoneUtils.startGetCallerInfo: new query for phone number...");
-                log("- number (address): " + toLogSafePhoneNumber(number));
-                log("- c: " + c);
-                log("- phone: " + c.getCall().getPhone());
-                int phoneType = c.getCall().getPhone().getPhoneType();
-                log("- phoneType: " + phoneType);
-                switch (phoneType) {
-                    case PhoneConstants.PHONE_TYPE_NONE: log("  ==> PHONE_TYPE_NONE"); break;
-                    case PhoneConstants.PHONE_TYPE_GSM: log("  ==> PHONE_TYPE_GSM"); break;
-                    case PhoneConstants.PHONE_TYPE_IMS: log("  ==> PHONE_TYPE_IMS"); break;
-                    case PhoneConstants.PHONE_TYPE_CDMA: log("  ==> PHONE_TYPE_CDMA"); break;
-                    case PhoneConstants.PHONE_TYPE_SIP: log("  ==> PHONE_TYPE_SIP"); break;
-                    case PhoneConstants.PHONE_TYPE_THIRD_PARTY:
-                        log("  ==> PHONE_TYPE_THIRD_PARTY");
-                        break;
-                    default: log("  ==> Unknown phone type"); break;
-                }
-            }
-
-            cit = new CallerInfoToken();
-            cit.currentInfo = new CallerInfo();
-
-            // Store CNAP information retrieved from the Connection (we want to do this
-            // here regardless of whether the number is empty or not).
-            cit.currentInfo.cnapName =  c.getCnapName();
-            cit.currentInfo.name = cit.currentInfo.cnapName; // This can still get overwritten
-                                                             // by ContactInfo later
-            cit.currentInfo.numberPresentation = c.getNumberPresentation();
-            cit.currentInfo.namePresentation = c.getCnapNamePresentation();
-
-            if (VDBG) {
-                log("startGetCallerInfo: number = " + number);
-                log("startGetCallerInfo: CNAP Info from FW(1): name="
-                    + cit.currentInfo.cnapName
-                    + ", Name/Number Pres=" + cit.currentInfo.numberPresentation);
-            }
-
-            // handling case where number is null (caller id hidden) as well.
-            if (!TextUtils.isEmpty(number)) {
-                // Check for special CNAP cases and modify the CallerInfo accordingly
-                // to be sure we keep the right information to display/log later
-                number = modifyForSpecialCnapCases(context, cit.currentInfo, number,
-                        cit.currentInfo.numberPresentation);
-
-                cit.currentInfo.phoneNumber = number;
-                // For scenarios where we may receive a valid number from the network but a
-                // restricted/unavailable presentation, we do not want to perform a contact query
-                // (see note on isFinal above). So we set isFinal to true here as well.
-                if (cit.currentInfo.numberPresentation != PhoneConstants.PRESENTATION_ALLOWED) {
-                    cit.isFinal = true;
-                } else {
-                    if (DBG) log("==> Actually starting CallerInfoAsyncQuery.startQuery()...");
-                    cit.asyncQuery = CallerInfoAsyncQuery.startQuery(QUERY_TOKEN, context,
-                            number, sCallerInfoQueryListener, c);
-                    cit.asyncQuery.addQueryListener(QUERY_TOKEN, listener, cookie);
-                    cit.isFinal = false;
-                }
-            } else {
-                // This is the case where we are querying on a number that
-                // is null or empty, like a caller whose caller id is
-                // blocked or empty (CLIR).  The previous behaviour was to
-                // throw a null CallerInfo object back to the user, but
-                // this departure is somewhat cleaner.
-                if (DBG) log("startGetCallerInfo: No query to start, send trivial reply.");
-                cit.isFinal = true; // please see note on isFinal, above.
-            }
-
-            c.setUserData(cit);
-
-            if (DBG) {
-                log("startGetCallerInfo: query based on number: " + toLogSafePhoneNumber(number));
-            }
-
-        } else if (userDataObject instanceof CallerInfoToken) {
-            // State (2): query is executing, but has not completed.
-
-            // just tack on this listener to the queue.
-            cit = (CallerInfoToken) userDataObject;
-
-            // handling case where number is null (caller id hidden) as well.
-            if (cit.asyncQuery != null) {
-                cit.asyncQuery.addQueryListener(QUERY_TOKEN, listener, cookie);
-
-                if (DBG) log("startGetCallerInfo: query already running, adding listener: " +
-                        listener.getClass().toString());
-            } else {
-                // handling case where number/name gets updated later on by the network
-                String updatedNumber = c.getAddress();
-
-                if (info != null) {
-                    // Gateway number, the connection number is actually the gateway number.
-                    // need to lookup via dialed number.
-                    updatedNumber = info.trueNumber;
-                }
-
-                if (DBG) {
-                    log("startGetCallerInfo: updatedNumber initially = "
-                            + toLogSafePhoneNumber(updatedNumber));
-                }
-                if (!TextUtils.isEmpty(updatedNumber)) {
-                    // Store CNAP information retrieved from the Connection
-                    cit.currentInfo.cnapName =  c.getCnapName();
-                    // This can still get overwritten by ContactInfo
-                    cit.currentInfo.name = cit.currentInfo.cnapName;
-                    cit.currentInfo.numberPresentation = c.getNumberPresentation();
-                    cit.currentInfo.namePresentation = c.getCnapNamePresentation();
-
-                    updatedNumber = modifyForSpecialCnapCases(context, cit.currentInfo,
-                            updatedNumber, cit.currentInfo.numberPresentation);
-
-                    cit.currentInfo.phoneNumber = updatedNumber;
-                    if (DBG) {
-                        log("startGetCallerInfo: updatedNumber="
-                                + toLogSafePhoneNumber(updatedNumber));
-                    }
-                    if (VDBG) {
-                        log("startGetCallerInfo: CNAP Info from FW(2): name="
-                                + cit.currentInfo.cnapName
-                                + ", Name/Number Pres=" + cit.currentInfo.numberPresentation);
-                    } else if (DBG) {
-                        log("startGetCallerInfo: CNAP Info from FW(2)");
-                    }
-                    // For scenarios where we may receive a valid number from the network but a
-                    // restricted/unavailable presentation, we do not want to perform a contact query
-                    // (see note on isFinal above). So we set isFinal to true here as well.
-                    if (cit.currentInfo.numberPresentation != PhoneConstants.PRESENTATION_ALLOWED) {
-                        cit.isFinal = true;
-                    } else {
-                        cit.asyncQuery = CallerInfoAsyncQuery.startQuery(QUERY_TOKEN, context,
-                                updatedNumber, sCallerInfoQueryListener, c);
-                        cit.asyncQuery.addQueryListener(QUERY_TOKEN, listener, cookie);
-                        cit.isFinal = false;
-                    }
-                } else {
-                    if (DBG) log("startGetCallerInfo: No query to attach to, send trivial reply.");
-                    if (cit.currentInfo == null) {
-                        cit.currentInfo = new CallerInfo();
-                    }
-                    // Store CNAP information retrieved from the Connection
-                    cit.currentInfo.cnapName = c.getCnapName();  // This can still get
-                                                                 // overwritten by ContactInfo
-                    cit.currentInfo.name = cit.currentInfo.cnapName;
-                    cit.currentInfo.numberPresentation = c.getNumberPresentation();
-                    cit.currentInfo.namePresentation = c.getCnapNamePresentation();
-
-                    if (VDBG) {
-                        log("startGetCallerInfo: CNAP Info from FW(3): name="
-                                + cit.currentInfo.cnapName
-                                + ", Name/Number Pres=" + cit.currentInfo.numberPresentation);
-                    } else if (DBG) {
-                        log("startGetCallerInfo: CNAP Info from FW(3)");
-                    }
-                    cit.isFinal = true; // please see note on isFinal, above.
-                }
-            }
-        } else {
-            // State (3): query is complete.
-
-            // The connection's userDataObject is a full-fledged
-            // CallerInfo instance.  Wrap it in a CallerInfoToken and
-            // return it to the user.
-
-            cit = new CallerInfoToken();
-            cit.currentInfo = (CallerInfo) userDataObject;
-            cit.asyncQuery = null;
-            cit.isFinal = true;
-            // since the query is already done, call the listener.
-            if (DBG) log("startGetCallerInfo: query already done, returning CallerInfo");
-            if (DBG) log("==> cit.currentInfo = " + cit.currentInfo);
-        }
-        return cit;
-    }
-
-    /**
-     * Static CallerInfoAsyncQuery.OnQueryCompleteListener instance that
-     * we use with all our CallerInfoAsyncQuery.startQuery() requests.
-     */
-    private static final int QUERY_TOKEN = -1;
-    static CallerInfoAsyncQuery.OnQueryCompleteListener sCallerInfoQueryListener =
-        new CallerInfoAsyncQuery.OnQueryCompleteListener () {
-            /**
-             * When the query completes, we stash the resulting CallerInfo
-             * object away in the Connection's "userData" (where it will
-             * later be retrieved by the in-call UI.)
-             */
-            public void onQueryComplete(int token, Object cookie, CallerInfo ci) {
-                if (DBG) log("query complete, updating connection.userdata");
-                Connection conn = (Connection) cookie;
-
-                // Added a check if CallerInfo is coming from ContactInfo or from Connection.
-                // If no ContactInfo, then we want to use CNAP information coming from network
-                if (DBG) log("- onQueryComplete: CallerInfo:" + ci);
-                if (ci.contactExists || ci.isEmergencyNumber() || ci.isVoiceMailNumber()) {
-                    // If the number presentation has not been set by
-                    // the ContactInfo, use the one from the
-                    // connection.
-
-                    // TODO: Need a new util method to merge the info
-                    // from the Connection in a CallerInfo object.
-                    // Here 'ci' is a new CallerInfo instance read
-                    // from the DB. It has lost all the connection
-                    // info preset before the query (see PhoneUtils
-                    // line 1334). We should have a method to merge
-                    // back into this new instance the info from the
-                    // connection object not set by the DB. If the
-                    // Connection already has a CallerInfo instance in
-                    // userData, then we could use this instance to
-                    // fill 'ci' in. The same routine could be used in
-                    // PhoneUtils.
-                    if (0 == ci.numberPresentation) {
-                        ci.numberPresentation = conn.getNumberPresentation();
-                    }
-                } else {
-                    // No matching contact was found for this number.
-                    // Return a new CallerInfo based solely on the CNAP
-                    // information from the network.
-
-                    CallerInfo newCi = getCallerInfo(null, conn);
-
-                    // ...but copy over the (few) things we care about
-                    // from the original CallerInfo object:
-                    if (newCi != null) {
-                        newCi.phoneNumber = ci.phoneNumber; // To get formatted phone number
-                        newCi.geoDescription = ci.geoDescription; // To get geo description string
-                        ci = newCi;
-                    }
-                }
-
-                if (DBG) log("==> Stashing CallerInfo " + ci + " into the connection...");
-                conn.setUserData(ci);
-            }
-        };
-
-
-    /**
-     * Returns a single "name" for the specified given a CallerInfo object.
-     * If the name is null, return defaultString as the default value, usually
-     * context.getString(R.string.unknown).
-     */
-    static String getCompactNameFromCallerInfo(CallerInfo ci, Context context) {
-        if (DBG) log("getCompactNameFromCallerInfo: info = " + ci);
-
-        String compactName = null;
-        if (ci != null) {
-            if (TextUtils.isEmpty(ci.name)) {
-                // Perform any modifications for special CNAP cases to
-                // the phone number being displayed, if applicable.
-                compactName = modifyForSpecialCnapCases(context, ci, ci.phoneNumber,
-                                                        ci.numberPresentation);
-            } else {
-                // Don't call modifyForSpecialCnapCases on regular name. See b/2160795.
-                compactName = ci.name;
-            }
-        }
-
-        if ((compactName == null) || (TextUtils.isEmpty(compactName))) {
-            // If we're still null/empty here, then check if we have a presentation
-            // string that takes precedence that we could return, otherwise display
-            // "unknown" string.
-            if (ci != null && ci.numberPresentation == PhoneConstants.PRESENTATION_RESTRICTED) {
-                compactName = context.getString(R.string.private_num);
-            } else if (ci != null && ci.numberPresentation == PhoneConstants.PRESENTATION_PAYPHONE) {
-                compactName = context.getString(R.string.payphone);
-            } else {
-                compactName = context.getString(R.string.unknown);
-            }
-        }
-        if (VDBG) log("getCompactNameFromCallerInfo: compactName=" + compactName);
-        return compactName;
-    }
-
-    static boolean isInEmergencyCall(CallManager cm) {
-        Call fgCall = cm.getActiveFgCall();
-        // isIdle includes checks for the DISCONNECTING/DISCONNECTED state.
-        if(!fgCall.isIdle()) {
-            for (Connection cn : fgCall.getConnections()) {
-                if (PhoneNumberUtils.isLocalEmergencyNumber(PhoneGlobals.getInstance(),
-                        cn.getAddress())) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
 
     //
     // Misc UI policy helper functions
     //
 
     /**
-     * Based on the input CNAP number string,
-     * @return _RESTRICTED or _UNKNOWN for all the special CNAP strings.
-     * Otherwise, return CNAP_SPECIAL_CASE_NO.
-     */
-    private static int checkCnapSpecialCases(String n) {
-        if (n.equals("PRIVATE") ||
-                n.equals("P") ||
-                n.equals("RES")) {
-            if (DBG) log("checkCnapSpecialCases, PRIVATE string: " + n);
-            return PhoneConstants.PRESENTATION_RESTRICTED;
-        } else if (n.equals("UNAVAILABLE") ||
-                n.equals("UNKNOWN") ||
-                n.equals("UNA") ||
-                n.equals("U")) {
-            if (DBG) log("checkCnapSpecialCases, UNKNOWN string: " + n);
-            return PhoneConstants.PRESENTATION_UNKNOWN;
-        } else {
-            if (DBG) log("checkCnapSpecialCases, normal str. number: " + n);
-            return CNAP_SPECIAL_CASE_NO;
-        }
-    }
-
-    /**
-     * Handles certain "corner cases" for CNAP. When we receive weird phone numbers
-     * from the network to indicate different number presentations, convert them to
-     * expected number and presentation values within the CallerInfo object.
-     * @param number number we use to verify if we are in a corner case
-     * @param presentation presentation value used to verify if we are in a corner case
-     * @return the new String that should be used for the phone number
-     */
-    /* package */ static String modifyForSpecialCnapCases(Context context, CallerInfo ci,
-            String number, int presentation) {
-        // Obviously we return number if ci == null, but still return number if
-        // number == null, because in these cases the correct string will still be
-        // displayed/logged after this function returns based on the presentation value.
-        if (ci == null || number == null) return number;
-
-        if (DBG) {
-            log("modifyForSpecialCnapCases: initially, number="
-                    + toLogSafePhoneNumber(number)
-                    + ", presentation=" + presentation + " ci " + ci);
-        }
-
-        // "ABSENT NUMBER" is a possible value we could get from the network as the
-        // phone number, so if this happens, change it to "Unknown" in the CallerInfo
-        // and fix the presentation to be the same.
-        final String[] absentNumberValues =
-                context.getResources().getStringArray(R.array.absent_num);
-        if (Arrays.asList(absentNumberValues).contains(number)
-                && presentation == PhoneConstants.PRESENTATION_ALLOWED) {
-            number = context.getString(R.string.unknown);
-            ci.numberPresentation = PhoneConstants.PRESENTATION_UNKNOWN;
-        }
-
-        // Check for other special "corner cases" for CNAP and fix them similarly. Corner
-        // cases only apply if we received an allowed presentation from the network, so check
-        // if we think we have an allowed presentation, or if the CallerInfo presentation doesn't
-        // match the presentation passed in for verification (meaning we changed it previously
-        // because it's a corner case and we're being called from a different entry point).
-        if (ci.numberPresentation == PhoneConstants.PRESENTATION_ALLOWED
-                || (ci.numberPresentation != presentation
-                        && presentation == PhoneConstants.PRESENTATION_ALLOWED)) {
-            int cnapSpecialCase = checkCnapSpecialCases(number);
-            if (cnapSpecialCase != CNAP_SPECIAL_CASE_NO) {
-                // For all special strings, change number & numberPresentation.
-                if (cnapSpecialCase == PhoneConstants.PRESENTATION_RESTRICTED) {
-                    number = context.getString(R.string.private_num);
-                } else if (cnapSpecialCase == PhoneConstants.PRESENTATION_UNKNOWN) {
-                    number = context.getString(R.string.unknown);
-                }
-                if (DBG) {
-                    log("SpecialCnap: number=" + toLogSafePhoneNumber(number)
-                            + "; presentation now=" + cnapSpecialCase);
-                }
-                ci.numberPresentation = cnapSpecialCase;
-            }
-        }
-        if (DBG) {
-            log("modifyForSpecialCnapCases: returning number string="
-                    + toLogSafePhoneNumber(number));
-        }
-        return number;
-    }
-
-    //
-    // Support for 3rd party phone service providers.
-    //
-
-    /**
      * Check if a phone number can be route through a 3rd party
      * gateway. The number must be a global phone number in numerical
      * form (1-800-666-SEXY won't work).
@@ -1289,7 +758,7 @@
      * {@code false} otherwise.
      */
     public static boolean isPhoneAccountActive(SubscriptionManager sm, PhoneAccountHandle handle) {
-        return sm.getActiveSubscriptionInfoForIccIndex(handle.getId()) != null;
+        return sm.getActiveSubscriptionInfoForIcc(handle.getId()) != null;
     }
 
     private static ComponentName getPstnConnectionServiceName() {
diff --git a/src/com/android/phone/RestrictedPreference.java b/src/com/android/phone/RestrictedPreference.java
deleted file mode 100644
index b8b6fe7..0000000
--- a/src/com/android/phone/RestrictedPreference.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2018 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 com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-import android.content.Context;
-import android.preference.Preference;
-import android.preference.PreferenceScreen;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.TextView;
-
-import com.android.settingslib.RestrictedLockUtils;
-
-/**
- * Preference class that supports being disabled by a device admin.
- *
- * <p>This class is a mimic of ../../../frameworks/base/packages/SettingsLib/src/com/android
- * /settingslib/RestrictedPreference.java,
- * but support framework {@link Preference}.
- */
-public class RestrictedPreference extends Preference {
-    private final Context mContext;
-
-    private boolean mDisabledByAdmin;
-    private EnforcedAdmin mEnforcedAdmin;
-
-    public RestrictedPreference(Context context, AttributeSet attrs,
-            int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        mContext = context;
-
-        setLayoutResource(com.android.settingslib.R.layout.preference_two_target);
-        setWidgetLayoutResource(R.layout.restricted_icon);
-    }
-
-    public RestrictedPreference(Context context, AttributeSet attrs, int defStyleAttr) {
-        this(context, attrs, defStyleAttr, 0);
-    }
-
-    public RestrictedPreference(Context context, AttributeSet attrs) {
-        this(context, attrs, android.R.attr.preferenceStyle);
-    }
-
-    public RestrictedPreference(Context context) {
-        this(context, null);
-    }
-
-    @Override
-    public void performClick(PreferenceScreen preferenceScreen) {
-        if (mDisabledByAdmin) {
-            RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mEnforcedAdmin);
-        } else {
-            super.performClick(preferenceScreen);
-        }
-    }
-
-    @Override
-    protected void onBindView(View view) {
-        super.onBindView(view);
-
-        final View divider = view.findViewById(com.android.settingslib.R.id.two_target_divider);
-        final View widgetFrame = view.findViewById(android.R.id.widget_frame);
-        final View restrictedIcon = view.findViewById(R.id.restricted_icon);
-        final TextView summaryView = view.findViewById(android.R.id.summary);
-        if (divider != null) {
-            divider.setVisibility(mDisabledByAdmin ? View.VISIBLE : View.GONE);
-        }
-        if (widgetFrame != null) {
-            widgetFrame.setVisibility(mDisabledByAdmin ? View.VISIBLE : View.GONE);
-        }
-        if (restrictedIcon != null) {
-            restrictedIcon.setVisibility(mDisabledByAdmin ? View.VISIBLE : View.GONE);
-        }
-        if (summaryView != null && mDisabledByAdmin) {
-            summaryView.setText(com.android.settingslib.R.string.disabled_by_admin_summary_text);
-            summaryView.setVisibility(View.VISIBLE);
-        }
-
-        if (mDisabledByAdmin) {
-            view.setEnabled(true);
-        }
-    }
-
-    @Override
-    public void setEnabled(boolean enabled) {
-        if (enabled && mDisabledByAdmin) {
-            setDisabledByAdmin(null);
-            return;
-        }
-        super.setEnabled(enabled);
-    }
-
-    /**
-     * Disable this preference based on the enforce admin.
-     *
-     * @param admin Details of the admin who enforced the restriction. If it is {@code null}, then
-     * this preference will be enabled. Otherwise, it will be disabled.
-     */
-    public void setDisabledByAdmin(EnforcedAdmin admin) {
-        final boolean disabled = admin != null;
-        mEnforcedAdmin = admin;
-        boolean changed = false;
-        if (mDisabledByAdmin != disabled) {
-            mDisabledByAdmin = disabled;
-            changed = true;
-        }
-        setEnabled(!disabled);
-        if (changed) {
-            notifyChanged();
-        }
-    }
-}
diff --git a/src/com/android/phone/RestrictedSwitchPreference.java b/src/com/android/phone/RestrictedSwitchPreference.java
deleted file mode 100644
index ba6b65e..0000000
--- a/src/com/android/phone/RestrictedSwitchPreference.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2016 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.os.UserHandle;
-import android.os.UserManager;
-import android.preference.PreferenceScreen;
-import android.preference.SwitchPreference;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.TextView;
-
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-public class RestrictedSwitchPreference extends SwitchPreference {
-    private final Context mContext;
-    private boolean mDisabledByAdmin;
-    private final int mSwitchWidgetResId;
-
-    public RestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr,
-            int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-        mSwitchWidgetResId = getWidgetLayoutResource();
-        mContext = context;
-    }
-
-    public RestrictedSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) {
-        this(context, attrs, defStyleAttr, 0);
-    }
-
-    public RestrictedSwitchPreference(Context context, AttributeSet attrs) {
-        this(context, attrs, com.android.internal.R.attr.switchPreferenceStyle);
-    }
-
-    public RestrictedSwitchPreference(Context context) {
-        this(context, null);
-    }
-
-    @Override
-    public void onBindView(View view) {
-        super.onBindView(view);
-        if (mDisabledByAdmin) {
-            view.setEnabled(true);
-        }
-        final TextView summaryView = (TextView) view.findViewById(android.R.id.summary);
-        if (summaryView != null && mDisabledByAdmin) {
-            summaryView.setText(
-                    isChecked() ? R.string.enabled_by_admin : R.string.disabled_by_admin);
-            summaryView.setVisibility(View.VISIBLE);
-        }
-    }
-
-    public void checkRestrictionAndSetDisabled(String userRestriction) {
-        UserManager um = UserManager.get(mContext);
-        UserHandle user = UserHandle.of(um.getUserHandle());
-        boolean disabledByAdmin = um.hasUserRestriction(userRestriction, user)
-                && !um.hasBaseUserRestriction(userRestriction, user);
-        setDisabledByAdmin(disabledByAdmin);
-    }
-
-    @Override
-    public void setEnabled(boolean enabled) {
-        if (enabled && mDisabledByAdmin) {
-            setDisabledByAdmin(false);
-        } else {
-            super.setEnabled(enabled);
-        }
-    }
-
-    public void setDisabledByAdmin(boolean disabled) {
-        if (mDisabledByAdmin != disabled) {
-            mDisabledByAdmin = disabled;
-            setWidgetLayoutResource(disabled ? R.layout.restricted_icon : mSwitchWidgetResId);
-            setEnabled(!disabled);
-        }
-    }
-
-    @Override
-    public void performClick(PreferenceScreen preferenceScreen) {
-        if (mDisabledByAdmin) {
-            RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext,
-                    new EnforcedAdmin());
-        } else {
-            super.performClick(preferenceScreen);
-        }
-    }
-}
diff --git a/src/com/android/phone/RoamingDialogFragment.java b/src/com/android/phone/RoamingDialogFragment.java
deleted file mode 100644
index 384a120..0000000
--- a/src/com/android/phone/RoamingDialogFragment.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2016 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.app.Dialog;
-import android.app.DialogFragment;
-import android.app.Fragment;
-import android.app.FragmentManager;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
-import android.os.Bundle;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-
-/**
- * A dialog fragment that asks the user if they are sure they want to turn on data roaming
- * to avoid accidental charges.
- */
-public class RoamingDialogFragment extends DialogFragment implements OnClickListener {
-
-    public static final String SUB_ID_KEY = "sub_id_key";
-
-    private CarrierConfigManager mCarrierConfigManager;
-    private int mSubId;
-
-    /**
-     * The interface we expect a host activity to implement.
-     */
-    public interface RoamingDialogListener {
-        void onPositiveButtonClick(DialogFragment dialog);
-    }
-
-    // the host activity which implements the listening interface
-    private RoamingDialogListener mListener;
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        Bundle args = getArguments();
-        mSubId = args.getInt(SUB_ID_KEY);
-        mCarrierConfigManager = new CarrierConfigManager(context);
-
-        // Verify host activity implemented callback interface
-        FragmentManager fragmentManager = getFragmentManager();
-        Fragment fragment = fragmentManager.findFragmentById(R.id.network_setting_content);
-        try {
-            mListener = (RoamingDialogListener) fragment;
-        } catch (ClassCastException e) {
-            throw new ClassCastException(fragment.toString() +
-                    "must implement RoamingDialogListener");
-        }
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-        int title = R.string.roaming_alert_title;
-        PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        if (carrierConfig != null && carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL)) {
-            title = R.string.roaming_check_price_warning;
-        }
-        builder.setMessage(getResources().getString(R.string.roaming_warning))
-                .setTitle(title)
-                .setIconAttribute(android.R.attr.alertDialogIcon)
-                .setPositiveButton(android.R.string.yes, this)
-                .setNegativeButton(android.R.string.no, this);
-        return builder.create();
-    }
-
-    @Override
-    public void onClick(DialogInterface dialog, int which) {
-        // let the host know that the positive button has been clicked
-        if (which == dialog.BUTTON_POSITIVE) {
-            mListener.onPositiveButtonClick(this);
-        }
-    }
-}
diff --git a/src/com/android/phone/ServiceStateProvider.java b/src/com/android/phone/ServiceStateProvider.java
new file mode 100644
index 0000000..a7d27d5
--- /dev/null
+++ b/src/com/android/phone/ServiceStateProvider.java
@@ -0,0 +1,566 @@
+/*
+ * 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 com.android.phone;
+
+import static android.provider.Telephony.ServiceStateTable;
+import static android.provider.Telephony.ServiceStateTable.CONTENT_URI;
+import static android.provider.Telephony.ServiceStateTable.IS_MANUAL_NETWORK_SELECTION;
+import static android.provider.Telephony.ServiceStateTable.VOICE_REG_STATE;
+import static android.provider.Telephony.ServiceStateTable.getUriForSubscriptionId;
+import static android.provider.Telephony.ServiceStateTable.getUriForSubscriptionIdAndField;
+
+import android.content.ContentProvider;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.database.MatrixCursor;
+import android.database.MatrixCursor.RowBuilder;
+import android.net.Uri;
+import android.os.Parcel;
+import android.telephony.ServiceState;
+import android.telephony.SubscriptionManager;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * The class to provide base facility to access ServiceState related content,
+ * which is stored in a SQLite database.
+ */
+public class ServiceStateProvider extends ContentProvider {
+    private static final String TAG = "ServiceStateProvider";
+
+    public static final String AUTHORITY = ServiceStateTable.AUTHORITY;
+    public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);
+
+    /**
+     * The current service state.
+     *
+     * This is the entire {@link ServiceState} object in byte array.
+     *
+     * @hide
+     */
+    public static final String SERVICE_STATE = "service_state";
+
+    /**
+     * An integer value indicating the current data service state.
+     * <p>
+     * Valid values: {@link ServiceState#STATE_IN_SERVICE},
+     * {@link ServiceState#STATE_OUT_OF_SERVICE}, {@link ServiceState#STATE_EMERGENCY_ONLY},
+     * {@link ServiceState#STATE_POWER_OFF}.
+     * <p>
+     * This is the same as {@link ServiceState#getDataRegState()}.
+     * @hide
+     */
+    public static final String DATA_REG_STATE = "data_reg_state";
+
+    /**
+     * An integer value indicating the current voice roaming type.
+     * <p>
+     * This is the same as {@link ServiceState#getVoiceRoamingType()}.
+     * @hide
+     */
+    public static final String VOICE_ROAMING_TYPE = "voice_roaming_type";
+
+    /**
+     * An integer value indicating the current data roaming type.
+     * <p>
+     * This is the same as {@link ServiceState#getDataRoamingType()}.
+     * @hide
+     */
+    public static final String DATA_ROAMING_TYPE = "data_roaming_type";
+
+    /**
+     * The current registered voice network operator name in long alphanumeric format.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorAlphaLong()}.
+     * @hide
+     */
+    public static final String VOICE_OPERATOR_ALPHA_LONG = "voice_operator_alpha_long";
+
+    /**
+     * The current registered operator name in short alphanumeric format.
+     * <p>
+     * In GSM/UMTS, short format can be up to 8 characters long. The current registered voice
+     * network operator name in long alphanumeric format.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorAlphaShort()}.
+     * @hide
+     */
+    public static final String VOICE_OPERATOR_ALPHA_SHORT = "voice_operator_alpha_short";
+
+    /**
+     * The current registered operator numeric id.
+     * <p>
+     * In GSM/UMTS, numeric format is 3 digit country code plus 2 or 3 digit
+     * network code.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorNumeric()}.
+     */
+    public static final String VOICE_OPERATOR_NUMERIC = "voice_operator_numeric";
+
+    /**
+     * The current registered data network operator name in long alphanumeric format.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorAlphaLong()}.
+     * @hide
+     */
+    public static final String DATA_OPERATOR_ALPHA_LONG = "data_operator_alpha_long";
+
+    /**
+     * The current registered data network operator name in short alphanumeric format.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorAlphaShort()}.
+     * @hide
+     */
+    public static final String DATA_OPERATOR_ALPHA_SHORT = "data_operator_alpha_short";
+
+    /**
+     * The current registered data network operator numeric id.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorNumeric()}.
+     * @hide
+     */
+    public static final String DATA_OPERATOR_NUMERIC = "data_operator_numeric";
+
+    /**
+     * This is the same as {@link ServiceState#getRilVoiceRadioTechnology()}.
+     * @hide
+     */
+    public static final String RIL_VOICE_RADIO_TECHNOLOGY = "ril_voice_radio_technology";
+
+    /**
+     * This is the same as {@link ServiceState#getRilDataRadioTechnology()}.
+     * @hide
+     */
+    public static final String RIL_DATA_RADIO_TECHNOLOGY = "ril_data_radio_technology";
+
+    /**
+     * This is the same as {@link ServiceState#getCssIndicator()}.
+     * @hide
+     */
+    public static final String CSS_INDICATOR = "css_indicator";
+
+    /**
+     * This is the same as {@link ServiceState#getCdmaNetworkId()}.
+     * @hide
+     */
+    public static final String NETWORK_ID = "network_id";
+
+    /**
+     * This is the same as {@link ServiceState#getCdmaSystemId()}.
+     * @hide
+     */
+    public static final String SYSTEM_ID = "system_id";
+
+    /**
+     * This is the same as {@link ServiceState#getCdmaRoamingIndicator()}.
+     * @hide
+     */
+    public static final String CDMA_ROAMING_INDICATOR = "cdma_roaming_indicator";
+
+    /**
+     * This is the same as {@link ServiceState#getCdmaDefaultRoamingIndicator()}.
+     * @hide
+     */
+    public static final String CDMA_DEFAULT_ROAMING_INDICATOR =
+            "cdma_default_roaming_indicator";
+
+    /**
+     * This is the same as {@link ServiceState#getCdmaEriIconIndex()}.
+     * @hide
+     */
+    public static final String CDMA_ERI_ICON_INDEX = "cdma_eri_icon_index";
+
+    /**
+     * This is the same as {@link ServiceState#getCdmaEriIconMode()}.
+     * @hide
+     */
+    public static final String CDMA_ERI_ICON_MODE = "cdma_eri_icon_mode";
+
+    /**
+     * This is the same as {@link ServiceState#isEmergencyOnly()}.
+     * @hide
+     */
+    public static final String IS_EMERGENCY_ONLY = "is_emergency_only";
+
+    /**
+     * This is the same as {@link ServiceState#getDataRoamingFromRegistration()}.
+     * @hide
+     */
+    public static final String IS_DATA_ROAMING_FROM_REGISTRATION =
+            "is_data_roaming_from_registration";
+
+    /**
+     * This is the same as {@link ServiceState#isUsingCarrierAggregation()}.
+     * @hide
+     */
+    public static final String IS_USING_CARRIER_AGGREGATION = "is_using_carrier_aggregation";
+
+    /**
+     * The current registered raw data network operator name in long alphanumeric format.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorAlphaLongRaw()}.
+     * @hide
+     */
+    public static final String OPERATOR_ALPHA_LONG_RAW = "operator_alpha_long_raw";
+
+    /**
+     * The current registered raw data network operator name in short alphanumeric format.
+     * <p>
+     * This is the same as {@link ServiceState#getOperatorAlphaShortRaw()}.
+     * @hide
+     */
+    public static final String OPERATOR_ALPHA_SHORT_RAW = "operator_alpha_short_raw";
+
+    private final HashMap<Integer, ServiceState> mServiceStates = new HashMap<>();
+    private static final String[] sColumns = {
+        VOICE_REG_STATE,
+        DATA_REG_STATE,
+        VOICE_ROAMING_TYPE,
+        DATA_ROAMING_TYPE,
+        VOICE_OPERATOR_ALPHA_LONG,
+        VOICE_OPERATOR_ALPHA_SHORT,
+        VOICE_OPERATOR_NUMERIC,
+        DATA_OPERATOR_ALPHA_LONG,
+        DATA_OPERATOR_ALPHA_SHORT,
+        DATA_OPERATOR_NUMERIC,
+        IS_MANUAL_NETWORK_SELECTION,
+        RIL_VOICE_RADIO_TECHNOLOGY,
+        RIL_DATA_RADIO_TECHNOLOGY,
+        CSS_INDICATOR,
+        NETWORK_ID,
+        SYSTEM_ID,
+        CDMA_ROAMING_INDICATOR,
+        CDMA_DEFAULT_ROAMING_INDICATOR,
+        CDMA_ERI_ICON_INDEX,
+        CDMA_ERI_ICON_MODE,
+        IS_EMERGENCY_ONLY,
+        IS_USING_CARRIER_AGGREGATION,
+        OPERATOR_ALPHA_LONG_RAW,
+        OPERATOR_ALPHA_SHORT_RAW,
+    };
+
+    @Override
+    public boolean onCreate() {
+        return true;
+    }
+
+    /**
+     * Returns the {@link ServiceState} information on specified subscription.
+     *
+     * @param subId whose subscriber id is returned
+     * @return the {@link ServiceState} information on specified subscription.
+     */
+    @VisibleForTesting
+    public ServiceState getServiceState(int subId) {
+        return mServiceStates.get(subId);
+    }
+
+    /**
+     * Returns the system's default subscription id.
+     *
+     * @return the "system" default subscription id.
+     */
+    @VisibleForTesting
+    public int getDefaultSubId() {
+        return SubscriptionManager.getDefaultSubscriptionId();
+    }
+
+    @Override
+    public Uri insert(Uri uri, ContentValues values) {
+        if (isPathPrefixMatch(uri, CONTENT_URI)) {
+            // Parse the subId
+            int subId = 0;
+            try {
+                subId = Integer.parseInt(uri.getLastPathSegment());
+            } catch (NumberFormatException e) {
+                Log.e(TAG, "insert: no subId provided in uri");
+                throw e;
+            }
+            Log.d(TAG, "subId=" + subId);
+
+            // handle DEFAULT_SUBSCRIPTION_ID
+            if (subId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID) {
+                subId = getDefaultSubId();
+            }
+
+            final Parcel p = Parcel.obtain();
+            final byte[] rawBytes = values.getAsByteArray(SERVICE_STATE);
+            p.unmarshall(rawBytes, 0, rawBytes.length);
+            p.setDataPosition(0);
+
+            // create the new service state
+            final ServiceState newSS = ServiceState.CREATOR.createFromParcel(p);
+
+            // notify listeners
+            // if ss is null (e.g. first service state update) we will notify for all fields
+            ServiceState ss = getServiceState(subId);
+            notifyChangeForSubIdAndField(getContext(), ss, newSS, subId);
+            notifyChangeForSubId(getContext(), ss, newSS, subId);
+
+            // store the new service state
+            mServiceStates.put(subId, newSS);
+            return uri;
+        }
+        return null;
+    }
+
+    @Override
+    public int delete(Uri uri, String selection, String[] selectionArgs) {
+        throw new RuntimeException("Not supported");
+    }
+
+    @Override
+    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+        throw new RuntimeException("Not supported");
+    }
+
+    @Override
+    public String getType(Uri uri) {
+        throw new RuntimeException("Not supported");
+    }
+
+    @Override
+    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
+            String sortOrder) {
+        if (!isPathPrefixMatch(uri, CONTENT_URI)) {
+            throw new IllegalArgumentException("Invalid URI: " + uri);
+        } else {
+            // Parse the subId
+            int subId = 0;
+            try {
+                subId = Integer.parseInt(uri.getLastPathSegment());
+            } catch (NumberFormatException e) {
+                Log.d(TAG, "query: no subId provided in uri, using default.");
+                subId = getDefaultSubId();
+            }
+            Log.d(TAG, "subId=" + subId);
+
+            // handle DEFAULT_SUBSCRIPTION_ID
+            if (subId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID) {
+                subId = getDefaultSubId();
+            }
+
+            // Get the service state
+            ServiceState ss = getServiceState(subId);
+            if (ss == null) {
+                Log.d(TAG, "returning null");
+                return null;
+            }
+
+            // Build the result
+            final int voice_reg_state = ss.getState();
+            final int data_reg_state = ss.getDataRegistrationState();
+            final int voice_roaming_type = ss.getVoiceRoamingType();
+            final int data_roaming_type = ss.getDataRoamingType();
+            final String voice_operator_alpha_long = ss.getOperatorAlphaLong();
+            final String voice_operator_alpha_short = ss.getOperatorAlphaShort();
+            final String voice_operator_numeric = ss.getOperatorNumeric();
+            final String data_operator_alpha_long = ss.getOperatorAlphaLong();
+            final String data_operator_alpha_short = ss.getOperatorAlphaShort();
+            final String data_operator_numeric = ss.getOperatorNumeric();
+            final int is_manual_network_selection = (ss.getIsManualSelection()) ? 1 : 0;
+            final int ril_voice_radio_technology = ss.getRilVoiceRadioTechnology();
+            final int ril_data_radio_technology = ss.getRilDataRadioTechnology();
+            final int css_indicator = ss.getCssIndicator();
+            final int network_id = ss.getCdmaNetworkId();
+            final int system_id = ss.getCdmaSystemId();
+            final int cdma_roaming_indicator = ss.getCdmaRoamingIndicator();
+            final int cdma_default_roaming_indicator = ss.getCdmaDefaultRoamingIndicator();
+            final int cdma_eri_icon_index = ss.getCdmaEriIconIndex();
+            final int cdma_eri_icon_mode = ss.getCdmaEriIconMode();
+            final int is_emergency_only = (ss.isEmergencyOnly()) ? 1 : 0;
+            final int is_using_carrier_aggregation = (ss.isUsingCarrierAggregation()) ? 1 : 0;
+            final String operator_alpha_long_raw = ss.getOperatorAlphaLongRaw();
+            final String operator_alpha_short_raw = ss.getOperatorAlphaShortRaw();
+
+            return buildSingleRowResult(projection, sColumns, new Object[] {
+                    voice_reg_state,
+                    data_reg_state,
+                    voice_roaming_type,
+                    data_roaming_type,
+                    voice_operator_alpha_long,
+                    voice_operator_alpha_short,
+                    voice_operator_numeric,
+                    data_operator_alpha_long,
+                    data_operator_alpha_short,
+                    data_operator_numeric,
+                    is_manual_network_selection,
+                    ril_voice_radio_technology,
+                    ril_data_radio_technology,
+                    css_indicator,
+                    network_id,
+                    system_id,
+                    cdma_roaming_indicator,
+                    cdma_default_roaming_indicator,
+                    cdma_eri_icon_index,
+                    cdma_eri_icon_mode,
+                    is_emergency_only,
+                    is_using_carrier_aggregation,
+                    operator_alpha_long_raw,
+                    operator_alpha_short_raw,
+            });
+        }
+    }
+
+    private static Cursor buildSingleRowResult(String[] projection, String[] availableColumns,
+            Object[] data) {
+        if (projection == null) {
+            projection = availableColumns;
+        }
+        final MatrixCursor c = new MatrixCursor(projection, 1);
+        final RowBuilder row = c.newRow();
+        for (int i = 0; i < c.getColumnCount(); i++) {
+            final String columnName = c.getColumnName(i);
+            boolean found = false;
+            for (int j = 0; j < availableColumns.length; j++) {
+                if (availableColumns[j].equals(columnName)) {
+                    row.add(data[j]);
+                    found = true;
+                    break;
+                }
+            }
+            if (!found) {
+                throw new IllegalArgumentException("Invalid column " + projection[i]);
+            }
+        }
+        return c;
+    }
+
+    /**
+     * Notify interested apps that certain fields of the ServiceState have changed.
+     *
+     * Apps which want to wake when specific fields change can use
+     * JobScheduler's TriggerContentUri.  This replaces the waking functionality of the implicit
+     * broadcast of ACTION_SERVICE_STATE_CHANGED for apps targeting version O.
+     *
+     * We will only notify for certain fields. This is an intentional change from the behavior of
+     * the broadcast. Listeners will be notified when the voice or data registration state or
+     * roaming type changes.
+     */
+    @VisibleForTesting
+    public static void notifyChangeForSubIdAndField(Context context, ServiceState oldSS,
+            ServiceState newSS, int subId) {
+        final boolean firstUpdate = (oldSS == null) ? true : false;
+
+        // for every field, if the field has changed values, notify via the provider
+        if (firstUpdate || voiceRegStateChanged(oldSS, newSS)) {
+            context.getContentResolver().notifyChange(
+                    getUriForSubscriptionIdAndField(subId, VOICE_REG_STATE),
+                    /* observer= */ null, /* syncToNetwork= */ false);
+        }
+        if (firstUpdate || dataRegStateChanged(oldSS, newSS)) {
+            context.getContentResolver().notifyChange(
+                    getUriForSubscriptionIdAndField(subId, DATA_REG_STATE), null, false);
+        }
+        if (firstUpdate || voiceRoamingTypeChanged(oldSS, newSS)) {
+            context.getContentResolver().notifyChange(
+                    getUriForSubscriptionIdAndField(subId, VOICE_ROAMING_TYPE), null, false);
+        }
+        if (firstUpdate || dataRoamingTypeChanged(oldSS, newSS)) {
+            context.getContentResolver().notifyChange(
+                    getUriForSubscriptionIdAndField(subId, DATA_ROAMING_TYPE), null, false);
+        }
+    }
+
+    private static boolean voiceRegStateChanged(ServiceState oldSS, ServiceState newSS) {
+        return oldSS.getState() != newSS.getState();
+    }
+
+    private static boolean dataRegStateChanged(ServiceState oldSS, ServiceState newSS) {
+        return oldSS.getDataRegistrationState() != newSS.getDataRegistrationState();
+    }
+
+    private static boolean voiceRoamingTypeChanged(ServiceState oldSS, ServiceState newSS) {
+        return oldSS.getVoiceRoamingType() != newSS.getVoiceRoamingType();
+    }
+
+    private static boolean dataRoamingTypeChanged(ServiceState oldSS, ServiceState newSS) {
+        return oldSS.getDataRoamingType() != newSS.getDataRoamingType();
+    }
+
+    /**
+     * Notify interested apps that the ServiceState has changed.
+     *
+     * Apps which want to wake when any field in the ServiceState has changed can use
+     * JobScheduler's TriggerContentUri.  This replaces the waking functionality of the implicit
+     * broadcast of ACTION_SERVICE_STATE_CHANGED for apps targeting version O.
+     *
+     * We will only notify for certain fields. This is an intentional change from the behavior of
+     * the broadcast. Listeners will only be notified when the voice/data registration state or
+     * roaming type changes.
+     */
+    @VisibleForTesting
+    public static void notifyChangeForSubId(Context context, ServiceState oldSS, ServiceState newSS,
+            int subId) {
+        // if the voice or data registration or roaming state field has changed values, notify via
+        // the provider.
+        // If oldSS is null and newSS is not (e.g. first update of service state) this will also
+        // notify
+        if (oldSS == null || voiceRegStateChanged(oldSS, newSS) || dataRegStateChanged(oldSS, newSS)
+                || voiceRoamingTypeChanged(oldSS, newSS) || dataRoamingTypeChanged(oldSS, newSS)) {
+            context.getContentResolver().notifyChange(getUriForSubscriptionId(subId), null, false);
+        }
+    }
+
+    /**
+     * Test if this is a path prefix match against the given Uri. Verifies that
+     * scheme, authority, and atomic path segments match.
+     *
+     * Copied from frameworks/base/core/java/android/net/Uri.java
+     */
+    private boolean isPathPrefixMatch(Uri uriA, Uri uriB) {
+        if (!Objects.equals(uriA.getScheme(), uriB.getScheme())) return false;
+        if (!Objects.equals(uriA.getAuthority(), uriB.getAuthority())) return false;
+
+        List<String> segA = uriA.getPathSegments();
+        List<String> segB = uriB.getPathSegments();
+
+        final int size = segB.size();
+        if (segA.size() < size) return false;
+
+        for (int i = 0; i < size; i++) {
+            if (!Objects.equals(segA.get(i), segB.get(i))) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    /**
+     * Used to insert a ServiceState into the ServiceStateProvider as a ContentValues instance.
+     *
+     * @param state the ServiceState to convert into ContentValues
+     * @return the convertedContentValues instance
+     * @hide
+     */
+    public static ContentValues getContentValuesForServiceState(ServiceState state) {
+        ContentValues values = new ContentValues();
+        final Parcel p = Parcel.obtain();
+        state.writeToParcel(p, 0);
+        // Turn the parcel to byte array. Safe to do this because the content values were never
+        // written into a persistent storage. ServiceStateProvider keeps values in the memory.
+        values.put(SERVICE_STATE, p.marshall());
+        return values;
+    }
+}
diff --git a/src/com/android/phone/ShortcutViewUtils.java b/src/com/android/phone/ShortcutViewUtils.java
index 47ca5ee..e3c5b64 100644
--- a/src/com/android/phone/ShortcutViewUtils.java
+++ b/src/com/android/phone/ShortcutViewUtils.java
@@ -33,7 +33,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
-import com.android.internal.util.ArrayUtils;
+import com.android.internal.telephony.util.ArrayUtils;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/com/android/phone/SpecialCharSequenceMgr.java b/src/com/android/phone/SpecialCharSequenceMgr.java
index 514b2c9..674449e 100644
--- a/src/com/android/phone/SpecialCharSequenceMgr.java
+++ b/src/com/android/phone/SpecialCharSequenceMgr.java
@@ -21,6 +21,7 @@
 import android.content.ActivityNotFoundException;
 import android.content.Context;
 import android.content.Intent;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.SubscriptionInfo;
@@ -233,32 +234,45 @@
         // if a dialstring is an MMI code.
         if ((input.startsWith("**04") || input.startsWith("**05"))
                 && input.endsWith("#")) {
-            PhoneGlobals app = PhoneGlobals.getInstance();
-            Phone phone;
-            int subId;
-            if (input.startsWith("**04")) {
-                subId = getNextSubIdForState(IccCardConstants.State.PIN_REQUIRED, context);
-            } else {
-                subId = getNextSubIdForState(IccCardConstants.State.PUK_REQUIRED, context);
-            }
-            if (SubscriptionManager.isValidSubscriptionId(subId)) {
-                log("get phone with subId: " + subId);
-                phone = PhoneGlobals.getPhone(subId);
-            } else {
-                log("get default phone");
-                phone = PhoneGlobals.getPhone();
-            }
-            boolean isMMIHandled = phone.handlePinMmi(input);
+            UserManager userManager = (UserManager) pukInputActivity
+                       .getSystemService(Context.USER_SERVICE);
+            if (userManager.isSystemUser()) {
+                PhoneGlobals app = PhoneGlobals.getInstance();
+                Phone phone;
+                int subId;
+                if (input.startsWith("**04")) {
+                    subId = getNextSubIdForState(IccCardConstants.State.PIN_REQUIRED, context);
+                } else {
+                    subId = getNextSubIdForState(IccCardConstants.State.PUK_REQUIRED, context);
+                }
+                if (SubscriptionManager.isValidSubscriptionId(subId)) {
+                    log("get phone with subId: " + subId);
+                    phone = PhoneGlobals.getPhone(subId);
+                } else {
+                    log("get default phone");
+                    phone = PhoneGlobals.getPhone();
+                }
+                boolean isMMIHandled = phone.handlePinMmi(input);
 
-            // if the PUK code is recognized then indicate to the
-            // phone app that an attempt to unPUK the device was
-            // made with this activity.  The PUK code may still
-            // fail though, but we won't know until the MMI code
-            // returns a result.
-            if (isMMIHandled && input.startsWith("**05")) {
-                app.setPukEntryActivity(pukInputActivity);
+                // if the PUK code is recognized then indicate to the
+                // phone app that an attempt to unPUK the device was
+                // made with this activity.  The PUK code may still
+                // fail though, but we won't know until the MMI code
+                // returns a result.
+                if (isMMIHandled && input.startsWith("**05")) {
+                    app.setPukEntryActivity(pukInputActivity);
+                }
+                return isMMIHandled;
+            } else {
+                AlertDialog dialog = new AlertDialog.Builder(context)
+                        .setMessage(R.string.pin_puk_system_user_only)
+                        .setPositiveButton(R.string.ok, null)
+                        .setCancelable(true).create();
+                dialog.show();
+                dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
+                dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
+                return true;
             }
-            return isMMIHandled;
         }
         return false;
     }
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index a59c9c4..0348389 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -16,20 +16,29 @@
 
 package com.android.phone;
 
+import android.content.Context;
+import android.os.BasicShellCommandHandler;
 import android.os.Binder;
+import android.os.PersistableBundle;
 import android.os.Process;
 import android.os.RemoteException;
-import android.os.ShellCommand;
-import android.os.UserHandle;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.emergency.EmergencyNumber;
+import android.telephony.ims.feature.ImsFeature;
 import android.util.Log;
 
 import com.android.internal.telephony.ITelephony;
 import com.android.internal.telephony.emergency.EmergencyNumberTracker;
+import com.android.internal.telephony.util.TelephonyUtils;
 
 import java.io.PrintWriter;
 import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeSet;
 
 /**
  * Takes actions based on the adb commands given by "adb shell cmd phone ...". Be careful, no
@@ -37,7 +46,7 @@
  * here also contain the appropriate permissions checks.
  */
 
-public class TelephonyShellCommand extends ShellCommand {
+public class TelephonyShellCommand extends BasicShellCommandHandler {
 
     private static final String LOG_TAG = "TelephonyShellCommand";
     // Don't commit with this true.
@@ -45,27 +54,84 @@
     private static final int DEFAULT_PHONE_ID = 0;
 
     private static final String IMS_SUBCOMMAND = "ims";
-    private static final String SMS_SUBCOMMAND = "sms";
     private static final String NUMBER_VERIFICATION_SUBCOMMAND = "numverify";
     private static final String EMERGENCY_NUMBER_TEST_MODE = "emergency-number-test-mode";
+    private static final String CARRIER_CONFIG_SUBCOMMAND = "cc";
+    private static final String DATA_TEST_MODE = "data";
+    private static final String DATA_ENABLE = "enable";
+    private static final String DATA_DISABLE = "disable";
 
     private static final String IMS_SET_CARRIER_SERVICE = "set-ims-service";
     private static final String IMS_GET_CARRIER_SERVICE = "get-ims-service";
     private static final String IMS_ENABLE = "enable";
     private static final String IMS_DISABLE = "disable";
-
-    private static final String SMS_GET_APPS = "get-apps";
-    private static final String SMS_GET_DEFAULT_APP = "get-default-app";
-    private static final String SMS_SET_DEFAULT_APP = "set-default-app";
+    // Used to disable or enable processing of conference event package data from the network.
+    // This is handy for testing scenarios where CEP data does not exist on a network which does
+    // support CEP data.
+    private static final String IMS_CEP = "conference-event-package";
 
     private static final String NUMBER_VERIFICATION_OVERRIDE_PACKAGE = "override-package";
     private static final String NUMBER_VERIFICATION_FAKE_CALL = "fake-call";
 
+    private static final String CC_GET_VALUE = "get-value";
+    private static final String CC_SET_VALUE = "set-value";
+    private static final String CC_CLEAR_VALUES = "clear-values";
+
     // Take advantage of existing methods that already contain permissions checks when possible.
     private final ITelephony mInterface;
 
-    public TelephonyShellCommand(ITelephony binder) {
+    private SubscriptionManager mSubscriptionManager;
+    private CarrierConfigManager mCarrierConfigManager;
+
+    private enum CcType {
+        BOOLEAN, DOUBLE, DOUBLE_ARRAY, INT, INT_ARRAY, LONG, LONG_ARRAY, STRING,
+                STRING_ARRAY, UNKNOWN
+    }
+
+    private class CcOptionParseResult {
+        public int mSubId;
+        public boolean mPersistent;
+    }
+
+    // Maps carrier config keys to type. It is possible to infer the type for most carrier config
+    // keys by looking at the end of the string which usually tells the type.
+    // For instance: "xxxx_string", "xxxx_string_array", etc.
+    // The carrier config keys in this map does not follow this convention. It is therefore not
+    // possible to infer the type for these keys by looking at the string.
+    private static final Map<String, CcType> CC_TYPE_MAP = new HashMap<String, CcType>() {{
+            put(CarrierConfigManager.Gps.KEY_A_GLONASS_POS_PROTOCOL_SELECT_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_GPS_LOCK_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_LPP_PROFILE_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_NFW_PROXY_APPS_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_SUPL_ES_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_SUPL_HOST_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_SUPL_MODE_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_SUPL_PORT_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_SUPL_VER_STRING, CcType.STRING);
+            put(CarrierConfigManager.Gps.KEY_USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL_STRING,
+                    CcType.STRING);
+            put(CarrierConfigManager.KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
+                    CcType.STRING_ARRAY);
+            put(CarrierConfigManager.KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
+                    CcType.STRING_ARRAY);
+            put(CarrierConfigManager.KEY_CARRIER_CALL_SCREENING_APP_STRING, CcType.STRING);
+            put(CarrierConfigManager.KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING, CcType.STRING);
+            put(CarrierConfigManager.KEY_MMS_HTTP_PARAMS_STRING, CcType.STRING);
+            put(CarrierConfigManager.KEY_MMS_NAI_SUFFIX_STRING, CcType.STRING);
+            put(CarrierConfigManager.KEY_MMS_UA_PROF_TAG_NAME_STRING, CcType.STRING);
+            put(CarrierConfigManager.KEY_MMS_UA_PROF_URL_STRING, CcType.STRING);
+            put(CarrierConfigManager.KEY_MMS_USER_AGENT_STRING, CcType.STRING);
+            put(CarrierConfigManager.KEY_RATCHET_RAT_FAMILIES, CcType.STRING_ARRAY);
+        }
+    };
+
+    public TelephonyShellCommand(ITelephony binder, Context context) {
         mInterface = binder;
+        mCarrierConfigManager =
+                (CarrierConfigManager) context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
+        mSubscriptionManager = (SubscriptionManager)
+                context.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
     }
 
     @Override
@@ -78,13 +144,15 @@
             case IMS_SUBCOMMAND: {
                 return handleImsCommand();
             }
-            case SMS_SUBCOMMAND: {
-                return handleSmsCommand();
-            }
             case NUMBER_VERIFICATION_SUBCOMMAND:
                 return handleNumberVerificationCommand();
             case EMERGENCY_NUMBER_TEST_MODE:
                 return handleEmergencyNumberTestModeCommand();
+            case CARRIER_CONFIG_SUBCOMMAND: {
+                return handleCcCommand();
+            }
+            case DATA_TEST_MODE:
+                return handleDataTestModeCommand();
             default: {
                 return handleDefaultCommands(cmd);
             }
@@ -99,25 +167,30 @@
         pw.println("    Print this help text.");
         pw.println("  ims");
         pw.println("    IMS Commands.");
-        pw.println("  sms");
-        pw.println("    SMS Commands.");
         pw.println("  emergency-number-test-mode");
         pw.println("    Emergency Number Test Mode Commands.");
+        pw.println("  data");
+        pw.println("    Data Test Mode Commands.");
+        pw.println("  cc");
+        pw.println("    Carrier Config Commands.");
         onHelpIms();
-        onHelpSms();
         onHelpEmergencyNumber();
+        onHelpDataTestMode();
+        onHelpCc();
     }
 
     private void onHelpIms() {
         PrintWriter pw = getOutPrintWriter();
         pw.println("IMS Commands:");
-        pw.println("  ims set-ims-service [-s SLOT_ID] (-c | -d) PACKAGE_NAME");
+        pw.println("  ims set-ims-service [-s SLOT_ID] (-c | -d | -f) PACKAGE_NAME");
         pw.println("    Sets the ImsService defined in PACKAGE_NAME to to be the bound");
         pw.println("    ImsService. Options are:");
         pw.println("      -s: the slot ID that the ImsService should be bound for. If no option");
         pw.println("          is specified, it will choose the default voice SIM slot.");
         pw.println("      -c: Override the ImsService defined in the carrier configuration.");
         pw.println("      -d: Override the ImsService defined in the device overlay.");
+        pw.println("      -f: Set the feature that this override if for, if no option is");
+        pw.println("          specified, the new package name will be used for all features.");
         pw.println("  ims get-ims-service [-s SLOT_ID] [-c | -d]");
         pw.println("    Gets the package name of the currently defined ImsService.");
         pw.println("    Options are:");
@@ -125,26 +198,18 @@
         pw.println("          is specified, it will choose the default voice SIM slot.");
         pw.println("      -c: The ImsService defined as the carrier configured ImsService.");
         pw.println("      -c: The ImsService defined as the device default ImsService.");
+        pw.println("      -f: The feature type that the query will be requested for. If none is");
+        pw.println("          specified, the returned package name will correspond to MMTEL.");
         pw.println("  ims enable [-s SLOT_ID]");
         pw.println("    enables IMS for the SIM slot specified, or for the default voice SIM slot");
         pw.println("    if none is specified.");
         pw.println("  ims disable [-s SLOT_ID]");
         pw.println("    disables IMS for the SIM slot specified, or for the default voice SIM");
         pw.println("    slot if none is specified.");
+        pw.println("  ims conference-event-package [enable/disable]");
+        pw.println("    enables or disables handling or network conference event package data.");
     }
 
-    private void onHelpSms() {
-        PrintWriter pw = getOutPrintWriter();
-        pw.println("SMS Commands:");
-        pw.println("  sms get-apps [--user USER_ID]");
-        pw.println("    Print all SMS apps on a user.");
-        pw.println("  sms get-default-app [--user USER_ID]");
-        pw.println("    Get the default SMS app.");
-        pw.println("  sms set-default-app [--user USER_ID] PACKAGE_NAME");
-        pw.println("    Set PACKAGE_NAME as the default SMS app.");
-    }
-
-
     private void onHelpNumberVerification() {
         PrintWriter pw = getOutPrintWriter();
         pw.println("Number verification commands");
@@ -156,6 +221,13 @@
         pw.println("    1 if the call would have been intercepted, 0 otherwise.");
     }
 
+    private void onHelpDataTestMode() {
+        PrintWriter pw = getOutPrintWriter();
+        pw.println("Mobile Data Test Mode Commands:");
+        pw.println("  data enable: enable mobile data connectivity");
+        pw.println("  data disable: disable mobile data connectivity");
+    }
+
     private void onHelpEmergencyNumber() {
         PrintWriter pw = getOutPrintWriter();
         pw.println("Emergency Number Test Mode Commands:");
@@ -170,6 +242,34 @@
         pw.println("      -p: get the full emergency number list in the test mode.");
     }
 
+    private void onHelpCc() {
+        PrintWriter pw = getOutPrintWriter();
+        pw.println("Carrier Config Commands:");
+        pw.println("  cc get-value [-s SLOT_ID] [KEY]");
+        pw.println("    Print carrier config values.");
+        pw.println("    Options are:");
+        pw.println("      -s: The SIM slot ID to read carrier config value for. If no option");
+        pw.println("          is specified, it will choose the default voice SIM slot.");
+        pw.println("    KEY: The key to the carrier config value to print. All values are printed");
+        pw.println("         if KEY is not specified.");
+        pw.println("  cc set-value [-s SLOT_ID] [-p] KEY [NEW_VALUE]");
+        pw.println("    Set carrier config KEY to NEW_VALUE.");
+        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("    NEW_VALUE specifies the new value for carrier config KEY. Null will be");
+        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 clear-values [-s SLOT_ID]");
+        pw.println("    Clear all carrier override values that has previously been set");
+        pw.println("    with set-value");
+        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.");
+    }
+
     private int handleImsCommand() {
         String arg = getNextArg();
         if (arg == null) {
@@ -190,11 +290,49 @@
             case IMS_DISABLE: {
                 return handleDisableIms();
             }
+            case IMS_CEP: {
+                return handleCepChange();
+            }
         }
 
         return -1;
     }
 
+    private int handleDataTestModeCommand() {
+        PrintWriter errPw = getErrPrintWriter();
+        String arg = getNextArgRequired();
+        if (arg == null) {
+            onHelpDataTestMode();
+            return 0;
+        }
+        switch (arg) {
+            case DATA_ENABLE: {
+                try {
+                    mInterface.enableDataConnectivity();
+                } catch (RemoteException ex) {
+                    Log.w(LOG_TAG, "data enable, error " + ex.getMessage());
+                    errPw.println("Exception: " + ex.getMessage());
+                    return -1;
+                }
+                break;
+            }
+            case DATA_DISABLE: {
+                try {
+                    mInterface.disableDataConnectivity();
+                } catch (RemoteException ex) {
+                    Log.w(LOG_TAG, "data disable, error " + ex.getMessage());
+                    errPw.println("Exception: " + ex.getMessage());
+                    return -1;
+                }
+                break;
+            }
+            default:
+                onHelpDataTestMode();
+                break;
+        }
+        return 0;
+    }
+
     private int handleEmergencyNumberTestModeCommand() {
         PrintWriter errPw = getErrPrintWriter();
         String opt = getNextOption();
@@ -312,6 +450,7 @@
         PrintWriter errPw = getErrPrintWriter();
         int slotId = getDefaultSlot();
         Boolean isCarrierService = null;
+        List<Integer> featuresList = new ArrayList<>();
 
         String opt;
         while ((opt = getNextOption()) != null) {
@@ -333,6 +472,26 @@
                     isCarrierService = false;
                     break;
                 }
+                case "-f": {
+                    String featureString = getNextArgRequired();
+                    String[] features = featureString.split(",");
+                    for (int i = 0; i < features.length; i++) {
+                        try {
+                            Integer result = Integer.parseInt(features[i]);
+                            if (result < ImsFeature.FEATURE_EMERGENCY_MMTEL
+                                    || result >= ImsFeature.FEATURE_MAX) {
+                                errPw.println("ims set-ims-service -f " + result
+                                        + " is an invalid feature.");
+                                return -1;
+                            }
+                            featuresList.add(result);
+                        } catch (NumberFormatException e) {
+                            errPw.println("ims set-ims-service -f tried to parse " + features[i]
+                                            + " as an integer.");
+                            return -1;
+                        }
+                    }
+                }
             }
         }
         // Mandatory param, either -c or -d
@@ -347,16 +506,24 @@
             if (packageName == null) {
                 packageName = "";
             }
-            boolean result = mInterface.setImsService(slotId, isCarrierService, packageName);
+            int[] featureArray = new int[featuresList.size()];
+            for (int i = 0; i < featuresList.size(); i++) {
+                featureArray[i] = featuresList.get(i);
+            }
+            boolean result = mInterface.setBoundImsServiceOverride(slotId, isCarrierService,
+                    featureArray, packageName);
             if (VDBG) {
                 Log.v(LOG_TAG, "ims set-ims-service -s " + slotId + " "
-                        + (isCarrierService ? "-c " : "-d ") + packageName + ", result=" + result);
+                        + (isCarrierService ? "-c " : "-d ")
+                        + "-f " + featuresList + " "
+                        + packageName + ", result=" + result);
             }
             getOutPrintWriter().println(result);
         } catch (RemoteException e) {
             Log.w(LOG_TAG, "ims set-ims-service -s " + slotId + " "
-                    + (isCarrierService ? "-c " : "-d ") + packageName + ", error"
-                    + e.getMessage());
+                    + (isCarrierService ? "-c " : "-d ")
+                    + "-f " + featuresList + " "
+                    + packageName + ", error" + e.getMessage());
             errPw.println("Exception: " + e.getMessage());
             return -1;
         }
@@ -368,6 +535,7 @@
         PrintWriter errPw = getErrPrintWriter();
         int slotId = getDefaultSlot();
         Boolean isCarrierService = null;
+        Integer featureType = ImsFeature.FEATURE_MMTEL;
 
         String opt;
         while ((opt = getNextOption()) != null) {
@@ -389,23 +557,38 @@
                     isCarrierService = false;
                     break;
                 }
+                case "-f": {
+                    try {
+                        featureType = Integer.parseInt(getNextArg());
+                    } catch (NumberFormatException e) {
+                        errPw.println("ims get-ims-service -f requires valid integer as feature.");
+                        return -1;
+                    }
+                    if (featureType < ImsFeature.FEATURE_EMERGENCY_MMTEL
+                            || featureType >= ImsFeature.FEATURE_MAX) {
+                        errPw.println("ims get-ims-service -f invalid feature.");
+                        return -1;
+                    }
+                }
             }
         }
         // Mandatory param, either -c or -d
         if (isCarrierService == null) {
-            errPw.println("ims set-ims-service requires either \"-c\" or \"-d\" to be set.");
+            errPw.println("ims get-ims-service requires either \"-c\" or \"-d\" to be set.");
             return -1;
         }
 
         String result;
         try {
-            result = mInterface.getImsService(slotId, isCarrierService);
+            result = mInterface.getBoundImsServicePackage(slotId, isCarrierService, featureType);
         } catch (RemoteException e) {
             return -1;
         }
         if (VDBG) {
             Log.v(LOG_TAG, "ims get-ims-service -s " + slotId + " "
-                    + (isCarrierService ? "-c " : "-d ") + ", returned: " + result);
+                    + (isCarrierService ? "-c " : "-d ")
+                    + (featureType != null ? ("-f " + featureType) : "") + " , returned: "
+                    + result);
         }
         getOutPrintWriter().println(result);
         return 0;
@@ -466,6 +649,22 @@
         return 0;
     }
 
+    private int handleCepChange() {
+        Log.i(LOG_TAG, "handleCepChange");
+        String opt = getNextArg();
+        if (opt == null) {
+            return -1;
+        }
+        boolean isCepEnabled = opt.equals("enable");
+
+        try {
+            mInterface.setCepEnabled(isCepEnabled);
+        } catch (RemoteException e) {
+            return -1;
+        }
+        return 0;
+    }
+
     private int getDefaultSlot() {
         int slotId = SubscriptionManager.getDefaultVoicePhoneId();
         if (slotId <= SubscriptionManager.INVALID_SIM_SLOT_INDEX
@@ -476,85 +675,65 @@
         return slotId;
     }
 
-    private int handleSmsCommand() {
-        String arg = getNextArg();
-        if (arg == null) {
-            onHelpSms();
-            return 0;
-        }
+    // Parse options related to Carrier Config Commands.
+    private CcOptionParseResult parseCcOptions(String tag, boolean allowOptionPersistent) {
+        PrintWriter errPw = getErrPrintWriter();
+        CcOptionParseResult result = new CcOptionParseResult();
+        result.mSubId = SubscriptionManager.getDefaultSubscriptionId();
+        result.mPersistent = false;
 
-        try {
-            switch (arg) {
-                case SMS_GET_APPS: {
-                    return handleSmsGetApps();
-                }
-                case SMS_GET_DEFAULT_APP: {
-                    return handleSmsGetDefaultApp();
-                }
-                case SMS_SET_DEFAULT_APP: {
-                    return handleSmsSetDefaultApp();
-                }
-                default:
-                    getErrPrintWriter().println("Unknown command " + arg);
-            }
-        } catch (RemoteException e) {
-            getErrPrintWriter().println("RemoteException: " + e.getMessage());
-        }
-
-        return -1;
-    }
-
-    private int maybeParseUserIdArg() {
-        int userId = UserHandle.USER_SYSTEM;
         String opt;
         while ((opt = getNextOption()) != null) {
             switch (opt) {
-                case "--user": {
+                case "-s": {
                     try {
-                        userId = Integer.parseInt(getNextArgRequired());
-                    } catch (NumberFormatException e) {
-                        getErrPrintWriter().println("Invalid user ID for --user");
-                        return -1;
+                        result.mSubId = slotStringToSubId(tag, getNextArgRequired());
+                        if (!SubscriptionManager.isValidSubscriptionId(result.mSubId)) {
+                            errPw.println(tag + "No valid subscription found.");
+                            return null;
+                        }
+
+                    } catch (IllegalArgumentException e) {
+                        // Missing slot id
+                        errPw.println(tag + "SLOT_ID expected after -s.");
+                        return null;
                     }
                     break;
                 }
+                case "-p": {
+                    if (allowOptionPersistent) {
+                        result.mPersistent = true;
+                    } else {
+                        errPw.println(tag + "Unexpected option " + opt);
+                        return null;
+                    }
+                    break;
+                }
+                default: {
+                    errPw.println(tag + "Unknown option " + opt);
+                    return null;
+                }
             }
         }
-        return userId;
+        return result;
     }
 
-    private int handleSmsGetApps() throws RemoteException {
-        final int userId = maybeParseUserIdArg();
-        if (userId < 0) {
-            return -1;
+    private int slotStringToSubId(String tag, String slotString) {
+        int slotId = -1;
+        try {
+            slotId = Integer.parseInt(slotString);
+        } catch (NumberFormatException e) {
+            getErrPrintWriter().println(tag + slotString + " is not a valid SLOT_ID.");
+            return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
         }
 
-        for (String packageName : mInterface.getSmsApps(userId)) {
-            getOutPrintWriter().println(packageName);
+        SubscriptionInfo subInfo =
+                mSubscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(slotId);
+        if (subInfo == null) {
+            getErrPrintWriter().println(tag + "No subscription found in slot " + slotId + ".");
+            return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
         }
-        return 0;
-    }
-
-    private int handleSmsGetDefaultApp() throws RemoteException {
-        final int userId = maybeParseUserIdArg();
-        if (userId < 0) {
-            return -1;
-        }
-
-        getOutPrintWriter().println(mInterface.getDefaultSmsApp(userId));
-        return 0;
-    }
-
-    private int handleSmsSetDefaultApp() throws RemoteException {
-        final int userId = maybeParseUserIdArg();
-        if (userId < 0) {
-            return -1;
-        }
-
-        String packageName = getNextArgRequired();
-        mInterface.setDefaultSmsApp(userId, packageName);
-        getOutPrintWriter().println("SMS app set to " + mInterface.getDefaultSmsApp(userId));
-        return 0;
+        return subInfo.getSubscriptionId();
     }
 
     private boolean checkShellUid() {
@@ -562,4 +741,432 @@
         return Binder.getCallingUid() == Process.SHELL_UID
                 || Binder.getCallingUid() == Process.ROOT_UID;
     }
+
+    private int handleCcCommand() {
+        // 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("cc: Permission denied.");
+            return -1;
+        }
+
+        String arg = getNextArg();
+        if (arg == null) {
+            onHelpCc();
+            return 0;
+        }
+
+        switch (arg) {
+            case CC_GET_VALUE: {
+                return handleCcGetValue();
+            }
+            case CC_SET_VALUE: {
+                return handleCcSetValue();
+            }
+            case CC_CLEAR_VALUES: {
+                return handleCcClearValues();
+            }
+            default: {
+                getErrPrintWriter().println("cc: Unknown argument: " + arg);
+            }
+        }
+        return -1;
+    }
+
+    // cc get-value
+    private int handleCcGetValue() {
+        PrintWriter errPw = getErrPrintWriter();
+        String tag = CARRIER_CONFIG_SUBCOMMAND + " " + CC_GET_VALUE + ": ";
+        String key = null;
+
+        // Parse all options
+        CcOptionParseResult options =  parseCcOptions(tag, false);
+        if (options == null) {
+            return -1;
+        }
+
+        // Get bundle containing all carrier configuration values.
+        PersistableBundle bundle = mCarrierConfigManager.getConfigForSubId(options.mSubId);
+        if (bundle == null) {
+            errPw.println(tag + "No carrier config values found for subId " + options.mSubId + ".");
+            return -1;
+        }
+
+        // Get the key.
+        key = getNextArg();
+        if (key != null) {
+            // A key was provided. Verify if it is a valid key
+            if (!bundle.containsKey(key)) {
+                errPw.println(tag + key + " is not a valid key.");
+                return -1;
+            }
+
+            // Print the carrier config value for key.
+            getOutPrintWriter().println(ccValueToString(key, getType(tag, key, bundle), bundle));
+        } else {
+            // No key provided. Show all values.
+            // Iterate over a sorted list of all carrier config keys and print them.
+            TreeSet<String> sortedSet = new TreeSet<String>(bundle.keySet());
+            for (String k : sortedSet) {
+                getOutPrintWriter().println(ccValueToString(k, getType(tag, k, bundle), bundle));
+            }
+        }
+        return 0;
+    }
+
+    // cc set-value
+    private int handleCcSetValue() {
+        PrintWriter errPw = getErrPrintWriter();
+        String tag = CARRIER_CONFIG_SUBCOMMAND + " " + CC_SET_VALUE + ": ";
+
+        // Parse all options
+        CcOptionParseResult options =  parseCcOptions(tag, true);
+        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;
+        }
+
+        // Get the key.
+        String key = getNextArg();
+        if (key == null || key.equals("")) {
+            errPw.println(tag + "KEY is missing");
+            return -1;
+        }
+
+        // Verify if the key is valid
+        if (!originalValues.containsKey(key)) {
+            errPw.println(tag + key + " is not a valid key.");
+            return -1;
+        }
+
+        // Remaining arguments is a list of new values. Add them all into an ArrayList.
+        ArrayList<String> valueList = new ArrayList<String>();
+        while (peekNextArg() != null) {
+            valueList.add(getNextArg());
+        }
+
+        // Find the type of the carrier config value
+        CcType type = getType(tag, key, originalValues);
+        if (type == CcType.UNKNOWN) {
+            errPw.println(tag + "ERROR: Not possible to override key with unknown type.");
+            return -1;
+        }
+
+        // Create an override bundle containing the key and value that should be overriden.
+        PersistableBundle overrideBundle = getOverrideBundle(tag, type, key, valueList);
+        if (overrideBundle == null) {
+            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 value.
+        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;
+    }
+
+    // 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);
+        if (options == null) {
+            return -1;
+        }
+
+        // Clear all values that has previously been set.
+        mCarrierConfigManager.overrideConfig(options.mSubId, null, true);
+        getOutPrintWriter()
+                .println("All previously set carrier config override values has been cleared");
+        return 0;
+    }
+
+    private CcType getType(String tag, String key, PersistableBundle bundle) {
+        // Find the type by checking the type of the current value stored in the bundle.
+        Object value = bundle.get(key);
+
+        if (CC_TYPE_MAP.containsKey(key)) {
+            return CC_TYPE_MAP.get(key);
+        } else if (value != null) {
+            if (value instanceof Boolean) {
+                return CcType.BOOLEAN;
+            } else if (value instanceof Double) {
+                return CcType.DOUBLE;
+            } else if (value instanceof double[]) {
+                return CcType.DOUBLE_ARRAY;
+            } else if (value instanceof Integer) {
+                return CcType.INT;
+            } else if (value instanceof int[]) {
+                return CcType.INT_ARRAY;
+            } else if (value instanceof Long) {
+                return CcType.LONG;
+            } else if (value instanceof long[]) {
+                return CcType.LONG_ARRAY;
+            } else if (value instanceof String) {
+                return CcType.STRING;
+            } else if (value instanceof String[]) {
+                return CcType.STRING_ARRAY;
+            }
+        } 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
+            // data types (boolean, double, int and long), since they can not be null.
+            if (key.endsWith("double_array")) {
+                return CcType.DOUBLE_ARRAY;
+            }
+            if (key.endsWith("int_array")) {
+                return CcType.INT_ARRAY;
+            }
+            if (key.endsWith("long_array")) {
+                return CcType.LONG_ARRAY;
+            }
+            if (key.endsWith("string")) {
+                return CcType.STRING;
+            }
+            if (key.endsWith("string_array") || key.endsWith("strings")) {
+                return CcType.STRING_ARRAY;
+            }
+        }
+
+        // Not possible to infer the type by looking at the current value or the key.
+        PrintWriter errPw = getErrPrintWriter();
+        errPw.println(tag + "ERROR: " + key + " has unknown type.");
+        return CcType.UNKNOWN;
+    }
+
+    private String ccValueToString(String key, CcType type, PersistableBundle bundle) {
+        String result;
+        StringBuilder valueString = new StringBuilder();
+        String typeString = type.toString();
+        Object value = bundle.get(key);
+
+        if (value == null) {
+            valueString.append("null");
+        } else {
+            switch (type) {
+                case DOUBLE_ARRAY: {
+                    // Format the string representation of the int array as value1 value2......
+                    double[] valueArray = (double[]) value;
+                    for (int i = 0; i < valueArray.length; i++) {
+                        if (i != 0) {
+                            valueString.append(" ");
+                        }
+                        valueString.append(valueArray[i]);
+                    }
+                    break;
+                }
+                case INT_ARRAY: {
+                    // Format the string representation of the int array as value1 value2......
+                    int[] valueArray = (int[]) value;
+                    for (int i = 0; i < valueArray.length; i++) {
+                        if (i != 0) {
+                            valueString.append(" ");
+                        }
+                        valueString.append(valueArray[i]);
+                    }
+                    break;
+                }
+                case LONG_ARRAY: {
+                    // Format the string representation of the int array as value1 value2......
+                    long[] valueArray = (long[]) value;
+                    for (int i = 0; i < valueArray.length; i++) {
+                        if (i != 0) {
+                            valueString.append(" ");
+                        }
+                        valueString.append(valueArray[i]);
+                    }
+                    break;
+                }
+                case STRING: {
+                    valueString.append("\"" + value.toString() + "\"");
+                    break;
+                }
+                case STRING_ARRAY: {
+                    // Format the string representation of the string array as "value1" "value2"....
+                    String[] valueArray = (String[]) value;
+                    for (int i = 0; i < valueArray.length; i++) {
+                        if (i != 0) {
+                            valueString.append(" ");
+                        }
+                        if (valueArray[i] != null) {
+                            valueString.append("\"" + valueArray[i] + "\"");
+                        } else {
+                            valueString.append("null");
+                        }
+                    }
+                    break;
+                }
+                default: {
+                    valueString.append(value.toString());
+                }
+            }
+        }
+        return String.format("%-70s %-15s %s", key, typeString, valueString);
+    }
+
+    private PersistableBundle getOverrideBundle(String tag, CcType type, String key,
+            ArrayList<String> valueList) {
+        PrintWriter errPw = getErrPrintWriter();
+        PersistableBundle bundle = new PersistableBundle();
+
+        // First verify that a valid number of values has been provided for the type.
+        switch (type) {
+            case BOOLEAN:
+            case DOUBLE:
+            case INT:
+            case LONG: {
+                if (valueList.size() != 1) {
+                    errPw.println(tag + "Expected 1 value for type " + type
+                            + ". Found: " + valueList.size());
+                    return null;
+                }
+                break;
+            }
+            case STRING: {
+                if (valueList.size() > 1) {
+                    errPw.println(tag + "Expected 0 or 1 values for type " + type
+                            + ". Found: " + valueList.size());
+                    return null;
+                }
+                break;
+            }
+        }
+
+        // Parse the value according to type and add it to the Bundle.
+        switch (type) {
+            case BOOLEAN: {
+                if ("true".equalsIgnoreCase(valueList.get(0))) {
+                    bundle.putBoolean(key, true);
+                } else if ("false".equalsIgnoreCase(valueList.get(0))) {
+                    bundle.putBoolean(key, false);
+                } else {
+                    errPw.println(tag + "Unable to parse " + valueList.get(0) + " as a " + type);
+                    return null;
+                }
+                break;
+            }
+            case DOUBLE: {
+                try {
+                    bundle.putDouble(key, Double.parseDouble(valueList.get(0)));
+                } catch (NumberFormatException nfe) {
+                    // Not a valid double
+                    errPw.println(tag + "Unable to parse " + valueList.get(0) + " as a " + type);
+                    return null;
+                }
+                break;
+            }
+            case DOUBLE_ARRAY: {
+                double[] valueDoubleArray = null;
+                if (valueList.size() > 0) {
+                    valueDoubleArray = new double[valueList.size()];
+                    for (int i = 0; i < valueList.size(); i++) {
+                        try {
+                            valueDoubleArray[i] = Double.parseDouble(valueList.get(i));
+                        } catch (NumberFormatException nfe) {
+                            // Not a valid double
+                            errPw.println(
+                                    tag + "Unable to parse " + valueList.get(i) + " as a double.");
+                            return null;
+                        }
+                    }
+                }
+                bundle.putDoubleArray(key, valueDoubleArray);
+                break;
+            }
+            case INT: {
+                try {
+                    bundle.putInt(key, Integer.parseInt(valueList.get(0)));
+                } catch (NumberFormatException nfe) {
+                    // Not a valid integer
+                    errPw.println(tag + "Unable to parse " + valueList.get(0) + " as an " + type);
+                    return null;
+                }
+                break;
+            }
+            case INT_ARRAY: {
+                int[] valueIntArray = null;
+                if (valueList.size() > 0) {
+                    valueIntArray = new int[valueList.size()];
+                    for (int i = 0; i < valueList.size(); i++) {
+                        try {
+                            valueIntArray[i] = Integer.parseInt(valueList.get(i));
+                        } catch (NumberFormatException nfe) {
+                            // Not a valid integer
+                            errPw.println(tag
+                                    + "Unable to parse " + valueList.get(i) + " as an integer.");
+                            return null;
+                        }
+                    }
+                }
+                bundle.putIntArray(key, valueIntArray);
+                break;
+            }
+            case LONG: {
+                try {
+                    bundle.putLong(key, Long.parseLong(valueList.get(0)));
+                } catch (NumberFormatException nfe) {
+                    // Not a valid long
+                    errPw.println(tag + "Unable to parse " + valueList.get(0) + " as a " + type);
+                    return null;
+                }
+                break;
+            }
+            case LONG_ARRAY: {
+                long[] valueLongArray = null;
+                if (valueList.size() > 0) {
+                    valueLongArray = new long[valueList.size()];
+                    for (int i = 0; i < valueList.size(); i++) {
+                        try {
+                            valueLongArray[i] = Long.parseLong(valueList.get(i));
+                        } catch (NumberFormatException nfe) {
+                            // Not a valid long
+                            errPw.println(
+                                    tag + "Unable to parse " + valueList.get(i) + " as a long");
+                            return null;
+                        }
+                    }
+                }
+                bundle.putLongArray(key, valueLongArray);
+                break;
+            }
+            case STRING: {
+                String value = null;
+                if (valueList.size() > 0) {
+                    value = valueList.get(0);
+                }
+                bundle.putString(key, value);
+                break;
+            }
+            case STRING_ARRAY: {
+                String[] valueStringArray = null;
+                if (valueList.size() > 0) {
+                    valueStringArray = new String[valueList.size()];
+                    valueList.toArray(valueStringArray);
+                }
+                bundle.putStringArray(key, valueStringArray);
+                break;
+            }
+        }
+        return bundle;
+    }
 }
diff --git a/src/com/android/phone/TimeConsumingPreferenceActivity.java b/src/com/android/phone/TimeConsumingPreferenceActivity.java
index 8c5ae6d..3b5fe21 100644
--- a/src/com/android/phone/TimeConsumingPreferenceActivity.java
+++ b/src/com/android/phone/TimeConsumingPreferenceActivity.java
@@ -187,6 +187,11 @@
     @Override
     public void onError(Preference preference, int error) {
         if (DBG) dumpState();
+        if (!preference.isEnabled()) {
+            Log.i(LOG_TAG, "onError, skipped duplicated error popup");
+            return;
+        }
+
         Log.i(LOG_TAG, "onError, preference=" + preference.getKey() + ", error=" + error);
 
         if (mIsForeground) {
diff --git a/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
new file mode 100644
index 0000000..64a40b9
--- /dev/null
+++ b/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
@@ -0,0 +1,52 @@
+/*
+ * 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 com.android.phone.euicc;
+
+import android.annotation.Nullable;
+import android.content.Intent;
+import android.service.euicc.EuiccService;
+import android.telephony.euicc.EuiccManager;
+import android.util.Log;
+
+/**
+ * Trampoline activity to forward public eUICC intents to the active UI implementation.
+ *
+ * <p>Unlike {@link EuiccUiDispatcherActivity}, this activity does not require any permissions to
+ * start.
+ */
+public class EuiccPublicActionUiDispatcherActivity extends EuiccUiDispatcherActivity {
+    private static final String TAG = "EuiccPublicActionUiDispatcherActivity";
+
+    @Override
+    @Nullable
+    protected Intent getEuiccUiIntent() {
+        String action = getIntent().getAction();
+
+        Intent intent = new Intent();
+        // Propagate the extras from the original Intent.
+        intent.putExtras(getIntent());
+        switch (action) {
+            case EuiccManager.ACTION_START_EUICC_ACTIVATION:
+                intent.setAction(EuiccService.ACTION_START_EUICC_ACTIVATION);
+                break;
+            default:
+                Log.w(TAG, "Unsupported action: " + action);
+                return null;
+        }
+
+        return intent;
+    }
+}
diff --git a/src/com/android/phone/euicc/EuiccResolutionUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccResolutionUiDispatcherActivity.java
index 0f083c9..fd741a0 100644
--- a/src/com/android/phone/euicc/EuiccResolutionUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccResolutionUiDispatcherActivity.java
@@ -20,6 +20,7 @@
 import android.content.Intent;
 import android.service.euicc.EuiccService;
 import android.telephony.euicc.EuiccManager;
+import android.util.ArraySet;
 import android.util.Log;
 
 /**
@@ -33,6 +34,14 @@
 public class EuiccResolutionUiDispatcherActivity extends EuiccUiDispatcherActivity {
     private static final String TAG = "EuiccResUiDispatcher";
 
+    /** List of all valid resolution actions for validation purposes. */
+    private static final ArraySet<String> RESOLUTION_ACTIONS = new ArraySet<>();
+    static {
+        RESOLUTION_ACTIONS.add(EuiccService.ACTION_RESOLVE_DEACTIVATE_SIM);
+        RESOLUTION_ACTIONS.add(EuiccService.ACTION_RESOLVE_NO_PRIVILEGES);
+        RESOLUTION_ACTIONS.add(EuiccService.ACTION_RESOLVE_RESOLVABLE_ERRORS);
+    }
+
     @Override
     @Nullable
     protected Intent getEuiccUiIntent() {
@@ -45,7 +54,7 @@
         String euiccUiAction =
                 getIntent().getStringExtra(
                         EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_ACTION);
-        if (!EuiccService.RESOLUTION_ACTIONS.contains(euiccUiAction)) {
+        if (!RESOLUTION_ACTIONS.contains(euiccUiAction)) {
             Log.w(TAG, "Unknown resolution action: " + euiccUiAction);
             return null;
         }
diff --git a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
index 7c7b75d..57caede 100644
--- a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
@@ -18,41 +18,65 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.Activity;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
-import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.Bundle;
-import android.os.RemoteException;
-import android.os.ServiceManager;
+import android.os.UserHandle;
+import android.permission.PermissionManager;
 import android.service.euicc.EuiccService;
 import android.telephony.euicc.EuiccManager;
 import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.euicc.EuiccConnector;
+import com.android.internal.telephony.util.TelephonyUtils;
 
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /** Trampoline activity to forward eUICC intents from apps to the active UI implementation. */
 public class EuiccUiDispatcherActivity extends Activity {
     private static final String TAG = "EuiccUiDispatcher";
+    private static final long CHANGE_PERMISSION_TIMEOUT_MS = 15 * 1000; // 15 seconds
 
     /** Flags to use when querying PackageManager for Euicc component implementations. */
     private static final int EUICC_QUERY_FLAGS =
             PackageManager.MATCH_SYSTEM_ONLY | PackageManager.MATCH_DEBUG_TRIAGED_MISSING
                     | PackageManager.GET_RESOLVED_FILTER;
 
-    private final IPackageManager mPackageManager = IPackageManager.Stub
-            .asInterface(ServiceManager.getService("package"));
+    private PermissionManager mPermissionManager;
+    private boolean mGrantPermissionDone = false;
+    private ThreadPoolExecutor mExecutor;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        mPermissionManager = (PermissionManager) getSystemService(Context.PERMISSION_SERVICE);
+        mExecutor = new ThreadPoolExecutor(
+                1 /* corePoolSize */,
+                1 /* maxPoolSize */,
+                15, TimeUnit.SECONDS, /* keepAliveTime */
+                new LinkedBlockingQueue<>(), /* workQueue */
+                new ThreadFactory() {
+                    private final AtomicInteger mCount = new AtomicInteger(1);
+
+                    @Override
+                    public Thread newThread(Runnable r) {
+                        return new Thread(r, "EuiccService #" + mCount.getAndIncrement());
+                    }
+                }
+        );
         try {
             Intent euiccUiIntent = resolveEuiccUiIntent();
             if (euiccUiIntent == null) {
@@ -92,9 +116,9 @@
             return null;
         }
 
-        grantDefaultPermissionsToActiveLuiApp(activityInfo);
+        grantDefaultPermissionsToLuiApp(activityInfo);
 
-        euiccUiIntent.setComponent(activityInfo.getComponentName());
+        euiccUiIntent.setComponent(new ComponentName(activityInfo.packageName, activityInfo.name));
         return euiccUiIntent;
     }
 
@@ -127,6 +151,12 @@
         return intent;
     }
 
+    @Override
+    protected void onDestroy() {
+        mExecutor.shutdownNow();
+        super.onDestroy();
+    }
+
     @VisibleForTesting
     @Nullable
     ActivityInfo findBestActivity(Intent euiccUiIntent) {
@@ -135,11 +165,20 @@
 
     /** Grants default permissions to the active LUI app. */
     @VisibleForTesting
-    protected void grantDefaultPermissionsToActiveLuiApp(ActivityInfo activityInfo) {
+    protected void grantDefaultPermissionsToLuiApp(ActivityInfo activityInfo) {
+        CountDownLatch latch = new CountDownLatch(1);
         try {
-            mPackageManager.grantDefaultPermissionsToActiveLuiApp(
-                    activityInfo.packageName, getUserId());
-        } catch (RemoteException e) {
+            mPermissionManager.grantDefaultPermissionsToLuiApp(
+                    activityInfo.packageName, UserHandle.of(UserHandle.myUserId()), mExecutor,
+                    isSuccess -> {
+                        if (isSuccess) {
+                            latch.countDown();
+                        } else {
+                            Log.e(TAG, "Failed to revoke LUI app permissions.");
+                        }
+                    });
+            TelephonyUtils.waitUntilReady(latch, CHANGE_PERMISSION_TIMEOUT_MS);
+        } catch (RuntimeException e) {
             Log.e(TAG, "Failed to grant permissions to active LUI app.", e);
         }
     }
@@ -147,13 +186,22 @@
     /** Cleans up all the packages that shouldn't have permission. */
     @VisibleForTesting
     protected void revokePermissionFromLuiApps(Intent intent) {
+        CountDownLatch latch = new CountDownLatch(1);
         try {
             Set<String> luiApps = getAllLuiAppPackageNames(intent);
             String[] luiAppsArray = luiApps.toArray(new String[luiApps.size()]);
-            mPackageManager.revokeDefaultPermissionsFromLuiApps(luiAppsArray, getUserId());
-        } catch (RemoteException e) {
+            mPermissionManager.revokeDefaultPermissionsFromLuiApps(luiAppsArray,
+                    UserHandle.of(UserHandle.myUserId()), mExecutor, isSuccess -> {
+                        if (isSuccess) {
+                            latch.countDown();
+                        } else {
+                            Log.e(TAG, "Failed to revoke LUI app permissions.");
+                        }
+                    });
+            TelephonyUtils.waitUntilReady(latch, CHANGE_PERMISSION_TIMEOUT_MS);
+        } catch (RuntimeException e) {
             Log.e(TAG, "Failed to revoke LUI app permissions.");
-            throw e.rethrowAsRuntimeException();
+            throw e;
         }
     }
 
diff --git a/src/com/android/phone/otasp/OtaspActivationService.java b/src/com/android/phone/otasp/OtaspActivationService.java
index 7490880..6ed2ea8 100644
--- a/src/com/android/phone/otasp/OtaspActivationService.java
+++ b/src/com/android/phone/otasp/OtaspActivationService.java
@@ -150,11 +150,9 @@
         mPhone.registerForCdmaOtaStatusChange(mHandler, EVENT_CDMA_PROVISION_STATUS_UPDATE, null);
         mPhone.registerForPreciseCallStateChanged(mHandler, EVENT_CALL_STATE_CHANGED, null);
         logd("startNonInteractiveOtasp: placing call to '" + OTASP_NUMBER + "'...");
-        int callStatus = PhoneUtils.placeCall(this,
+        int callStatus = PhoneUtils.placeOtaspCall(this,
                 getPhone(),
-                OTASP_NUMBER,
-                null,   // contactRef
-                false); // isEmergencyCall
+                OTASP_NUMBER);
         if (callStatus == PhoneUtils.CALL_STATUS_DIALED) {
             if (DBG) logd("  ==> success return from placeCall(): callStatus = " + callStatus);
         } else {
diff --git a/src/com/android/phone/otasp/OtaspSimStateReceiver.java b/src/com/android/phone/otasp/OtaspSimStateReceiver.java
index 68b14b9..bb4022a 100644
--- a/src/com/android/phone/otasp/OtaspSimStateReceiver.java
+++ b/src/com/android/phone/otasp/OtaspSimStateReceiver.java
@@ -98,7 +98,7 @@
         }
     }
 
-    // It's fine to call multiple times, as the registrants are de-duped by Handler object.
+    // It's fine to call mutiple times, as the registrants are de-duped by Handler object.
     private void registerOtaspChangedHandler() {
         final Phone phone = PhoneGlobals.getPhone();
         phone.registerForOtaspChange(mOtaspHandler, EVENT_OTASP_CHANGED, null);
diff --git a/src/com/android/phone/settings/AccessibilitySettingsFragment.java b/src/com/android/phone/settings/AccessibilitySettingsFragment.java
index 2965685..37212cf 100644
--- a/src/com/android/phone/settings/AccessibilitySettingsFragment.java
+++ b/src/com/android/phone/settings/AccessibilitySettingsFragment.java
@@ -19,15 +19,18 @@
 import android.content.Context;
 import android.media.AudioManager;
 import android.os.Bundle;
+import android.os.PersistableBundle;
 import android.preference.Preference;
 import android.preference.PreferenceFragment;
 import android.preference.PreferenceScreen;
 import android.preference.SwitchPreference;
 import android.provider.Settings;
+import android.telephony.AccessNetworkConstants;
 import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneStateListener;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.ims.ImsManager;
@@ -37,6 +40,11 @@
 import com.android.phone.PhoneGlobals;
 import com.android.phone.R;
 
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+
 public class AccessibilitySettingsFragment extends PreferenceFragment {
     private static final String LOG_TAG = AccessibilitySettingsFragment.class.getSimpleName();
     private static final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
@@ -46,6 +54,8 @@
     private static final String BUTTON_RTT_KEY = "button_rtt_key";
     private static final String RTT_INFO_PREF = "button_rtt_more_information_key";
 
+    private static final int WFC_QUERY_TIMEOUT_MILLIS = 20;
+
     private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
         /**
          * Disable the TTY setting when in/out of a call (and if carrier doesn't
@@ -63,12 +73,9 @@
                 // support multi sim configuration.
                 TelephonyManager telephonyManager =
                         (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
-                final boolean isVolteTtySupported = getVolteTtySupported();
-                final boolean isVolteCurrentlyEnabled =
-                        ImsManager.isVolteEnabledByPlatform(mContext);
-                pref.setEnabled((isVolteTtySupported && isVolteCurrentlyEnabled &&
-                        !isVideoCallOrConferenceInProgress()) ||
-                        (telephonyManager.getCallState() == TelephonyManager.CALL_STATE_IDLE));
+                final boolean isVolteTtySupported = isVolteTtySupportedInAnySlot();
+                pref.setEnabled((isVolteTtySupported && !isVideoCallOrConferenceInProgress())
+                        || (telephonyManager.getCallState() == TelephonyManager.CALL_STATE_IDLE));
             }
         }
     };
@@ -111,8 +118,16 @@
         }
 
         if (shouldShowRttSetting()) {
-            // TODO: this is going to be a on/off switch for now. Ask UX about how to integrate
-            // this settings with TTY
+            TelephonyManager tm =
+                    (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+            boolean isRoaming = tm.isNetworkRoaming(
+                    SubscriptionManager.getDefaultVoiceSubscriptionId());
+
+            boolean shouldDisableBecauseRoamingOffWfc = isRoaming && !isOnWfc();
+            if (shouldDisableBecauseRoamingOffWfc) {
+                mButtonRtt.setSummary(TextUtils.concat(getText(R.string.rtt_mode_summary), "\n",
+                        getText(R.string.no_rtt_when_roaming)));
+            }
             boolean rttOn = Settings.Secure.getInt(
                     mContext.getContentResolver(), Settings.Secure.RTT_CALLING_MODE, 0) != 0;
             mButtonRtt.setChecked(rttOn);
@@ -151,9 +166,9 @@
             Settings.System.putInt(mContext.getContentResolver(), Settings.System.HEARING_AID, hac);
 
             // Update HAC Value in AudioManager.
-            mAudioManager.setParameter(SettingsConstants.HAC_KEY,
-                    hac == SettingsConstants.HAC_ENABLED
-                            ? SettingsConstants.HAC_VAL_ON : SettingsConstants.HAC_VAL_OFF);
+            mAudioManager.setParameters(
+                    SettingsConstants.HAC_KEY + "=" + (hac == SettingsConstants.HAC_ENABLED
+                            ? SettingsConstants.HAC_VAL_ON : SettingsConstants.HAC_VAL_OFF));
             return true;
         } else if (preference == mButtonRtt) {
             Log.i(LOG_TAG, "RTT setting changed -- now " + mButtonRtt.isChecked());
@@ -177,11 +192,38 @@
         return false;
     }
 
-    private boolean getVolteTtySupported() {
+    private boolean isVolteTtySupportedInAnySlot() {
+        final Phone[] phones = PhoneFactory.getPhones();
+        if (phones == null) {
+            if (DBG) Log.d(LOG_TAG, "isVolteTtySupportedInAnySlot: No phones found.");
+            return false;
+        }
+
         CarrierConfigManager configManager =
                 (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
-        return configManager.getConfig().getBoolean(
-                CarrierConfigManager.KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL);
+        for (Phone phone : phones) {
+            // Check if this phone supports VoLTE.
+            ImsManager imsManager = ImsManager.getInstance(mContext, phone.getPhoneId());
+            boolean volteEnabled = false;
+            if (imsManager != null) {
+                volteEnabled = imsManager.isVolteEnabledByPlatform();
+            }
+
+            // Check if this phone suports VoLTE TTY.
+            boolean volteTtySupported = false;
+            PersistableBundle carrierConfig = configManager.getConfigForSubId(phone.getSubId());
+            if (carrierConfig != null) {
+                volteTtySupported = carrierConfig.getBoolean(
+                        CarrierConfigManager.KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL);
+            }
+
+            if (volteEnabled && volteTtySupported) {
+                // VoLTE TTY is supported on this phone that also suports VoLTE.
+                return true;
+            }
+        }
+        // VoLTE TTY was not supported on any phone that also supports VoLTE.
+        return false;
     }
 
     private boolean isVideoCallOrConferenceInProgress() {
@@ -199,6 +241,21 @@
         return false;
     }
 
+    private boolean isOnWfc() {
+        LinkedBlockingQueue<Integer> result = new LinkedBlockingQueue<>(1);
+        Executor executor = Executors.newSingleThreadExecutor();
+        mContext.getSystemService(android.telephony.ims.ImsManager.class)
+                .getImsMmTelManager(SubscriptionManager.getDefaultSubscriptionId())
+                .getRegistrationTransportType(executor, result::offer);
+        try {
+            Integer transportType = result.poll(WFC_QUERY_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
+            return transportType != null
+                    && transportType == AccessNetworkConstants.TRANSPORT_TYPE_WLAN;
+        } catch (InterruptedException e) {
+            return false;
+        }
+    }
+
     private boolean shouldShowRttSetting() {
         // Go through all the subs -- if we want to display the RTT setting for any of them, do
         // display it.
diff --git a/src/com/android/phone/settings/BandMode.java b/src/com/android/phone/settings/BandMode.java
new file mode 100644
index 0000000..853075a
--- /dev/null
+++ b/src/com/android/phone/settings/BandMode.java
@@ -0,0 +1,255 @@
+/*
+ * 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 com.android.phone.settings;
+
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.os.AsyncResult;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
+import android.view.View;
+import android.view.Window;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+import com.android.phone.R;
+
+/**
+ * Radio Band Mode Selection Class
+ *
+ * It will query baseband about all available band modes and display them
+ * in screen. It will display all six band modes if the query failed.
+ *
+ * After user select one band, it will send the selection to baseband.
+ *
+ * It will alter user the result of select operation and exit, no matter success
+ * or not.
+ *
+ */
+public class BandMode extends Activity {
+    private static final String LOG_TAG = "phone";
+    private static final boolean DBG = false;
+
+    private static final int EVENT_BAND_SCAN_COMPLETED = 100;
+    private static final int EVENT_BAND_SELECTION_DONE = 200;
+
+    //Directly maps to RIL_RadioBandMode from ril.h
+    private static final String[] BAND_NAMES = new String[] {
+            "Automatic",
+            "Europe",
+            "United States",
+            "Japan",
+            "Australia",
+            "Australia 2",
+            "Cellular 800",
+            "PCS",
+            "Class 3 (JTACS)",
+            "Class 4 (Korea-PCS)",
+            "Class 5",
+            "Class 6 (IMT2000)",
+            "Class 7 (700Mhz-Upper)",
+            "Class 8 (1800Mhz-Upper)",
+            "Class 9 (900Mhz)",
+            "Class 10 (800Mhz-Secondary)",
+            "Class 11 (Europe PAMR 400Mhz)",
+            "Class 15 (US-AWS)",
+            "Class 16 (US-2500Mhz)"
+    };
+
+    private ListView mBandList;
+    private ArrayAdapter mBandListAdapter;
+    private BandListItem mTargetBand = null;
+    private DialogInterface mProgressPanel;
+
+    private Phone mPhone = null;
+
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
+        setContentView(R.layout.band_mode);
+
+        mPhone = PhoneFactory.getDefaultPhone();
+
+        mBandList = (ListView) findViewById(R.id.band);
+        mBandListAdapter = new ArrayAdapter<BandListItem>(this,
+                android.R.layout.simple_list_item_1);
+        mBandList.setAdapter(mBandListAdapter);
+        mBandList.setOnItemClickListener(mBandSelectionHandler);
+
+        loadBandList();
+    }
+
+    private AdapterView.OnItemClickListener mBandSelectionHandler =
+            new AdapterView.OnItemClickListener() {
+                public void onItemClick(AdapterView parent, View v,
+                        int position, long id) {
+
+                    getWindow().setFeatureInt(
+                            Window.FEATURE_INDETERMINATE_PROGRESS,
+                            Window.PROGRESS_VISIBILITY_ON);
+
+                    mTargetBand = (BandListItem) parent.getAdapter().getItem(position);
+
+                    if (DBG) log("Select band : " + mTargetBand.toString());
+
+                    Message msg =
+                            mHandler.obtainMessage(EVENT_BAND_SELECTION_DONE);
+                    mPhone.setBandMode(mTargetBand.getBand(), msg);
+                }
+            };
+
+    private static class BandListItem {
+        private int mBandMode = Phone.BM_UNSPECIFIED;
+
+        BandListItem(int bm) {
+            mBandMode = bm;
+        }
+
+        public int getBand() {
+            return mBandMode;
+        }
+
+        public String toString() {
+            if (mBandMode >= BAND_NAMES.length) return "Band mode " + mBandMode;
+            return BAND_NAMES[mBandMode];
+        }
+    }
+
+    private void loadBandList() {
+        String str = getString(R.string.band_mode_loading);
+
+        if (DBG) log(str);
+
+
+        //ProgressDialog.show(this, null, str, true, true, null);
+        mProgressPanel = new AlertDialog.Builder(this)
+            .setMessage(str)
+            .show();
+
+        Message msg = mHandler.obtainMessage(EVENT_BAND_SCAN_COMPLETED);
+        mPhone.queryAvailableBandMode(msg);
+
+    }
+
+    private void bandListLoaded(AsyncResult result) {
+        if (DBG) log("network list loaded");
+
+        if (mProgressPanel != null) mProgressPanel.dismiss();
+
+        clearList();
+
+        boolean addBandSuccess = false;
+        BandListItem item;
+
+        if (result.result != null) {
+            int [] bands = (int []) result.result;
+
+            if (bands.length == 0) {
+                Log.wtf(LOG_TAG, "No Supported Band Modes");
+                return;
+            }
+
+            int size = bands[0];
+
+            if (size > 0) {
+                mBandListAdapter.add(
+                        new BandListItem(Phone.BM_UNSPECIFIED)); //Always include AUTOMATIC
+                for (int i = 1; i <= size; i++) {
+                    if (bands[i] == Phone.BM_UNSPECIFIED) {
+                        continue;
+                    }
+                    item = new BandListItem(bands[i]);
+                    mBandListAdapter.add(item);
+                    if (DBG) log("Add " + item.toString());
+                }
+                addBandSuccess = true;
+            }
+        }
+
+        if (!addBandSuccess) {
+            if (DBG) log("Error in query, add default list");
+            for (int i = 0; i < Phone.BM_NUM_BAND_MODES; i++) {
+                item = new BandListItem(i);
+                mBandListAdapter.add(item);
+                if (DBG) log("Add default " + item.toString());
+            }
+        }
+        mBandList.requestFocus();
+    }
+
+    private void displayBandSelectionResult(Throwable ex) {
+        String status = getString(R.string.band_mode_set)
+                + " [" + mTargetBand.toString() + "] ";
+
+        if (ex != null) {
+            status = status + getString(R.string.band_mode_failed);
+        } else {
+            status = status + getString(R.string.band_mode_succeeded);
+        }
+
+        mProgressPanel = new AlertDialog.Builder(this)
+            .setMessage(status)
+            .setPositiveButton(android.R.string.ok, null).show();
+    }
+
+    private void clearList() {
+        while (mBandListAdapter.getCount() > 0) {
+            mBandListAdapter.remove(
+                    mBandListAdapter.getItem(0));
+        }
+    }
+
+    private void log(String msg) {
+        Log.d(LOG_TAG, "[BandsList] " + msg);
+    }
+
+    private Handler mHandler = new Handler() {
+        public void handleMessage(Message msg) {
+            AsyncResult ar;
+            switch (msg.what) {
+                case EVENT_BAND_SCAN_COMPLETED:
+                    ar = (AsyncResult) msg.obj;
+
+                    bandListLoaded(ar);
+                    break;
+
+                case EVENT_BAND_SELECTION_DONE:
+                    ar = (AsyncResult) msg.obj;
+
+                    getWindow().setFeatureInt(
+                            Window.FEATURE_INDETERMINATE_PROGRESS,
+                            Window.PROGRESS_VISIBILITY_OFF);
+
+                    if (!isFinishing()) {
+                        displayBandSelectionResult(ar.exception);
+                    }
+                    break;
+            }
+        }
+    };
+
+
+}
diff --git a/src/com/android/phone/settings/CallForwardInfoUtil.java b/src/com/android/phone/settings/CallForwardInfoUtil.java
index 1983fab..b963df8 100644
--- a/src/com/android/phone/settings/CallForwardInfoUtil.java
+++ b/src/com/android/phone/settings/CallForwardInfoUtil.java
@@ -82,6 +82,7 @@
         phone.setCallForwardingOption(commandInterfaceCfAction,
                 info.reason,
                 info.number,
+                info.serviceClass,
                 info.timeSeconds,
                 message);
     }
@@ -93,10 +94,12 @@
      */
     public static CallForwardInfo getCallForwardInfo(CallForwardInfo[] infos, int reason) {
         CallForwardInfo info = null;
-        for (int i = 0 ; i < infos.length; i++) {
-            if (isServiceClassVoice(infos[i])) {
-                info = infos[i];
-                break;
+        if (infos != null) {
+            for (int i = 0 ; i < infos.length; i++) {
+                if (isServiceClassVoice(infos[i])) {
+                    info = infos[i];
+                    break;
+                }
             }
         }
 
diff --git a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
index aa6b155..3811a77 100644
--- a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
+++ b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
@@ -101,7 +101,7 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        mTelecomManager = TelecomManager.from(getActivity());
+        mTelecomManager = getActivity().getSystemService(TelecomManager.class);
         mTelephonyManager = TelephonyManager.from(getActivity());
         mSubscriptionManager = SubscriptionManager.from(getActivity());
     }
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
new file mode 100644
index 0000000..31b7a9e
--- /dev/null
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -0,0 +1,1794 @@
+/*
+ * 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 com.android.phone.settings;
+
+import static android.net.ConnectivityManager.NetworkCallback;
+import static android.provider.Settings.Global.PREFERRED_NETWORK_MODE;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
+import android.graphics.Typeface;
+import android.net.ConnectivityManager;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.net.TrafficStats;
+import android.net.Uri;
+import android.os.AsyncResult;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.SystemProperties;
+import android.provider.Settings;
+import android.telephony.CarrierConfigManager;
+import android.telephony.CellIdentityCdma;
+import android.telephony.CellIdentityGsm;
+import android.telephony.CellIdentityLte;
+import android.telephony.CellIdentityWcdma;
+import android.telephony.CellInfo;
+import android.telephony.CellInfoCdma;
+import android.telephony.CellInfoGsm;
+import android.telephony.CellInfoLte;
+import android.telephony.CellInfoWcdma;
+import android.telephony.CellLocation;
+import android.telephony.CellSignalStrengthCdma;
+import android.telephony.CellSignalStrengthGsm;
+import android.telephony.CellSignalStrengthLte;
+import android.telephony.CellSignalStrengthWcdma;
+import android.telephony.PhoneStateListener;
+import android.telephony.PhysicalChannelConfig;
+import android.telephony.PreciseCallState;
+import android.telephony.ServiceState;
+import android.telephony.SignalStrength;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.telephony.cdma.CdmaCellLocation;
+import android.telephony.gsm.GsmCellLocation;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+import android.widget.EditText;
+import android.widget.Spinner;
+import android.widget.Switch;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.app.AlertDialog.Builder;
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.android.ims.ImsConfig;
+import com.android.ims.ImsException;
+import com.android.ims.ImsManager;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+import com.android.phone.R;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.List;
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Radio Information Class
+ *
+ * Allows user to read and alter some of the radio related information.
+ *
+ */
+public class RadioInfo extends AppCompatActivity {
+    private static final String TAG = "RadioInfo";
+
+    private static final boolean IS_USER_BUILD = "user".equals(Build.TYPE);
+
+    private static final String[] PREFERRED_NETWORK_LABELS = {
+            "GSM/WCDMA preferred",
+            "GSM only",
+            "WCDMA only",
+            "GSM/WCDMA auto (PRL)",
+            "CDMA/EvDo auto (PRL)",
+            "CDMA only",
+            "EvDo only",
+            "CDMA/EvDo/GSM/WCDMA (PRL)",
+            "CDMA + LTE/EvDo (PRL)",
+            "GSM/WCDMA/LTE (PRL)",
+            "LTE/CDMA/EvDo/GSM/WCDMA (PRL)",
+            "LTE only",
+            "LTE/WCDMA",
+            "TDSCDMA only",
+            "TDSCDMA/WCDMA",
+            "LTE/TDSCDMA",
+            "TDSCDMA/GSM",
+            "LTE/TDSCDMA/GSM",
+            "TDSCDMA/GSM/WCDMA",
+            "LTE/TDSCDMA/WCDMA",
+            "LTE/TDSCDMA/GSM/WCDMA",
+            "TDSCDMA/CDMA/EvDo/GSM/WCDMA ",
+            "LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA",
+            "NR only",
+            "NR/LTE",
+            "NR/LTE/CDMA/EvDo",
+            "NR/LTE/GSM/WCDMA",
+            "NR/LTE/CDMA/EvDo/GSM/WCDMA",
+            "NR/LTE/WCDMA",
+            "NR/LTE/TDSCDMA",
+            "NR/LTE/TDSCDMA/GSM",
+            "NR/LTE/TDSCDMA/WCDMA",
+            "NR/LTE/TDSCDMA/GSM/WCDMA",
+            "NR/LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA",
+            "Unknown"
+    };
+
+    private static String[] sPhoneIndexLabels;
+
+    private static final int sCellInfoListRateDisabled = Integer.MAX_VALUE;
+    private static final int sCellInfoListRateMax = 0;
+
+    private static final String OEM_RADIO_INFO_INTENT =
+            "com.android.phone.settings.OEM_RADIO_INFO";
+
+    private static final String DSDS_MODE_PROPERTY = "ro.boot.hardware.dsds";
+
+    /**
+     * A value indicates the device is always on dsds mode.
+     * @see {@link #DSDS_MODE_PROPERTY}
+     */
+    private static final int ALWAYS_ON_DSDS_MODE = 1;
+
+    private static final int IMS_VOLTE_PROVISIONED_CONFIG_ID =
+            ImsConfig.ConfigConstants.VLT_SETTING_ENABLED;
+
+    private static final int IMS_VT_PROVISIONED_CONFIG_ID =
+            ImsConfig.ConfigConstants.LVC_SETTING_ENABLED;
+
+    private static final int IMS_WFC_PROVISIONED_CONFIG_ID =
+            ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED;
+
+    private static final int EAB_PROVISIONED_CONFIG_ID =
+            ImsConfig.ConfigConstants.EAB_SETTING_ENABLED;
+
+    //Values in must match CELL_INFO_REFRESH_RATES
+    private static final String[] CELL_INFO_REFRESH_RATE_LABELS = {
+            "Disabled",
+            "Immediate",
+            "Min 5s",
+            "Min 10s",
+            "Min 60s"
+    };
+
+    //Values in seconds, must match CELL_INFO_REFRESH_RATE_LABELS
+    private static final int [] CELL_INFO_REFRESH_RATES = {
+        sCellInfoListRateDisabled,
+        sCellInfoListRateMax,
+        5000,
+        10000,
+        60000
+    };
+
+    private static void log(String s) {
+        Log.d(TAG, s);
+    }
+
+    private static final int EVENT_CFI_CHANGED = 302;
+
+    private static final int EVENT_QUERY_PREFERRED_TYPE_DONE = 1000;
+    private static final int EVENT_SET_PREFERRED_TYPE_DONE = 1001;
+    private static final int EVENT_QUERY_SMSC_DONE = 1005;
+    private static final int EVENT_UPDATE_SMSC_DONE = 1006;
+    private static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 1007;
+
+    private static final int MENU_ITEM_SELECT_BAND         = 0;
+    private static final int MENU_ITEM_VIEW_ADN            = 1;
+    private static final int MENU_ITEM_VIEW_FDN            = 2;
+    private static final int MENU_ITEM_VIEW_SDN            = 3;
+    private static final int MENU_ITEM_GET_IMS_STATUS      = 4;
+    private static final int MENU_ITEM_TOGGLE_DATA         = 5;
+
+    private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
+    private TextView mLine1Number;
+    private TextView mSubscriptionId;
+    private TextView mDds;
+    private TextView mSubscriberId;
+    private TextView mCallState;
+    private TextView mOperatorName;
+    private TextView mRoamingState;
+    private TextView mGsmState;
+    private TextView mGprsState;
+    private TextView mVoiceNetwork;
+    private TextView mDataNetwork;
+    private TextView mDBm;
+    private TextView mMwi;
+    private TextView mCfi;
+    private TextView mLocation;
+    private TextView mCellInfo;
+    private TextView mSent;
+    private TextView mReceived;
+    private TextView mPingHostnameV4;
+    private TextView mPingHostnameV6;
+    private TextView mHttpClientTest;
+    private TextView mPhyChanConfig;
+    private TextView mDnsCheckState;
+    private TextView mDownlinkKbps;
+    private TextView mUplinkKbps;
+    private EditText mSmsc;
+    private Switch mRadioPowerOnSwitch;
+    private Button mCellInfoRefreshRateButton;
+    private Button mDnsCheckToggleButton;
+    private Button mPingTestButton;
+    private Button mUpdateSmscButton;
+    private Button mRefreshSmscButton;
+    private Button mOemInfoButton;
+    private Button mCarrierProvisioningButton;
+    private Button mTriggerCarrierProvisioningButton;
+    private Switch mImsVolteProvisionedSwitch;
+    private Switch mImsVtProvisionedSwitch;
+    private Switch mImsWfcProvisionedSwitch;
+    private Switch mEabProvisionedSwitch;
+    private Switch mCbrsDataSwitch;
+    private Switch mDsdsSwitch;
+    private Spinner mPreferredNetworkType;
+    private Spinner mSelectPhoneIndex;
+    private Spinner mCellInfoRefreshRateSpinner;
+
+    private static final long RUNNABLE_TIMEOUT_MS = 5 * 60 * 1000L;
+
+    private ThreadPoolExecutor mQueuedWork;
+
+    private ConnectivityManager mConnectivityManager;
+    private TelephonyManager mTelephonyManager;
+    private ImsManager mImsManager = null;
+    private Phone mPhone = null;
+
+    private String mPingHostnameResultV4;
+    private String mPingHostnameResultV6;
+    private String mHttpClientTestResult;
+    private boolean mMwiValue = false;
+    private boolean mCfiValue = false;
+
+    private List<CellInfo> mCellInfoResult = null;
+    private CellLocation mCellLocationResult = null;
+
+    private int mPreferredNetworkTypeResult;
+    private int mCellInfoRefreshRateIndex;
+    private int mSelectedPhoneIndex;
+
+    private final NetworkRequest mDefaultNetworkRequest = new NetworkRequest.Builder()
+            .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
+            .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
+            .build();
+
+    private final NetworkCallback mNetworkCallback = new NetworkCallback() {
+        public void onCapabilitiesChanged(Network n, NetworkCapabilities nc) {
+            int dlbw = nc.getLinkDownstreamBandwidthKbps();
+            int ulbw = nc.getLinkUpstreamBandwidthKbps();
+            updateBandwidths(dlbw, ulbw);
+        }
+    };
+
+    // not final because we need to recreate this object to register on a new subId (b/117555407)
+    private PhoneStateListener mPhoneStateListener = new RadioInfoPhoneStateListener();
+    private class RadioInfoPhoneStateListener extends PhoneStateListener {
+        @Override
+        public void onDataConnectionStateChanged(int state) {
+            updateDataState();
+            updateNetworkType();
+        }
+
+        @Override
+        public void onDataActivity(int direction) {
+            updateDataStats2();
+        }
+
+        @Override
+        public void onCallStateChanged(int state, String incomingNumber) {
+            updateNetworkType();
+            updatePhoneState(state);
+        }
+
+        @Override
+        public void onPreciseCallStateChanged(PreciseCallState preciseState) {
+            updateNetworkType();
+        }
+
+        @Override
+        public void onCellLocationChanged(CellLocation location) {
+            updateLocation(location);
+        }
+
+        @Override
+        public void onMessageWaitingIndicatorChanged(boolean mwi) {
+            mMwiValue = mwi;
+            updateMessageWaiting();
+        }
+
+        @Override
+        public void onCallForwardingIndicatorChanged(boolean cfi) {
+            mCfiValue = cfi;
+            updateCallRedirect();
+        }
+
+        @Override
+        public void onCellInfoChanged(List<CellInfo> arrayCi) {
+            log("onCellInfoChanged: arrayCi=" + arrayCi);
+            mCellInfoResult = arrayCi;
+            updateCellInfo(mCellInfoResult);
+        }
+
+        @Override
+        public void onSignalStrengthsChanged(SignalStrength signalStrength) {
+            log("onSignalStrengthChanged: SignalStrength=" + signalStrength);
+            updateSignalStrength(signalStrength);
+        }
+
+        @Override
+        public void onServiceStateChanged(ServiceState serviceState) {
+            log("onServiceStateChanged: ServiceState=" + serviceState);
+            updateServiceState(serviceState);
+            updateRadioPowerState();
+            updateNetworkType();
+            updateImsProvisionedState();
+        }
+
+    }
+
+    private void updatePhysicalChannelConfiguration(List<PhysicalChannelConfig> configs) {
+        StringBuilder sb = new StringBuilder();
+        String div = "";
+        sb.append("{");
+        if (configs != null) {
+            for (PhysicalChannelConfig c : configs) {
+                sb.append(div).append(c);
+                div = ",";
+            }
+        }
+        sb.append("}");
+        mPhyChanConfig.setText(sb.toString());
+    }
+
+    private void updatePreferredNetworkType(int type) {
+        if (type >= PREFERRED_NETWORK_LABELS.length || type < 0) {
+            log("EVENT_QUERY_PREFERRED_TYPE_DONE: unknown "
+                    + "type=" + type);
+            type = PREFERRED_NETWORK_LABELS.length - 1; //set to Unknown
+        }
+        mPreferredNetworkTypeResult = type;
+
+        mPreferredNetworkType.setSelection(mPreferredNetworkTypeResult, true);
+    }
+
+    private void updatePhoneIndex(int phoneIndex, int subId) {
+        // unregister listeners on the old subId
+        unregisterPhoneStateListener();
+        mTelephonyManager.setCellInfoListRate(sCellInfoListRateDisabled);
+
+        // update the subId
+        mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
+
+        // update the phoneId
+        mImsManager = ImsManager.getInstance(getApplicationContext(), phoneIndex);
+        mPhone = PhoneFactory.getPhone(phoneIndex);
+
+        updateAllFields();
+    }
+
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            AsyncResult ar;
+            switch (msg.what) {
+                case EVENT_QUERY_PREFERRED_TYPE_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    if (ar.exception == null && ar.result != null) {
+                        updatePreferredNetworkType(((int []) ar.result)[0]);
+                    } else {
+                        //In case of an exception, we will set this to unknown
+                        updatePreferredNetworkType(PREFERRED_NETWORK_LABELS.length - 1);
+                    }
+                    break;
+                case EVENT_SET_PREFERRED_TYPE_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    if (ar.exception != null) {
+                        log("Set preferred network type failed.");
+                    }
+                    break;
+                case EVENT_QUERY_SMSC_DONE:
+                    ar = (AsyncResult) msg.obj;
+                    if (ar.exception != null) {
+                        mSmsc.setText("refresh error");
+                    } else {
+                        mSmsc.setText((String) ar.result);
+                    }
+                    break;
+                case EVENT_UPDATE_SMSC_DONE:
+                    mUpdateSmscButton.setEnabled(true);
+                    ar = (AsyncResult) msg.obj;
+                    if (ar.exception != null) {
+                        mSmsc.setText("update error");
+                    }
+                    break;
+                case EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED:
+                    ar = (AsyncResult) msg.obj;
+                    if (ar.exception != null) {
+                        mPhyChanConfig.setText(("update error"));
+                    }
+                    updatePhysicalChannelConfiguration((List<PhysicalChannelConfig>) ar.result);
+                    break;
+                default:
+                    super.handleMessage(msg);
+                    break;
+
+            }
+        }
+    };
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        if (!android.os.Process.myUserHandle().isSystem()) {
+            Log.e(TAG, "Not run from system user, don't do anything.");
+            finish();
+            return;
+        }
+
+        setContentView(R.layout.radio_info);
+
+        log("Started onCreate");
+
+        mQueuedWork = new ThreadPoolExecutor(1, 1, RUNNABLE_TIMEOUT_MS, TimeUnit.MICROSECONDS,
+                new LinkedBlockingDeque<Runnable>());
+        mTelephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
+        mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
+        mPhone = PhoneFactory.getDefaultPhone();
+
+        mImsManager = ImsManager.getInstance(getApplicationContext(),
+                SubscriptionManager.getDefaultVoicePhoneId());
+
+        sPhoneIndexLabels = getPhoneIndexLabels(mTelephonyManager);
+
+        mDeviceId = (TextView) findViewById(R.id.imei);
+        mLine1Number = (TextView) findViewById(R.id.number);
+        mSubscriptionId = (TextView) findViewById(R.id.subid);
+        mDds = (TextView) findViewById(R.id.dds);
+        mSubscriberId = (TextView) findViewById(R.id.imsi);
+        mCallState = (TextView) findViewById(R.id.call);
+        mOperatorName = (TextView) findViewById(R.id.operator);
+        mRoamingState = (TextView) findViewById(R.id.roaming);
+        mGsmState = (TextView) findViewById(R.id.gsm);
+        mGprsState = (TextView) findViewById(R.id.gprs);
+        mVoiceNetwork = (TextView) findViewById(R.id.voice_network);
+        mDataNetwork = (TextView) findViewById(R.id.data_network);
+        mDBm = (TextView) findViewById(R.id.dbm);
+        mMwi = (TextView) findViewById(R.id.mwi);
+        mCfi = (TextView) findViewById(R.id.cfi);
+        mLocation = (TextView) findViewById(R.id.location);
+        mCellInfo = (TextView) findViewById(R.id.cellinfo);
+        mCellInfo.setTypeface(Typeface.MONOSPACE);
+
+        mSent = (TextView) findViewById(R.id.sent);
+        mReceived = (TextView) findViewById(R.id.received);
+        mSmsc = (EditText) findViewById(R.id.smsc);
+        mDnsCheckState = (TextView) findViewById(R.id.dnsCheckState);
+        mPingHostnameV4 = (TextView) findViewById(R.id.pingHostnameV4);
+        mPingHostnameV6 = (TextView) findViewById(R.id.pingHostnameV6);
+        mHttpClientTest = (TextView) findViewById(R.id.httpClientTest);
+
+        mPhyChanConfig = (TextView) findViewById(R.id.phy_chan_config);
+
+        mPreferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType);
+        ArrayAdapter<String> mPreferredNetworkTypeAdapter = new ArrayAdapter<String>(this,
+                android.R.layout.simple_spinner_item, PREFERRED_NETWORK_LABELS);
+        mPreferredNetworkTypeAdapter
+                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+        mPreferredNetworkType.setAdapter(mPreferredNetworkTypeAdapter);
+
+        mSelectPhoneIndex = (Spinner) findViewById(R.id.phoneIndex);
+        ArrayAdapter<String> phoneIndexAdapter = new ArrayAdapter<String>(this,
+                android.R.layout.simple_spinner_item, sPhoneIndexLabels);
+        phoneIndexAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+        mSelectPhoneIndex.setAdapter(phoneIndexAdapter);
+
+        mCellInfoRefreshRateSpinner = (Spinner) findViewById(R.id.cell_info_rate_select);
+        ArrayAdapter<String> cellInfoAdapter = new ArrayAdapter<String>(this,
+                android.R.layout.simple_spinner_item, CELL_INFO_REFRESH_RATE_LABELS);
+        cellInfoAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+        mCellInfoRefreshRateSpinner.setAdapter(cellInfoAdapter);
+
+        mImsVolteProvisionedSwitch = (Switch) findViewById(R.id.volte_provisioned_switch);
+        mImsVtProvisionedSwitch = (Switch) findViewById(R.id.vt_provisioned_switch);
+        mImsWfcProvisionedSwitch = (Switch) findViewById(R.id.wfc_provisioned_switch);
+        mEabProvisionedSwitch = (Switch) findViewById(R.id.eab_provisioned_switch);
+
+        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+            mImsVolteProvisionedSwitch.setVisibility(View.GONE);
+            mImsVtProvisionedSwitch.setVisibility(View.GONE);
+            mImsWfcProvisionedSwitch.setVisibility(View.GONE);
+            mEabProvisionedSwitch.setVisibility(View.GONE);
+        }
+
+        mCbrsDataSwitch = (Switch) findViewById(R.id.cbrs_data_switch);
+        mCbrsDataSwitch.setVisibility(isCbrsSupported() ? View.VISIBLE : View.GONE);
+
+        mDsdsSwitch = findViewById(R.id.dsds_switch);
+        if (isDsdsSupported() && !dsdsModeOnly()) {
+            mDsdsSwitch.setVisibility(View.VISIBLE);
+            mDsdsSwitch.setOnClickListener(v -> {
+                if (mTelephonyManager.doesSwitchMultiSimConfigTriggerReboot()) {
+                    // Undo the click action until user clicks the confirm dialog.
+                    mDsdsSwitch.toggle();
+                    showDsdsChangeDialog();
+                } else {
+                    performDsdsSwitch();
+                }
+            });
+            mDsdsSwitch.setChecked(isDsdsEnabled());
+        } else {
+            mDsdsSwitch.setVisibility(View.GONE);
+        }
+
+        mRadioPowerOnSwitch = (Switch) findViewById(R.id.radio_power);
+
+        mDownlinkKbps = (TextView) findViewById(R.id.dl_kbps);
+        mUplinkKbps = (TextView) findViewById(R.id.ul_kbps);
+        updateBandwidths(0, 0);
+
+        mPingTestButton = (Button) findViewById(R.id.ping_test);
+        mPingTestButton.setOnClickListener(mPingButtonHandler);
+        mUpdateSmscButton = (Button) findViewById(R.id.update_smsc);
+        mUpdateSmscButton.setOnClickListener(mUpdateSmscButtonHandler);
+        mRefreshSmscButton = (Button) findViewById(R.id.refresh_smsc);
+        mRefreshSmscButton.setOnClickListener(mRefreshSmscButtonHandler);
+        mDnsCheckToggleButton = (Button) findViewById(R.id.dns_check_toggle);
+        mDnsCheckToggleButton.setOnClickListener(mDnsCheckButtonHandler);
+        mCarrierProvisioningButton = (Button) findViewById(R.id.carrier_provisioning);
+        mCarrierProvisioningButton.setOnClickListener(mCarrierProvisioningButtonHandler);
+        mTriggerCarrierProvisioningButton = (Button) findViewById(
+                R.id.trigger_carrier_provisioning);
+        mTriggerCarrierProvisioningButton.setOnClickListener(
+                mTriggerCarrierProvisioningButtonHandler);
+
+        mOemInfoButton = (Button) findViewById(R.id.oem_info);
+        mOemInfoButton.setOnClickListener(mOemInfoButtonHandler);
+        PackageManager pm = getPackageManager();
+        Intent oemInfoIntent = new Intent(OEM_RADIO_INFO_INTENT);
+        List<ResolveInfo> oemInfoIntentList = pm.queryIntentActivities(oemInfoIntent, 0);
+        if (oemInfoIntentList.size() == 0) {
+            mOemInfoButton.setEnabled(false);
+        }
+
+        mCellInfoRefreshRateIndex = 0; //disabled
+        mPreferredNetworkTypeResult = PREFERRED_NETWORK_LABELS.length - 1; //Unknown
+        mSelectedPhoneIndex = 0; //phone 0
+
+        //FIXME: Replace with TelephonyManager call
+        mPhone.getPreferredNetworkType(
+                mHandler.obtainMessage(EVENT_QUERY_PREFERRED_TYPE_DONE));
+
+        restoreFromBundle(icicle);
+    }
+
+    @Override
+    public Intent getParentActivityIntent() {
+        Intent parentActivity = super.getParentActivityIntent();
+        if (parentActivity == null) {
+            parentActivity = (new Intent()).setClassName("com.android.settings",
+                    "com.android.settings.Settings$TestingSettingsActivity");
+        }
+        return parentActivity;
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        log("Started onResume");
+
+        updateAllFields();
+    }
+
+    private void updateAllFields() {
+        updateMessageWaiting();
+        updateCallRedirect();
+        updateDataState();
+        updateDataStats2();
+        updateRadioPowerState();
+        updateImsProvisionedState();
+        updateProperties();
+        updateDnsCheckState();
+        updateNetworkType();
+
+        updateLocation(mCellLocationResult);
+        updateCellInfo(mCellInfoResult);
+        updateSubscriptionIds();
+
+        mPingHostnameV4.setText(mPingHostnameResultV4);
+        mPingHostnameV6.setText(mPingHostnameResultV6);
+        mHttpClientTest.setText(mHttpClientTestResult);
+
+        mCellInfoRefreshRateSpinner.setOnItemSelectedListener(mCellInfoRefreshRateHandler);
+        //set selection after registering listener to force update
+        mCellInfoRefreshRateSpinner.setSelection(mCellInfoRefreshRateIndex);
+
+        //set selection before registering to prevent update
+        mPreferredNetworkType.setSelection(mPreferredNetworkTypeResult, true);
+        mPreferredNetworkType.setOnItemSelectedListener(mPreferredNetworkHandler);
+
+        // set phone index
+        mSelectPhoneIndex.setSelection(mSelectedPhoneIndex, true);
+        mSelectPhoneIndex.setOnItemSelectedListener(mSelectPhoneIndexHandler);
+
+        mRadioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
+        mImsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
+        mImsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
+        mImsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
+        mEabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
+
+        if (isCbrsSupported()) {
+            mCbrsDataSwitch.setChecked(getCbrsDataState());
+            mCbrsDataSwitch.setOnCheckedChangeListener(mCbrsDataSwitchChangeListener);
+        }
+
+        unregisterPhoneStateListener();
+        registerPhoneStateListener();
+        mPhone.registerForPhysicalChannelConfig(mHandler,
+            EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED, null);
+
+        mConnectivityManager.registerNetworkCallback(
+                mDefaultNetworkRequest, mNetworkCallback, mHandler);
+
+        mSmsc.clearFocus();
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+
+        log("onPause: unregister phone & data intents");
+
+        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+        mTelephonyManager.setCellInfoListRate(sCellInfoListRateDisabled);
+        mConnectivityManager.unregisterNetworkCallback(mNetworkCallback);
+
+    }
+
+    private void restoreFromBundle(Bundle b) {
+        if (b == null) {
+            return;
+        }
+
+        mPingHostnameResultV4 = b.getString("mPingHostnameResultV4", "");
+        mPingHostnameResultV6 = b.getString("mPingHostnameResultV6", "");
+        mHttpClientTestResult = b.getString("mHttpClientTestResult", "");
+
+        mPingHostnameV4.setText(mPingHostnameResultV4);
+        mPingHostnameV6.setText(mPingHostnameResultV6);
+        mHttpClientTest.setText(mHttpClientTestResult);
+
+        mPreferredNetworkTypeResult = b.getInt("mPreferredNetworkTypeResult",
+                PREFERRED_NETWORK_LABELS.length - 1);
+
+        mSelectedPhoneIndex = b.getInt("mSelectedPhoneIndex", 0);
+
+        mCellInfoRefreshRateIndex = b.getInt("mCellInfoRefreshRateIndex", 0);
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        outState.putString("mPingHostnameResultV4", mPingHostnameResultV4);
+        outState.putString("mPingHostnameResultV6", mPingHostnameResultV6);
+        outState.putString("mHttpClientTestResult", mHttpClientTestResult);
+
+        outState.putInt("mPreferredNetworkTypeResult", mPreferredNetworkTypeResult);
+        outState.putInt("mSelectedPhoneIndex", mSelectedPhoneIndex);
+        outState.putInt("mCellInfoRefreshRateIndex", mCellInfoRefreshRateIndex);
+
+    }
+
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        menu.add(0, MENU_ITEM_SELECT_BAND, 0, R.string.radio_info_band_mode_label)
+                .setOnMenuItemClickListener(mSelectBandCallback)
+                .setAlphabeticShortcut('b');
+        menu.add(1, MENU_ITEM_VIEW_ADN, 0,
+                R.string.radioInfo_menu_viewADN).setOnMenuItemClickListener(mViewADNCallback);
+        menu.add(1, MENU_ITEM_VIEW_FDN, 0,
+                R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
+        menu.add(1, MENU_ITEM_VIEW_SDN, 0,
+                R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
+        if (ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+            menu.add(1, MENU_ITEM_GET_IMS_STATUS,
+                    0, R.string.radioInfo_menu_getIMS).setOnMenuItemClickListener(mGetImsStatus);
+        }
+        menu.add(1, MENU_ITEM_TOGGLE_DATA,
+                0, R.string.radio_info_data_connection_disable)
+                .setOnMenuItemClickListener(mToggleData);
+        return true;
+    }
+
+    @Override
+    public boolean onPrepareOptionsMenu(Menu menu) {
+        // Get the TOGGLE DATA menu item in the right state.
+        MenuItem item = menu.findItem(MENU_ITEM_TOGGLE_DATA);
+        int state = mTelephonyManager.getDataState();
+        boolean visible = true;
+
+        switch (state) {
+            case TelephonyManager.DATA_CONNECTED:
+            case TelephonyManager.DATA_SUSPENDED:
+                item.setTitle(R.string.radio_info_data_connection_disable);
+                break;
+            case TelephonyManager.DATA_DISCONNECTED:
+                item.setTitle(R.string.radio_info_data_connection_enable);
+                break;
+            default:
+                visible = false;
+                break;
+        }
+        item.setVisible(visible);
+        return true;
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        mQueuedWork.shutdown();
+    }
+
+    // returns array of string labels for each phone index. The array index is equal to the phone
+    // index.
+    private static String[] getPhoneIndexLabels(TelephonyManager tm) {
+        int phones = tm.getPhoneCount();
+        String[] labels = new String[phones];
+        for (int i = 0; i < phones; i++) {
+            labels[i] = "Phone " + i;
+        }
+        return labels;
+    }
+
+    private void unregisterPhoneStateListener() {
+        mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+        mPhone.unregisterForPhysicalChannelConfig(mHandler);
+
+        // clear all fields so they are blank until the next listener event occurs
+        mOperatorName.setText("");
+        mGprsState.setText("");
+        mDataNetwork.setText("");
+        mVoiceNetwork.setText("");
+        mSent.setText("");
+        mReceived.setText("");
+        mCallState.setText("");
+        mLocation.setText("");
+        mMwiValue = false;
+        mMwi.setText("");
+        mCfiValue = false;
+        mCfi.setText("");
+        mCellInfo.setText("");
+        mDBm.setText("");
+        mGsmState.setText("");
+        mRoamingState.setText("");
+        mPhyChanConfig.setText("");
+    }
+
+    // register mPhoneStateListener for relevant fields using the current TelephonyManager
+    private void registerPhoneStateListener() {
+        mPhoneStateListener = new RadioInfoPhoneStateListener();
+        mTelephonyManager.listen(mPhoneStateListener,
+                  PhoneStateListener.LISTEN_CALL_STATE
+        //b/27803938 - RadioInfo currently cannot read PRECISE_CALL_STATE
+        //      | PhoneStateListener.LISTEN_PRECISE_CALL_STATE
+                | PhoneStateListener.LISTEN_DATA_CONNECTION_STATE
+                | PhoneStateListener.LISTEN_DATA_ACTIVITY
+                | PhoneStateListener.LISTEN_CELL_LOCATION
+                | PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
+                | PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR
+                | PhoneStateListener.LISTEN_CELL_INFO
+                | PhoneStateListener.LISTEN_SERVICE_STATE
+                | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
+    }
+
+    private void updateDnsCheckState() {
+        //FIXME: Replace with a TelephonyManager call
+        mDnsCheckState.setText(mPhone.isDnsCheckDisabled()
+                ? "0.0.0.0 allowed" : "0.0.0.0 not allowed");
+    }
+
+    private void updateBandwidths(int dlbw, int ulbw) {
+        dlbw = (dlbw < 0 || dlbw == Integer.MAX_VALUE) ? -1 : dlbw;
+        ulbw = (ulbw < 0 || ulbw == Integer.MAX_VALUE) ? -1 : ulbw;
+        mDownlinkKbps.setText(String.format("%-5d", dlbw));
+        mUplinkKbps.setText(String.format("%-5d", ulbw));
+    }
+
+
+    private void updateSignalStrength(SignalStrength signalStrength) {
+        Resources r = getResources();
+
+        int signalDbm = signalStrength.getDbm();
+
+        int signalAsu = signalStrength.getAsuLevel();
+
+        if (-1 == signalAsu) signalAsu = 0;
+
+        mDBm.setText(String.valueOf(signalDbm) + " "
+                + r.getString(R.string.radioInfo_display_dbm) + "   "
+                + String.valueOf(signalAsu) + " "
+                + r.getString(R.string.radioInfo_display_asu));
+    }
+
+    private void updateLocation(CellLocation location) {
+        Resources r = getResources();
+        if (location instanceof GsmCellLocation) {
+            GsmCellLocation loc = (GsmCellLocation) location;
+            int lac = loc.getLac();
+            int cid = loc.getCid();
+            mLocation.setText(r.getString(R.string.radioInfo_lac) + " = "
+                    + ((lac == -1) ? "unknown" : Integer.toHexString(lac))
+                    + "   "
+                    + r.getString(R.string.radioInfo_cid) + " = "
+                    + ((cid == -1) ? "unknown" : Integer.toHexString(cid)));
+        } else if (location instanceof CdmaCellLocation) {
+            CdmaCellLocation loc = (CdmaCellLocation) location;
+            int bid = loc.getBaseStationId();
+            int sid = loc.getSystemId();
+            int nid = loc.getNetworkId();
+            int lat = loc.getBaseStationLatitude();
+            int lon = loc.getBaseStationLongitude();
+            mLocation.setText("BID = "
+                    + ((bid == -1) ? "unknown" : Integer.toHexString(bid))
+                    + "   "
+                    + "SID = "
+                    + ((sid == -1) ? "unknown" : Integer.toHexString(sid))
+                    + "   "
+                    + "NID = "
+                    + ((nid == -1) ? "unknown" : Integer.toHexString(nid))
+                    + "\n"
+                    + "LAT = "
+                    + ((lat == -1) ? "unknown" : Integer.toHexString(lat))
+                    + "   "
+                    + "LONG = "
+                    + ((lon == -1) ? "unknown" : Integer.toHexString(lon)));
+        } else {
+            mLocation.setText("unknown");
+        }
+
+
+    }
+
+    private String getCellInfoDisplayString(int i) {
+        return (i != Integer.MAX_VALUE) ? Integer.toString(i) : "";
+    }
+
+    private String getCellInfoDisplayString(long i) {
+        return (i != Long.MAX_VALUE) ? Long.toString(i) : "";
+    }
+
+    private String getConnectionStatusString(CellInfo ci) {
+        String regStr = "";
+        String connStatStr = "";
+        String connector = "";
+
+        if (ci.isRegistered()) {
+            regStr = "R";
+        }
+        switch (ci.getCellConnectionStatus()) {
+            case CellInfo.CONNECTION_PRIMARY_SERVING: connStatStr = "P"; break;
+            case CellInfo.CONNECTION_SECONDARY_SERVING: connStatStr = "S"; break;
+            case CellInfo.CONNECTION_NONE: connStatStr = "N"; break;
+            case CellInfo.CONNECTION_UNKNOWN: /* Field is unsupported */ break;
+            default: break;
+        }
+        if (!TextUtils.isEmpty(regStr) && !TextUtils.isEmpty(connStatStr)) {
+            connector = "+";
+        }
+
+        return regStr + connector + connStatStr;
+    }
+
+    private String buildCdmaInfoString(CellInfoCdma ci) {
+        CellIdentityCdma cidCdma = ci.getCellIdentity();
+        CellSignalStrengthCdma ssCdma = ci.getCellSignalStrength();
+
+        return String.format("%-3.3s %-5.5s %-5.5s %-5.5s %-6.6s %-6.6s %-6.6s %-6.6s %-5.5s",
+                getConnectionStatusString(ci),
+                getCellInfoDisplayString(cidCdma.getSystemId()),
+                getCellInfoDisplayString(cidCdma.getNetworkId()),
+                getCellInfoDisplayString(cidCdma.getBasestationId()),
+                getCellInfoDisplayString(ssCdma.getCdmaDbm()),
+                getCellInfoDisplayString(ssCdma.getCdmaEcio()),
+                getCellInfoDisplayString(ssCdma.getEvdoDbm()),
+                getCellInfoDisplayString(ssCdma.getEvdoEcio()),
+                getCellInfoDisplayString(ssCdma.getEvdoSnr()));
+    }
+
+    private String buildGsmInfoString(CellInfoGsm ci) {
+        CellIdentityGsm cidGsm = ci.getCellIdentity();
+        CellSignalStrengthGsm ssGsm = ci.getCellSignalStrength();
+
+        return String.format("%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-4.4s %-4.4s\n",
+                getConnectionStatusString(ci),
+                getCellInfoDisplayString(cidGsm.getMcc()),
+                getCellInfoDisplayString(cidGsm.getMnc()),
+                getCellInfoDisplayString(cidGsm.getLac()),
+                getCellInfoDisplayString(cidGsm.getCid()),
+                getCellInfoDisplayString(cidGsm.getArfcn()),
+                getCellInfoDisplayString(cidGsm.getBsic()),
+                getCellInfoDisplayString(ssGsm.getDbm()));
+    }
+
+    private String buildLteInfoString(CellInfoLte ci) {
+        CellIdentityLte cidLte = ci.getCellIdentity();
+        CellSignalStrengthLte ssLte = ci.getCellSignalStrength();
+
+        return String.format(
+                "%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-3.3s %-6.6s %-2.2s %-4.4s %-4.4s %-2.2s\n",
+                getConnectionStatusString(ci),
+                getCellInfoDisplayString(cidLte.getMcc()),
+                getCellInfoDisplayString(cidLte.getMnc()),
+                getCellInfoDisplayString(cidLte.getTac()),
+                getCellInfoDisplayString(cidLte.getCi()),
+                getCellInfoDisplayString(cidLte.getPci()),
+                getCellInfoDisplayString(cidLte.getEarfcn()),
+                getCellInfoDisplayString(cidLte.getBandwidth()),
+                getCellInfoDisplayString(ssLte.getDbm()),
+                getCellInfoDisplayString(ssLte.getRsrq()),
+                getCellInfoDisplayString(ssLte.getTimingAdvance()));
+    }
+
+    private String buildWcdmaInfoString(CellInfoWcdma ci) {
+        CellIdentityWcdma cidWcdma = ci.getCellIdentity();
+        CellSignalStrengthWcdma ssWcdma = ci.getCellSignalStrength();
+
+        return String.format("%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-3.3s %-4.4s\n",
+                getConnectionStatusString(ci),
+                getCellInfoDisplayString(cidWcdma.getMcc()),
+                getCellInfoDisplayString(cidWcdma.getMnc()),
+                getCellInfoDisplayString(cidWcdma.getLac()),
+                getCellInfoDisplayString(cidWcdma.getCid()),
+                getCellInfoDisplayString(cidWcdma.getUarfcn()),
+                getCellInfoDisplayString(cidWcdma.getPsc()),
+                getCellInfoDisplayString(ssWcdma.getDbm()));
+    }
+
+    private String buildCellInfoString(List<CellInfo> arrayCi) {
+        String value = new String();
+        StringBuilder cdmaCells = new StringBuilder(),
+                gsmCells = new StringBuilder(),
+                lteCells = new StringBuilder(),
+                wcdmaCells = new StringBuilder();
+
+        if (arrayCi != null) {
+            for (CellInfo ci : arrayCi) {
+
+                if (ci instanceof CellInfoLte) {
+                    lteCells.append(buildLteInfoString((CellInfoLte) ci));
+                } else if (ci instanceof CellInfoWcdma) {
+                    wcdmaCells.append(buildWcdmaInfoString((CellInfoWcdma) ci));
+                } else if (ci instanceof CellInfoGsm) {
+                    gsmCells.append(buildGsmInfoString((CellInfoGsm) ci));
+                } else if (ci instanceof CellInfoCdma) {
+                    cdmaCells.append(buildCdmaInfoString((CellInfoCdma) ci));
+                }
+            }
+            if (lteCells.length() != 0) {
+                value += String.format(
+                        "LTE\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-3.3s"
+                                + " %-6.6s %-2.2s %-4.4s %-4.4s %-2.2s\n",
+                        "SRV", "MCC", "MNC", "TAC", "CID", "PCI",
+                        "EARFCN", "BW", "RSRP", "RSRQ", "TA");
+                value += lteCells.toString();
+            }
+            if (wcdmaCells.length() != 0) {
+                value += String.format(
+                        "WCDMA\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-3.3s %-4.4s\n",
+                        "SRV", "MCC", "MNC", "LAC", "CID", "UARFCN", "PSC", "RSCP");
+                value += wcdmaCells.toString();
+            }
+            if (gsmCells.length() != 0) {
+                value += String.format(
+                        "GSM\n%-3.3s %-3.3s %-3.3s %-5.5s %-5.5s %-6.6s %-4.4s %-4.4s\n",
+                        "SRV", "MCC", "MNC", "LAC", "CID", "ARFCN", "BSIC", "RSSI");
+                value += gsmCells.toString();
+            }
+            if (cdmaCells.length() != 0) {
+                value += String.format(
+                        "CDMA/EVDO\n%-3.3s %-5.5s %-5.5s %-5.5s"
+                                + " %-6.6s %-6.6s %-6.6s %-6.6s %-5.5s\n",
+                        "SRV", "SID", "NID", "BSID",
+                        "C-RSSI", "C-ECIO", "E-RSSI", "E-ECIO", "E-SNR");
+                value += cdmaCells.toString();
+            }
+        } else {
+            value = "unknown";
+        }
+
+        return value.toString();
+    }
+
+    private void updateCellInfo(List<CellInfo> arrayCi) {
+        mCellInfo.setText(buildCellInfoString(arrayCi));
+    }
+
+    private void updateSubscriptionIds() {
+        mSubscriptionId.setText(Integer.toString(mPhone.getSubId()));
+        mDds.setText(Integer.toString(SubscriptionManager.getDefaultDataSubscriptionId()));
+    }
+
+    private void updateMessageWaiting() {
+        mMwi.setText(String.valueOf(mMwiValue));
+    }
+
+    private void updateCallRedirect() {
+        mCfi.setText(String.valueOf(mCfiValue));
+    }
+
+
+    private void updateServiceState(ServiceState serviceState) {
+        int state = serviceState.getState();
+        Resources r = getResources();
+        String display = r.getString(R.string.radioInfo_unknown);
+
+        switch (state) {
+            case ServiceState.STATE_IN_SERVICE:
+                display = r.getString(R.string.radioInfo_service_in);
+                break;
+            case ServiceState.STATE_OUT_OF_SERVICE:
+            case ServiceState.STATE_EMERGENCY_ONLY:
+                display = r.getString(R.string.radioInfo_service_emergency);
+                break;
+            case ServiceState.STATE_POWER_OFF:
+                display = r.getString(R.string.radioInfo_service_off);
+                break;
+        }
+
+        mGsmState.setText(display);
+
+        if (serviceState.getRoaming()) {
+            mRoamingState.setText(R.string.radioInfo_roaming_in);
+        } else {
+            mRoamingState.setText(R.string.radioInfo_roaming_not);
+        }
+
+        mOperatorName.setText(serviceState.getOperatorAlphaLong());
+    }
+
+    private void updatePhoneState(int state) {
+        Resources r = getResources();
+        String display = r.getString(R.string.radioInfo_unknown);
+
+        switch (state) {
+            case TelephonyManager.CALL_STATE_IDLE:
+                display = r.getString(R.string.radioInfo_phone_idle);
+                break;
+            case TelephonyManager.CALL_STATE_RINGING:
+                display = r.getString(R.string.radioInfo_phone_ringing);
+                break;
+            case TelephonyManager.CALL_STATE_OFFHOOK:
+                display = r.getString(R.string.radioInfo_phone_offhook);
+                break;
+        }
+
+        mCallState.setText(display);
+    }
+
+    private void updateDataState() {
+        int state = mTelephonyManager.getDataState();
+        Resources r = getResources();
+        String display = r.getString(R.string.radioInfo_unknown);
+
+        switch (state) {
+            case TelephonyManager.DATA_CONNECTED:
+                display = r.getString(R.string.radioInfo_data_connected);
+                break;
+            case TelephonyManager.DATA_CONNECTING:
+                display = r.getString(R.string.radioInfo_data_connecting);
+                break;
+            case TelephonyManager.DATA_DISCONNECTED:
+                display = r.getString(R.string.radioInfo_data_disconnected);
+                break;
+            case TelephonyManager.DATA_SUSPENDED:
+                display = r.getString(R.string.radioInfo_data_suspended);
+                break;
+        }
+
+        mGprsState.setText(display);
+    }
+
+    private void updateNetworkType() {
+        if (mPhone != null) {
+            ServiceState ss = mPhone.getServiceState();
+            mDataNetwork.setText(ServiceState.rilRadioTechnologyToString(
+                    mPhone.getServiceState().getRilDataRadioTechnology()));
+            mVoiceNetwork.setText(ServiceState.rilRadioTechnologyToString(
+                    mPhone.getServiceState().getRilVoiceRadioTechnology()));
+        }
+    }
+
+    private void updateProperties() {
+        String s;
+        Resources r = getResources();
+
+        s = mPhone.getDeviceId();
+        if (s == null) s = r.getString(R.string.radioInfo_unknown);
+        mDeviceId.setText(s);
+
+        s = mPhone.getSubscriberId();
+        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);
+        mLine1Number.setText(s);
+    }
+
+    private void updateDataStats2() {
+        Resources r = getResources();
+
+        long txPackets = TrafficStats.getMobileTxPackets();
+        long rxPackets = TrafficStats.getMobileRxPackets();
+        long txBytes   = TrafficStats.getMobileTxBytes();
+        long rxBytes   = TrafficStats.getMobileRxBytes();
+
+        String packets = r.getString(R.string.radioInfo_display_packets);
+        String bytes   = r.getString(R.string.radioInfo_display_bytes);
+
+        mSent.setText(txPackets + " " + packets + ", " + txBytes + " " + bytes);
+        mReceived.setText(rxPackets + " " + packets + ", " + rxBytes + " " + bytes);
+    }
+
+    /**
+     *  Ping a host name
+     */
+    private void pingHostname() {
+        try {
+            try {
+                Process p4 = Runtime.getRuntime().exec("ping -c 1 www.google.com");
+                int status4 = p4.waitFor();
+                if (status4 == 0) {
+                    mPingHostnameResultV4 = "Pass";
+                } else {
+                    mPingHostnameResultV4 = String.format("Fail(%d)", status4);
+                }
+            } catch (IOException e) {
+                mPingHostnameResultV4 = "Fail: IOException";
+            }
+            try {
+                Process p6 = Runtime.getRuntime().exec("ping6 -c 1 www.google.com");
+                int status6 = p6.waitFor();
+                if (status6 == 0) {
+                    mPingHostnameResultV6 = "Pass";
+                } else {
+                    mPingHostnameResultV6 = String.format("Fail(%d)", status6);
+                }
+            } catch (IOException e) {
+                mPingHostnameResultV6 = "Fail: IOException";
+            }
+        } catch (InterruptedException e) {
+            mPingHostnameResultV4 = mPingHostnameResultV6 = "Fail: InterruptedException";
+        }
+    }
+
+    /**
+     * This function checks for basic functionality of HTTP Client.
+     */
+    private void httpClientTest() {
+        HttpURLConnection urlConnection = null;
+        try {
+            // TODO: Hardcoded for now, make it UI configurable
+            URL url = new URL("https://www.google.com");
+            urlConnection = (HttpURLConnection) url.openConnection();
+            if (urlConnection.getResponseCode() == 200) {
+                mHttpClientTestResult = "Pass";
+            } else {
+                mHttpClientTestResult = "Fail: Code: " + urlConnection.getResponseMessage();
+            }
+        } catch (IOException e) {
+            mHttpClientTestResult = "Fail: IOException";
+        } finally {
+            if (urlConnection != null) {
+                urlConnection.disconnect();
+            }
+        }
+    }
+
+    private void refreshSmsc() {
+        mQueuedWork.execute(new Runnable() {
+            public void run() {
+                //FIXME: Replace with a TelephonyManager call
+                mPhone.getSmscAddress(mHandler.obtainMessage(EVENT_QUERY_SMSC_DONE));
+            }
+        });
+    }
+
+    private void updateAllCellInfo() {
+
+        mCellInfo.setText("");
+        mLocation.setText("");
+
+        final Runnable updateAllCellInfoResults = new Runnable() {
+            public void run() {
+                updateLocation(mCellLocationResult);
+                updateCellInfo(mCellInfoResult);
+            }
+        };
+
+        mQueuedWork.execute(new Runnable() {
+            @Override
+            public void run() {
+                mCellInfoResult = mTelephonyManager.getAllCellInfo();
+                mCellLocationResult = mTelephonyManager.getCellLocation();
+
+                mHandler.post(updateAllCellInfoResults);
+            }
+        });
+    }
+
+    private void updatePingState() {
+        // Set all to unknown since the threads will take a few secs to update.
+        mPingHostnameResultV4 = getResources().getString(R.string.radioInfo_unknown);
+        mPingHostnameResultV6 = getResources().getString(R.string.radioInfo_unknown);
+        mHttpClientTestResult = getResources().getString(R.string.radioInfo_unknown);
+
+        mPingHostnameV4.setText(mPingHostnameResultV4);
+        mPingHostnameV6.setText(mPingHostnameResultV6);
+        mHttpClientTest.setText(mHttpClientTestResult);
+
+        final Runnable updatePingResults = new Runnable() {
+            public void run() {
+                mPingHostnameV4.setText(mPingHostnameResultV4);
+                mPingHostnameV6.setText(mPingHostnameResultV6);
+                mHttpClientTest.setText(mHttpClientTestResult);
+            }
+        };
+
+        Thread hostname = new Thread() {
+            @Override
+            public void run() {
+                pingHostname();
+                mHandler.post(updatePingResults);
+            }
+        };
+        hostname.start();
+
+        Thread httpClient = new Thread() {
+            @Override
+            public void run() {
+                httpClientTest();
+                mHandler.post(updatePingResults);
+            }
+        };
+        httpClient.start();
+    }
+
+    private MenuItem.OnMenuItemClickListener mViewADNCallback =
+            new MenuItem.OnMenuItemClickListener() {
+        public boolean onMenuItemClick(MenuItem item) {
+            Intent intent = new Intent(Intent.ACTION_VIEW);
+            // XXX We need to specify the component here because if we don't
+            // the activity manager will try to resolve the type by calling
+            // the content provider, which causes it to be loaded in a process
+            // other than the Dialer process, which causes a lot of stuff to
+            // break.
+            intent.setClassName("com.android.phone", "com.android.phone.SimContacts");
+            startActivity(intent);
+            return true;
+        }
+    };
+
+    private MenuItem.OnMenuItemClickListener mViewFDNCallback =
+            new MenuItem.OnMenuItemClickListener() {
+        public boolean onMenuItemClick(MenuItem item) {
+            Intent intent = new Intent(Intent.ACTION_VIEW);
+            // XXX We need to specify the component here because if we don't
+            // the activity manager will try to resolve the type by calling
+            // the content provider, which causes it to be loaded in a process
+            // other than the Dialer process, which causes a lot of stuff to
+            // break.
+            intent.setClassName("com.android.phone", "com.android.phone.settings.fdn.FdnList");
+            startActivity(intent);
+            return true;
+        }
+    };
+
+    private MenuItem.OnMenuItemClickListener mViewSDNCallback =
+            new MenuItem.OnMenuItemClickListener() {
+        public boolean onMenuItemClick(MenuItem item) {
+            Intent intent = new Intent(
+                    Intent.ACTION_VIEW, Uri.parse("content://icc/sdn"));
+            // XXX We need to specify the component here because if we don't
+            // the activity manager will try to resolve the type by calling
+            // the content provider, which causes it to be loaded in a process
+            // other than the Dialer process, which causes a lot of stuff to
+            // break.
+            intent.setClassName("com.android.phone", "com.android.phone.ADNList");
+            startActivity(intent);
+            return true;
+        }
+    };
+
+    private MenuItem.OnMenuItemClickListener mGetImsStatus =
+            new MenuItem.OnMenuItemClickListener() {
+        public boolean onMenuItemClick(MenuItem item) {
+            boolean isImsRegistered = mPhone.isImsRegistered();
+            boolean availableVolte = mPhone.isVolteEnabled();
+            boolean availableWfc = mPhone.isWifiCallingEnabled();
+            boolean availableVt = mPhone.isVideoEnabled();
+            boolean availableUt = mPhone.isUtEnabled();
+
+            final String imsRegString = isImsRegistered
+                    ? getString(R.string.radio_info_ims_reg_status_registered)
+                    : getString(R.string.radio_info_ims_reg_status_not_registered);
+
+            final String available = getString(R.string.radio_info_ims_feature_status_available);
+            final String unavailable = getString(
+                    R.string.radio_info_ims_feature_status_unavailable);
+
+            String imsStatus = getString(R.string.radio_info_ims_reg_status,
+                    imsRegString,
+                    availableVolte ? available : unavailable,
+                    availableWfc ? available : unavailable,
+                    availableVt ? available : unavailable,
+                    availableUt ? available : unavailable);
+
+            AlertDialog imsDialog = new AlertDialog.Builder(RadioInfo.this)
+                    .setMessage(imsStatus)
+                    .setTitle(getString(R.string.radio_info_ims_reg_status_title))
+                    .create();
+
+            imsDialog.show();
+
+            return true;
+        }
+    };
+
+    private MenuItem.OnMenuItemClickListener mSelectBandCallback =
+            new MenuItem.OnMenuItemClickListener() {
+        public boolean onMenuItemClick(MenuItem item) {
+            Intent intent = new Intent();
+            intent.setClass(RadioInfo.this, BandMode.class);
+            startActivity(intent);
+            return true;
+        }
+    };
+
+    private MenuItem.OnMenuItemClickListener mToggleData =
+            new MenuItem.OnMenuItemClickListener() {
+        public boolean onMenuItemClick(MenuItem item) {
+            int state = mTelephonyManager.getDataState();
+            switch (state) {
+                case TelephonyManager.DATA_CONNECTED:
+                    mTelephonyManager.setDataEnabled(false);
+                    break;
+                case TelephonyManager.DATA_DISCONNECTED:
+                    mTelephonyManager.setDataEnabled(true);
+                    break;
+                default:
+                    // do nothing
+                    break;
+            }
+            return true;
+        }
+    };
+
+    private boolean isRadioOn() {
+        //FIXME: Replace with a TelephonyManager call
+        return mPhone.getServiceState().getState() != ServiceState.STATE_POWER_OFF;
+    }
+
+    private void updateRadioPowerState() {
+        //delightful hack to prevent on-checked-changed calls from
+        //actually forcing the radio preference to its transient/current value.
+        mRadioPowerOnSwitch.setOnCheckedChangeListener(null);
+        mRadioPowerOnSwitch.setChecked(isRadioOn());
+        mRadioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
+    }
+
+    void setImsVolteProvisionedState(boolean state) {
+        Log.d(TAG, "setImsVolteProvisioned state: " + ((state) ? "on" : "off"));
+        setImsConfigProvisionedState(IMS_VOLTE_PROVISIONED_CONFIG_ID, state);
+    }
+
+    void setImsVtProvisionedState(boolean state) {
+        Log.d(TAG, "setImsVtProvisioned() state: " + ((state) ? "on" : "off"));
+        setImsConfigProvisionedState(IMS_VT_PROVISIONED_CONFIG_ID, state);
+    }
+
+    void setImsWfcProvisionedState(boolean state) {
+        Log.d(TAG, "setImsWfcProvisioned() state: " + ((state) ? "on" : "off"));
+        setImsConfigProvisionedState(IMS_WFC_PROVISIONED_CONFIG_ID, state);
+    }
+
+    void setEabProvisionedState(boolean state) {
+        Log.d(TAG, "setEabProvisioned() state: " + ((state) ? "on" : "off"));
+        setImsConfigProvisionedState(EAB_PROVISIONED_CONFIG_ID, state);
+    }
+
+    void setImsConfigProvisionedState(int configItem, boolean state) {
+        if (mPhone != null && mImsManager != null) {
+            mQueuedWork.execute(new Runnable() {
+                public void run() {
+                    try {
+                        mImsManager.getConfigInterface().setProvisionedValue(
+                                configItem, state ? 1 : 0);
+                    } catch (ImsException e) {
+                        Log.e(TAG, "setImsConfigProvisioned() exception:", e);
+                    }
+                }
+            });
+        }
+    }
+
+    OnCheckedChangeListener mRadioPowerOnChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            // TODO: b/145681511. Within current design, radio power on all of the phones need
+            // to be controlled at the same time.
+            Phone[] phones = PhoneFactory.getPhones();
+            if (phones == null) {
+                return;
+            }
+            log("toggle radio power: phone*" + phones.length + " " + (isRadioOn() ? "on" : "off"));
+            for (int phoneIndex = 0; phoneIndex < phones.length; phoneIndex++) {
+                if (phones[phoneIndex] != null) {
+                    phones[phoneIndex].setRadioPower(isChecked);
+                }
+            }
+        }
+    };
+
+    private boolean isImsVolteProvisioned() {
+        if (mPhone != null && mImsManager != null) {
+            return mImsManager.isVolteEnabledByPlatform(mPhone.getContext())
+                && mImsManager.isVolteProvisionedOnDevice(mPhone.getContext());
+        }
+        return false;
+    }
+
+    OnCheckedChangeListener mImsVolteCheckedChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            setImsVolteProvisionedState(isChecked);
+        }
+    };
+
+    private boolean isImsVtProvisioned() {
+        if (mPhone != null && mImsManager != null) {
+            return mImsManager.isVtEnabledByPlatform(mPhone.getContext())
+                && mImsManager.isVtProvisionedOnDevice(mPhone.getContext());
+        }
+        return false;
+    }
+
+    OnCheckedChangeListener mImsVtCheckedChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            setImsVtProvisionedState(isChecked);
+        }
+    };
+
+    private boolean isImsWfcProvisioned() {
+        if (mPhone != null && mImsManager != null) {
+            return mImsManager.isWfcEnabledByPlatform(mPhone.getContext())
+                && mImsManager.isWfcProvisionedOnDevice(mPhone.getContext());
+        }
+        return false;
+    }
+
+    OnCheckedChangeListener mImsWfcCheckedChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            setImsWfcProvisionedState(isChecked);
+        }
+    };
+
+    private boolean isEabProvisioned() {
+        return isFeatureProvisioned(EAB_PROVISIONED_CONFIG_ID, false);
+    }
+
+    OnCheckedChangeListener mEabCheckedChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            setEabProvisionedState(isChecked);
+        }
+    };
+
+    private boolean isFeatureProvisioned(int featureId, boolean defaultValue) {
+        boolean provisioned = defaultValue;
+        if (mImsManager != null) {
+            try {
+                ImsConfig imsConfig = mImsManager.getConfigInterface();
+                if (imsConfig != null) {
+                    provisioned =
+                            (imsConfig.getProvisionedValue(featureId)
+                                    == ImsConfig.FeatureValueConstants.ON);
+                }
+            } catch (ImsException ex) {
+                Log.e(TAG, "isFeatureProvisioned() exception:", ex);
+            }
+        }
+
+        log("isFeatureProvisioned() featureId=" + featureId + " provisioned=" + provisioned);
+        return provisioned;
+    }
+
+    private static boolean isEabEnabledByPlatform(Context context) {
+        if (context != null) {
+            CarrierConfigManager configManager = (CarrierConfigManager)
+                    context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
+            if (configManager != null && configManager.getConfig().getBoolean(
+                        CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private void updateImsProvisionedState() {
+        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+            return;
+        }
+        log("updateImsProvisionedState isImsVolteProvisioned()=" + isImsVolteProvisioned());
+        //delightful hack to prevent on-checked-changed calls from
+        //actually forcing the ims provisioning to its transient/current value.
+        mImsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
+        mImsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
+        mImsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
+        mImsVolteProvisionedSwitch.setEnabled(!IS_USER_BUILD
+                && mImsManager.isVolteEnabledByPlatform(mPhone.getContext()));
+
+        mImsVtProvisionedSwitch.setOnCheckedChangeListener(null);
+        mImsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
+        mImsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
+        mImsVtProvisionedSwitch.setEnabled(!IS_USER_BUILD
+                && mImsManager.isVtEnabledByPlatform(mPhone.getContext()));
+
+        mImsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
+        mImsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
+        mImsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
+        mImsWfcProvisionedSwitch.setEnabled(!IS_USER_BUILD
+                && mImsManager.isWfcEnabledByPlatform(mPhone.getContext()));
+
+        mEabProvisionedSwitch.setOnCheckedChangeListener(null);
+        mEabProvisionedSwitch.setChecked(isEabProvisioned());
+        mEabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
+        mEabProvisionedSwitch.setEnabled(!IS_USER_BUILD
+                && isEabEnabledByPlatform(mPhone.getContext()));
+    }
+
+    OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            //FIXME: Replace with a TelephonyManager call
+            mPhone.disableDnsCheck(!mPhone.isDnsCheckDisabled());
+            updateDnsCheckState();
+        }
+    };
+
+    OnClickListener mOemInfoButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            Intent intent = new Intent(OEM_RADIO_INFO_INTENT);
+            try {
+                startActivity(intent);
+            } catch (android.content.ActivityNotFoundException ex) {
+                log("OEM-specific Info/Settings Activity Not Found : " + ex);
+                // If the activity does not exist, there are no OEM
+                // settings, and so we can just do nothing...
+            }
+        }
+    };
+
+    OnClickListener mPingButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            updatePingState();
+        }
+    };
+
+    OnClickListener mUpdateSmscButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            mUpdateSmscButton.setEnabled(false);
+            mQueuedWork.execute(new Runnable() {
+                public void run() {
+                    mPhone.setSmscAddress(mSmsc.getText().toString(),
+                            mHandler.obtainMessage(EVENT_UPDATE_SMSC_DONE));
+                }
+            });
+        }
+    };
+
+    OnClickListener mRefreshSmscButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            refreshSmsc();
+        }
+    };
+
+    OnClickListener mCarrierProvisioningButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            final Intent intent = new Intent("com.android.settings.CARRIER_PROVISIONING");
+            final ComponentName serviceComponent = ComponentName.unflattenFromString(
+                    "com.android.omadm.service/.DMIntentReceiver");
+            intent.setComponent(serviceComponent);
+            sendBroadcast(intent);
+        }
+    };
+
+    OnClickListener mTriggerCarrierProvisioningButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            final Intent intent = new Intent("com.android.settings.TRIGGER_CARRIER_PROVISIONING");
+            final ComponentName serviceComponent = ComponentName.unflattenFromString(
+                    "com.android.omadm.service/.DMIntentReceiver");
+            intent.setComponent(serviceComponent);
+            sendBroadcast(intent);
+        }
+    };
+
+    AdapterView.OnItemSelectedListener mPreferredNetworkHandler =
+            new AdapterView.OnItemSelectedListener() {
+
+        public void onItemSelected(AdapterView parent, View v, int pos, long id) {
+            if (mPreferredNetworkTypeResult != pos && pos >= 0
+                    && pos <= PREFERRED_NETWORK_LABELS.length - 2) {
+                mPreferredNetworkTypeResult = pos;
+
+                // TODO: Possibly migrate this to TelephonyManager.setPreferredNetworkType()
+                // which today still has some issues (mostly that the "set" is conditional
+                // on a successful modem call, which is not what we want). Instead we always
+                // want this setting to be set, so that if the radio hiccups and this setting
+                // is for some reason unsuccessful, future calls to the radio will reflect
+                // the users's preference which is set here.
+                final int subId = mPhone.getSubId();
+                if (SubscriptionManager.isUsableSubIdValue(subId)) {
+                    Settings.Global.putInt(mPhone.getContext().getContentResolver(),
+                            PREFERRED_NETWORK_MODE + subId, mPreferredNetworkTypeResult);
+                }
+                log("Calling setPreferredNetworkType(" + mPreferredNetworkTypeResult + ")");
+                Message msg = mHandler.obtainMessage(EVENT_SET_PREFERRED_TYPE_DONE);
+                mPhone.setPreferredNetworkType(mPreferredNetworkTypeResult, msg);
+            }
+        }
+
+        public void onNothingSelected(AdapterView parent) {
+        }
+    };
+
+    AdapterView.OnItemSelectedListener mSelectPhoneIndexHandler =
+            new AdapterView.OnItemSelectedListener() {
+
+        public void onItemSelected(AdapterView parent, View v, int pos, long id) {
+            if (pos >= 0 && pos <= sPhoneIndexLabels.length - 1) {
+                // the array position is equal to the phone index
+                int phoneIndex = pos;
+                Phone[] phones = PhoneFactory.getPhones();
+                if (phones == null || phones.length <= phoneIndex) {
+                    return;
+                }
+                // getSubId says it takes a slotIndex, but it actually takes a phone index
+                int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+                int[] subIds = SubscriptionManager.getSubId(phoneIndex);
+                if (subIds != null && subIds.length > 0) {
+                    subId = subIds[0];
+                }
+                mSelectedPhoneIndex = phoneIndex;
+
+                updatePhoneIndex(phoneIndex, subId);
+            }
+        }
+
+        public void onNothingSelected(AdapterView parent) {
+        }
+    };
+
+    AdapterView.OnItemSelectedListener mCellInfoRefreshRateHandler  =
+            new AdapterView.OnItemSelectedListener() {
+
+        public void onItemSelected(AdapterView parent, View v, int pos, long id) {
+            mCellInfoRefreshRateIndex = pos;
+            mTelephonyManager.setCellInfoListRate(CELL_INFO_REFRESH_RATES[pos]);
+            updateAllCellInfo();
+        }
+
+        public void onNothingSelected(AdapterView parent) {
+        }
+    };
+
+    boolean isCbrsSupported() {
+        return getResources().getBoolean(
+              com.android.internal.R.bool.config_cbrs_supported);
+    }
+
+    void updateCbrsDataState(boolean state) {
+        Log.d(TAG, "setCbrsDataSwitchState() state:" + ((state) ? "on" : "off"));
+        if (mTelephonyManager != null) {
+            mQueuedWork.execute(new Runnable() {
+                public void run() {
+                    mTelephonyManager.setOpportunisticNetworkState(state);
+                    mHandler.post(() -> mCbrsDataSwitch.setChecked(getCbrsDataState()));
+                }
+            });
+        }
+    }
+
+    boolean getCbrsDataState() {
+        boolean state = false;
+        if (mTelephonyManager != null) {
+            state = mTelephonyManager.isOpportunisticNetworkEnabled();
+        }
+        Log.d(TAG, "getCbrsDataState() state:" + ((state) ? "on" : "off"));
+        return state;
+    }
+
+    OnCheckedChangeListener mCbrsDataSwitchChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            updateCbrsDataState(isChecked);
+        }
+    };
+
+    private void showDsdsChangeDialog() {
+        final AlertDialog confirmDialog = new Builder(RadioInfo.this)
+                .setTitle(R.string.dsds_dialog_title)
+                .setMessage(R.string.dsds_dialog_message)
+                .setPositiveButton(R.string.dsds_dialog_confirm, mOnDsdsDialogConfirmedListener)
+                .setNegativeButton(R.string.dsds_dialog_cancel, mOnDsdsDialogConfirmedListener)
+                .create();
+        confirmDialog.show();
+    }
+
+    private static boolean isDsdsSupported() {
+        return (TelephonyManager.getDefault().isMultiSimSupported()
+            == TelephonyManager.MULTISIM_ALLOWED);
+    }
+
+    private static boolean isDsdsEnabled() {
+        return TelephonyManager.getDefault().getPhoneCount() > 1;
+    }
+
+    private void performDsdsSwitch() {
+        mTelephonyManager.switchMultiSimConfig(mDsdsSwitch.isChecked() ? 2 : 1);
+    }
+
+    /**
+     * @return {@code True} if the device is only supported dsds mode.
+     */
+    private boolean dsdsModeOnly() {
+        String dsdsMode = SystemProperties.get(DSDS_MODE_PROPERTY);
+        return !TextUtils.isEmpty(dsdsMode) && Integer.parseInt(dsdsMode) == ALWAYS_ON_DSDS_MODE;
+    }
+
+    DialogInterface.OnClickListener mOnDsdsDialogConfirmedListener =
+            new DialogInterface.OnClickListener() {
+        @Override
+        public void onClick(DialogInterface dialog, int which) {
+            if (which == DialogInterface.BUTTON_POSITIVE) {
+                mDsdsSwitch.toggle();
+                performDsdsSwitch();
+            }
+        }
+    };
+}
diff --git a/src/com/android/phone/settings/SuppServicesUiUtil.java b/src/com/android/phone/settings/SuppServicesUiUtil.java
index d508d9c..4e9841f 100644
--- a/src/com/android/phone/settings/SuppServicesUiUtil.java
+++ b/src/com/android/phone/settings/SuppServicesUiUtil.java
@@ -208,7 +208,7 @@
                                     Log.d(LOG_TAG, "handleCallerIdUssdResponse: response ="
                                             + response.toString());
                                     PhoneUtils.createUssdDialog(app, context, response.toString(),
-                                            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
+                                            phone, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
                                 }
 
                                 @Override
@@ -219,7 +219,7 @@
                                             + failureCode);
                                     PhoneUtils.createUssdDialog(app, context,
                                             context.getText(R.string.response_error),
-                                            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
+                                            phone, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
                                 }
                             };
 
diff --git a/src/com/android/phone/settings/VoicemailSettingsActivity.java b/src/com/android/phone/settings/VoicemailSettingsActivity.java
index e18dc93..66b1af9 100644
--- a/src/com/android/phone/settings/VoicemailSettingsActivity.java
+++ b/src/com/android/phone/settings/VoicemailSettingsActivity.java
@@ -43,6 +43,7 @@
 import android.widget.Toast;
 
 import com.android.internal.telephony.CallForwardInfo;
+import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.util.NotificationChannelController;
@@ -733,6 +734,7 @@
             for (int i = 0; i < mForwardingReadResults.length; i++) {
                 mPhone.getCallForwardingOption(
                         VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS[i],
+                        CommandsInterface.SERVICE_CLASS_VOICE,
                         mGetOptionComplete.obtainMessage(EVENT_FORWARDING_GET_COMPLETED, i, 0));
             }
             showDialogIfForeground(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
diff --git a/src/com/android/phone/settings/fdn/EditFdnContactScreen.java b/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
index c358e27..140cc74 100644
--- a/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
+++ b/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
@@ -29,6 +29,7 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.PersistableBundle;
 import android.provider.ContactsContract.CommonDataKinds;
 import android.telephony.PhoneNumberUtils;
 import android.text.Editable;
@@ -52,6 +53,7 @@
 import com.android.phone.PhoneGlobals;
 import com.android.phone.R;
 import com.android.phone.SubscriptionInfoHelper;
+import android.telephony.CarrierConfigManager;
 
 /**
  * Activity to let the user add or edit an FDN contact.
@@ -100,6 +102,7 @@
     }
     /** flag to track saving state */
     private boolean mDataBusy;
+    private int mFdnNumberLimitLength = 20;
 
     @Override
     protected void onCreate(Bundle icicle) {
@@ -111,6 +114,17 @@
         setContentView(R.layout.edit_fdn_contact_screen);
         setupView();
         setTitle(mAddContact ? R.string.add_fdn_contact : R.string.edit_fdn_contact);
+        PersistableBundle b = null;
+        if (mSubscriptionInfoHelper.hasSubId()) {
+            b = PhoneGlobals.getInstance().getCarrierConfigForSubId(
+                    mSubscriptionInfoHelper.getSubId());
+        } else {
+            b = PhoneGlobals.getInstance().getCarrierConfig();
+        }
+        if (b != null) {
+            mFdnNumberLimitLength = b.getInt(
+                    CarrierConfigManager.KEY_FDN_NUMBER_LENGTH_LIMIT_INT);
+        }
 
         displayProgress(false);
     }
@@ -294,7 +308,7 @@
       * TODO: Fix this logic.
       */
      private boolean isValidNumber(String number) {
-         return (number.length() <= 20) && (number.length() > 0);
+         return (number.length() <= mFdnNumberLimitLength) && (number.length() > 0);
      }
 
 
@@ -397,7 +411,8 @@
         } else {
             if (DBG) log("handleResult: failed!");
             if (invalidNumber) {
-                showStatus(getResources().getText(R.string.fdn_invalid_number));
+                showStatus(getResources().getString(R.string.fdn_invalid_number,
+                        mFdnNumberLimitLength));
             } else {
                if (PhoneFactory.getDefaultPhone().getIccCard().getIccPin2Blocked()) {
                     showStatus(getResources().getText(R.string.fdn_enable_puk2_requested));
@@ -428,7 +443,7 @@
             }
 
             if (v == mNameField) {
-                mNumberField.requestFocus();
+                mButton.requestFocus();
             } else if (v == mNumberField) {
                 mButton.requestFocus();
             } else if (v == mButton) {
diff --git a/src/com/android/phone/settings/fdn/EditPinPreference.java b/src/com/android/phone/settings/fdn/EditPinPreference.java
index 9596f39..a9d1948 100644
--- a/src/com/android/phone/settings/fdn/EditPinPreference.java
+++ b/src/com/android/phone/settings/fdn/EditPinPreference.java
@@ -23,8 +23,6 @@
 import android.util.AttributeSet;
 import android.view.View;
 
-import com.android.phone.R;
-
 /**
  * Class similar to the com.android.settings.EditPinPreference
  * class, with a couple of modifications, including a different layout
@@ -62,27 +60,12 @@
         super(context, attrs, defStyle);
     }
 
-    /**
-     * Overridden to setup the correct dialog layout, as well as setting up
-     * other properties for the pin / puk entry field.
-     */
-    @Override
-    protected View onCreateDialogView() {
-        // set the dialog layout
-        setDialogLayoutResource(R.layout.pref_dialog_editpin);
-
-        View dialog = super.onCreateDialogView();
-
-        getEditText().setInputType(InputType.TYPE_CLASS_NUMBER |
-            InputType.TYPE_NUMBER_VARIATION_PASSWORD);
-
-        return dialog;
-    }
-
     @Override
     protected void onBindDialogView(View view) {
         super.onBindDialogView(view);
 
+        getEditText().setInputType(InputType.TYPE_CLASS_NUMBER
+                | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
         // If the layout does not contain an edittext, hide the buttons.
         shouldHideButtons = (view.findViewById(android.R.id.edit) == null);
     }
diff --git a/src/com/android/phone/vvm/RemoteVvmTaskManager.java b/src/com/android/phone/vvm/RemoteVvmTaskManager.java
index 14030a1..6b60303 100644
--- a/src/com/android/phone/vvm/RemoteVvmTaskManager.java
+++ b/src/com/android/phone/vvm/RemoteVvmTaskManager.java
@@ -22,6 +22,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.ServiceConnection;
+import android.content.pm.ComponentInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.Bundle;
@@ -38,6 +39,7 @@
 import android.telephony.VisualVoicemailSms;
 import android.text.TextUtils;
 
+import com.android.internal.telephony.util.TelephonyUtils;
 import com.android.phone.Assert;
 import com.android.phone.R;
 
@@ -167,7 +169,8 @@
             }
             if (info.serviceInfo == null) {
                 VvmLog.w(TAG,
-                        "Component " + info.getComponentInfo() + " is not a service, ignoring");
+                        "Component " + TelephonyUtils.getComponentInfo(info)
+                            + " is not a service, ignoring");
                 continue;
             }
             if (!android.Manifest.permission.BIND_VISUAL_VOICEMAIL_SERVICE
@@ -180,7 +183,8 @@
                 VvmLog.w(TAG, "target package " + targetPackage
                         + " is no longer the active VisualVoicemailService, ignoring");
             }
-            return info.getComponentInfo().getComponentName();
+            ComponentInfo componentInfo = TelephonyUtils.getComponentInfo(info);
+            return new ComponentName(componentInfo.packageName, componentInfo.name);
 
         }
         return null;
@@ -199,7 +203,8 @@
         if (info.isEmpty()) {
             return null;
         }
-        return info.get(0).getComponentInfo().getComponentName();
+        ComponentInfo componentInfo = TelephonyUtils.getComponentInfo(info.get(0));
+        return new ComponentName(componentInfo.packageName, componentInfo.name);
     }
 
     @Override
diff --git a/src/com/android/phone/vvm/VvmDumpHandler.java b/src/com/android/phone/vvm/VvmDumpHandler.java
index 866927e..82c5bb5 100644
--- a/src/com/android/phone/vvm/VvmDumpHandler.java
+++ b/src/com/android/phone/vvm/VvmDumpHandler.java
@@ -19,7 +19,7 @@
         indentedWriter.println("******* OmtpVvm *******");
         indentedWriter.println("======= Configs =======");
         indentedWriter.increaseIndent();
-        for (PhoneAccountHandle handle : TelecomManager.from(context)
+        for (PhoneAccountHandle handle : context.getSystemService(TelecomManager.class)
                 .getCallCapablePhoneAccounts()) {
             int subId = PhoneAccountHandleConverter.toSubId(handle);
             indentedWriter.println(
diff --git a/src/com/android/services/telephony/CdmaConference.java b/src/com/android/services/telephony/CdmaConference.java
old mode 100755
new mode 100644
index 69ff2a4..7458195
--- a/src/com/android/services/telephony/CdmaConference.java
+++ b/src/com/android/services/telephony/CdmaConference.java
@@ -17,8 +17,8 @@
 package com.android.services.telephony;
 
 import android.content.Context;
+import android.net.Uri;
 import android.os.PersistableBundle;
-import android.telecom.Conference;
 import android.telecom.Connection;
 import android.telecom.PhoneAccountHandle;
 import android.telephony.CarrierConfigManager;
@@ -32,7 +32,7 @@
 /**
  * CDMA-based conference call.
  */
-public class CdmaConference extends Conference implements Holdable {
+public class CdmaConference extends TelephonyConferenceBase implements Holdable {
     private int mCapabilities;
     private int mProperties;
     private boolean mIsHoldable;
@@ -74,6 +74,22 @@
     }
 
     @Override
+    public void onAddConferenceParticipants(List<Uri> participants) {
+        Log.e(this, new Exception(), "Adding Conference Participants not supported " +
+                " for CDMA conference call.");
+    }
+
+    @Override
+    public void onAnswer(int videoState) {
+        Log.e(this, new Exception(), "Answer not supported for CDMA conference call.");
+    }
+
+    @Override
+    public void onReject() {
+        Log.e(this, new Exception(), "Reject not supported for CDMA conference call.");
+    }
+
+    @Override
     public void onHold() {
         Log.e(this, new Exception(), "Hold not supported for CDMA conference call.");
     }
diff --git a/src/com/android/services/telephony/CdmaConferenceController.java b/src/com/android/services/telephony/CdmaConferenceController.java
index 5d987f7..8523a5f 100644
--- a/src/com/android/services/telephony/CdmaConferenceController.java
+++ b/src/com/android/services/telephony/CdmaConferenceController.java
@@ -48,7 +48,8 @@
  * the conference from being created for 3 seconds. This is a more pleasant experience for the user.
  */
 final class CdmaConferenceController {
-    private final Connection.Listener mConnectionListener = new Connection.Listener() {
+    private final TelephonyConnection.TelephonyConnectionListener mTelephonyConnectionListener =
+            new TelephonyConnection.TelephonyConnectionListener() {
                 @Override
                 public void onStateChanged(Connection c, int state) {
                     recalculateConference();
@@ -96,7 +97,7 @@
             return;
         }
 
-        if (!mCdmaConnections.isEmpty() && connection.isOutgoing()) {
+        if (!mCdmaConnections.isEmpty() && connection.isOutgoingCall()) {
             // There already exists a connection, so this will probably result in a conference once
             // it is added. For outgoing connections which are added while another connection
             // exists, we mark them as "dialing" for a set amount of time to give the user time to
@@ -139,7 +140,7 @@
 
     private void addInternal(CdmaConnection connection) {
         mCdmaConnections.add(connection);
-        connection.addConnectionListener(mConnectionListener);
+        connection.addTelephonyConnectionListener(mTelephonyConnectionListener);
         recalculateConference();
     }
 
@@ -151,7 +152,7 @@
             return;
         }
 
-        connection.removeConnectionListener(mConnectionListener);
+        connection.removeTelephonyConnectionListener(mTelephonyConnectionListener);
         mCdmaConnections.remove(connection);
         recalculateConference();
     }
@@ -182,7 +183,7 @@
                 isNewlyCreated = true;
             }
 
-            if (newConnection.isOutgoing()) {
+            if (newConnection.isOutgoingCall()) {
                 // Only an outgoing call can be merged with an ongoing call.
                 mConference.updateCapabilities(Connection.CAPABILITY_MERGE_CONFERENCE);
             } else {
@@ -197,14 +198,14 @@
             for (CdmaConnection connection : conferenceConnections) {
                 if (!existingChildConnections.contains(connection)) {
                     Log.i(this, "Adding connection to conference call: %s", connection);
-                    mConference.addConnection(connection);
+                    mConference.addTelephonyConnection(connection);
                 }
                 existingChildConnections.remove(connection);
             }
 
             // 3) Remove any lingering old/disconnected/destroyed connections
             for (Connection oldConnection : existingChildConnections) {
-                mConference.removeConnection(oldConnection);
+                mConference.removeTelephonyConnection(oldConnection);
                 Log.i(this, "Removing connection from conference call: %s", oldConnection);
             }
 
@@ -212,13 +213,13 @@
             if (isNewlyCreated) {
                 Log.d(this, "Adding the conference call");
                 mConference.updateCallRadioTechAfterCreation();
-                mConnectionService.addConference(mConference);
+                mConnectionService.addTelephonyConference(mConference);
             }
         } else if (conferenceConnections.isEmpty()) {
             // There are no more connection so if we still have a conference, lets remove it.
             if (mConference != null) {
                 Log.i(this, "Destroying the CDMA conference connection.");
-                mConference.destroy();
+                mConference.destroyTelephonyConference();
                 mConference = null;
             }
         }
diff --git a/src/com/android/services/telephony/CdmaConnection.java b/src/com/android/services/telephony/CdmaConnection.java
index ca842b1..90e7663 100644
--- a/src/com/android/services/telephony/CdmaConnection.java
+++ b/src/com/android/services/telephony/CdmaConnection.java
@@ -81,9 +81,9 @@
             Connection connection,
             EmergencyTonePlayer emergencyTonePlayer,
             boolean allowMute,
-            boolean isOutgoing,
+            int callDirection,
             String telecomCallId) {
-        super(connection, telecomCallId, isOutgoing);
+        super(connection, telecomCallId, callDirection);
         mEmergencyTonePlayer = emergencyTonePlayer;
         mAllowMute = allowMute;
         mIsCallWaiting = connection != null && connection.getState() == Call.State.WAITING;
@@ -151,7 +151,7 @@
     @Override
     public TelephonyConnection cloneConnection() {
         CdmaConnection cdmaConnection = new CdmaConnection(getOriginalConnection(),
-                mEmergencyTonePlayer, mAllowMute, mIsOutgoing, getTelecomCallId());
+                mEmergencyTonePlayer, mAllowMute, getCallDirection(), getTelecomCallId());
         return cdmaConnection;
     }
 
@@ -202,10 +202,6 @@
         }
     }
 
-    boolean isOutgoing() {
-        return mIsOutgoing;
-    }
-
     boolean isCallWaiting() {
         return mIsCallWaiting;
     }
@@ -228,8 +224,8 @@
             } catch (CallStateException e) {
                 Log.e(this, e, "Failed to hangup call waiting call");
             }
-            setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(telephonyDisconnectCause,
-                    null, getPhone().getPhoneId()));
+            setTelephonyConnectionDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
+                    telephonyDisconnectCause, null, getPhone().getPhoneId()));
         }
     }
 
@@ -288,9 +284,8 @@
 
     private boolean isEmergency() {
         Phone phone = getPhone();
-        return phone != null &&
-                PhoneNumberUtils.isLocalEmergencyNumber(
-                    phone.getContext(), getAddress().getSchemeSpecificPart());
+        return phone != null && getAddress() != null && PhoneNumberUtils.isLocalEmergencyNumber(
+                phone.getContext(), getAddress().getSchemeSpecificPart());
     }
 
     /**
@@ -306,7 +301,7 @@
 
     private void handleCdmaConnectionTimeReset() {
         boolean isImsCall = getOriginalConnection() instanceof ImsPhoneConnection;
-        if (!isImsCall && !mIsConnectionTimeReset && mIsOutgoing
+        if (!isImsCall && !mIsConnectionTimeReset && isOutgoingCall()
                 && getOriginalConnection() != null
                 && getOriginalConnection().getState() == Call.State.ACTIVE
                 && getOriginalConnection().getDurationMillis() > 0) {
@@ -325,7 +320,7 @@
     }
 
     @Override
-    protected void close() {
+    public void close() {
         mIsConnectionTimeReset = false;
         if (getPhone() != null) {
             getPhone().unregisterForLineControlInfo(mHandler);
diff --git a/src/com/android/services/telephony/ConferenceParticipantConnection.java b/src/com/android/services/telephony/ConferenceParticipantConnection.java
index 61dc039..b7ecd48 100644
--- a/src/com/android/services/telephony/ConferenceParticipantConnection.java
+++ b/src/com/android/services/telephony/ConferenceParticipantConnection.java
@@ -17,23 +17,23 @@
 package com.android.services.telephony;
 
 import android.net.Uri;
-import android.telecom.ConferenceParticipant;
 import android.telecom.Connection;
 import android.telecom.DisconnectCause;
-import android.telecom.PhoneAccount;
-import android.telephony.PhoneNumberUtils;
 import android.telephony.SubscriptionInfo;
 import android.text.TextUtils;
 
-import com.android.internal.annotations.VisibleForTesting;
+import com.android.ims.internal.ConferenceParticipant;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
+import com.android.telephony.Rlog;
 
 /**
  * Represents a participant in a conference call.
  */
 public class ConferenceParticipantConnection extends Connection {
 
+    private static final String LOG_TAG = "ConferenceParticipantConnection";
+
     /**
      * The user entity URI For the conference participant.
      */
@@ -88,7 +88,7 @@
      * @param newState The new state.
      */
     public void updateState(int newState) {
-        Log.v(this, "updateState endPoint: %s state: %s", Log.pii(mEndpoint),
+        Log.v(this, "updateState endPoint: %s state: %s", Rlog.pii(LOG_TAG, mEndpoint),
                 Connection.stateToString(newState));
         if (newState == getState()) {
             return;
@@ -183,7 +183,7 @@
         SubscriptionInfo subInfo = TelecomAccountRegistry.getInstance(null).
                 getSubscriptionManager().getActiveSubscriptionInfo(subId);
 
-        if (subInfo == null) {
+        if (subInfo == null || TextUtils.isEmpty(subInfo.getCountryIso())) {
             return null;
         }
         // The SubscriptionInfo reports ISO country codes in lower case.  Convert to upper case,
@@ -203,19 +203,19 @@
         sb.append("[ConferenceParticipantConnection objId:");
         sb.append(System.identityHashCode(this));
         sb.append(" endPoint:");
-        sb.append(Log.pii(mEndpoint));
+        sb.append(Rlog.pii(LOG_TAG, mEndpoint));
         sb.append(" address:");
-        sb.append(Log.pii(getAddress()));
+        sb.append(Rlog.pii(LOG_TAG, getAddress()));
         sb.append(" addressPresentation:");
         sb.append(getAddressPresentation());
         sb.append(" parentConnection:");
-        sb.append(Log.pii(mParentConnection.getAddress()));
+        sb.append(Rlog.pii(LOG_TAG, mParentConnection.getAddress()));
         sb.append(" state:");
         sb.append(Connection.stateToString(getState()));
         sb.append(" connectTime:");
         sb.append(getConnectTimeMillis());
         sb.append(" connectElapsedTime:");
-        sb.append(getConnectElapsedTimeMillis());
+        sb.append(getConnectionStartElapsedRealtimeMillis());
         sb.append("]");
 
         return sb.toString();
diff --git a/src/com/android/services/telephony/DisconnectCauseUtil.java b/src/com/android/services/telephony/DisconnectCauseUtil.java
index 4e8e0b5..f243462 100644
--- a/src/com/android/services/telephony/DisconnectCauseUtil.java
+++ b/src/com/android/services/telephony/DisconnectCauseUtil.java
@@ -18,11 +18,15 @@
 
 import android.content.Context;
 import android.media.ToneGenerator;
+import android.os.PersistableBundle;
 import android.provider.Settings;
 import android.telecom.DisconnectCause;
+import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 
 import com.android.internal.telephony.CallFailCause;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
 import com.android.phone.ImsUtil;
 import com.android.phone.PhoneGlobals;
 import com.android.phone.common.R;
@@ -103,7 +107,7 @@
                         telephonyPerciseDisconnectCause),
                 toTelecomDisconnectCauseDescription(context, telephonyDisconnectCause, phoneId),
                 toTelecomDisconnectReason(context,telephonyDisconnectCause, reason, phoneId),
-                toTelecomDisconnectCauseTone(telephonyDisconnectCause));
+                toTelecomDisconnectCauseTone(telephonyDisconnectCause, phoneId));
     }
 
     /**
@@ -114,6 +118,8 @@
     private static int toTelecomDisconnectCauseCode(int telephonyDisconnectCause) {
         switch (telephonyDisconnectCause) {
             case android.telephony.DisconnectCause.LOCAL:
+            //  The call was still disconnected locally, so this is not an error condition.
+            case android.telephony.DisconnectCause.OUTGOING_EMERGENCY_CALL_PLACED:
                 return DisconnectCause.LOCAL;
 
             case android.telephony.DisconnectCause.NORMAL:
@@ -196,6 +202,7 @@
             case android.telephony.DisconnectCause.WIFI_LOST:
             case android.telephony.DisconnectCause.IMS_ACCESS_BLOCKED:
             case android.telephony.DisconnectCause.IMS_SIP_ALTERNATE_EMERGENCY_CALL:
+            case android.telephony.DisconnectCause.MEDIA_TIMEOUT:
                 return DisconnectCause.ERROR;
 
             case android.telephony.DisconnectCause.DIALED_MMI:
@@ -341,6 +348,9 @@
             case android.telephony.DisconnectCause.DATA_LIMIT_REACHED:
                 resourceId = R.string.callFailed_data_limit_reached;
                 break;
+            case android.telephony.DisconnectCause.WIFI_LOST:
+                resourceId = R.string.callFailed_wifi_lost;
+                break;
             case android.telephony.DisconnectCause.ALREADY_DIALING:
                 resourceId = R.string.callFailed_already_dialing;
                 break;
@@ -803,6 +813,8 @@
                 break;
             case android.telephony.DisconnectCause.IMS_ACCESS_BLOCKED:
                 return DisconnectCause.REASON_IMS_ACCESS_BLOCKED;
+            case android.telephony.DisconnectCause.OUTGOING_EMERGENCY_CALL_PLACED:
+                return DisconnectCause.REASON_EMERGENCY_CALL_PLACED;
         }
 
         // If no specific code-mapping found, then fall back to using the reason.
@@ -817,11 +829,22 @@
     /**
      * Returns the tone to play for the disconnect cause, or UNKNOWN if none should be played.
      */
-    private static int toTelecomDisconnectCauseTone(int telephonyDisconnectCause) {
-        switch (telephonyDisconnectCause) {
-            case android.telephony.DisconnectCause.BUSY:
+    private static int toTelecomDisconnectCauseTone(int telephonyDisconnectCause, int phoneId) {
+        Phone phone = PhoneFactory.getPhone(phoneId);
+        PersistableBundle config;
+        if (phone != null) {
+            config = PhoneGlobals.getInstance().getCarrierConfigForSubId(phone.getSubId());
+        } else {
+            config = PhoneGlobals.getInstance().getCarrierConfig();
+        }
+        int[] busyToneArray = config.getIntArray(
+                CarrierConfigManager.KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY);
+        for (int busyTone : busyToneArray) {
+            if (busyTone == telephonyDisconnectCause) {
                 return ToneGenerator.TONE_SUP_BUSY;
-
+            }
+        }
+        switch (telephonyDisconnectCause) {
             case android.telephony.DisconnectCause.CONGESTION:
                 return ToneGenerator.TONE_SUP_CONGESTION;
 
@@ -838,17 +861,18 @@
             case android.telephony.DisconnectCause.UNOBTAINABLE_NUMBER:
                 return ToneGenerator.TONE_SUP_ERROR;
 
+            case android.telephony.DisconnectCause.IMS_MERGED_SUCCESSFULLY:
+                // Do not play any tones if disconnected because of a successful merge.
+                return -1;
+
             case android.telephony.DisconnectCause.ERROR_UNSPECIFIED:
             case android.telephony.DisconnectCause.LOCAL:
             case android.telephony.DisconnectCause.NORMAL:
             case android.telephony.DisconnectCause.NORMAL_UNSPECIFIED:
             case android.telephony.DisconnectCause.VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED:
-                return ToneGenerator.TONE_PROP_PROMPT;
-
-            case android.telephony.DisconnectCause.IMS_MERGED_SUCCESSFULLY:
-                // Do not play any tones if disconnected because of a successful merge.
+            case android.telephony.DisconnectCause.WIFI_LOST:
             default:
-                return ToneGenerator.TONE_UNKNOWN;
+                return ToneGenerator.TONE_PROP_PROMPT;
         }
     }
 }
diff --git a/src/com/android/services/telephony/EmergencyTonePlayer.java b/src/com/android/services/telephony/EmergencyTonePlayer.java
index 8e26349..431f8d7 100644
--- a/src/com/android/services/telephony/EmergencyTonePlayer.java
+++ b/src/com/android/services/telephony/EmergencyTonePlayer.java
@@ -23,7 +23,6 @@
 import android.media.AudioAttributes;
 import android.media.AudioManager;
 import android.media.ToneGenerator;
-import android.os.SystemVibrator;
 import android.os.Vibrator;
 import android.provider.Settings;
 
@@ -49,11 +48,9 @@
                 .setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
                 .build();
 
-    // We don't rely on getSystemService(Context.VIBRATOR_SERVICE) to make sure that this vibrator
-    // object will be isolated from others.
-    private final Vibrator mVibrator = new SystemVibrator();
     private final Context mContext;
     private final AudioManager mAudioManager;
+    private final Vibrator mVibrator;
 
     private ToneGenerator mToneGenerator;
     private int mSavedInCallVolume;
@@ -62,6 +59,7 @@
     EmergencyTonePlayer(Context context) {
         mContext = context;
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
     }
 
     public void start() {
diff --git a/src/com/android/services/telephony/GsmConnection.java b/src/com/android/services/telephony/GsmConnection.java
index 47434c0..769ec22 100644
--- a/src/com/android/services/telephony/GsmConnection.java
+++ b/src/com/android/services/telephony/GsmConnection.java
@@ -22,8 +22,8 @@
  * Manages a single phone call handled by GSM.
  */
 final class GsmConnection extends TelephonyConnection {
-    GsmConnection(Connection connection, String telecomCallId, boolean isOutgoing) {
-        super(connection, telecomCallId, isOutgoing);
+    GsmConnection(Connection connection, String telecomCallId, int callDirection) {
+        super(connection, telecomCallId, callDirection);
     }
 
     /**
@@ -35,9 +35,7 @@
      */
     @Override
     public TelephonyConnection cloneConnection() {
-        GsmConnection gsmConnection = new GsmConnection(getOriginalConnection(),
-                getTelecomCallId(), mIsOutgoing);
-        return gsmConnection;
+        return new GsmConnection(getOriginalConnection(), getTelecomCallId(), getCallDirection());
     }
 
     /** {@inheritDoc} */
diff --git a/src/com/android/services/telephony/HoldTracker.java b/src/com/android/services/telephony/HoldTracker.java
index 805802f..5032b41 100644
--- a/src/com/android/services/telephony/HoldTracker.java
+++ b/src/com/android/services/telephony/HoldTracker.java
@@ -16,7 +16,6 @@
 
 package com.android.services.telephony;
 
-import android.telecom.Log;
 import android.telecom.PhoneAccountHandle;
 
 import java.util.ArrayList;
diff --git a/src/com/android/services/telephony/ImsConference.java b/src/com/android/services/telephony/ImsConference.java
index bf0374f..816348a 100644
--- a/src/com/android/services/telephony/ImsConference.java
+++ b/src/com/android/services/telephony/ImsConference.java
@@ -20,29 +20,25 @@
 import android.graphics.drawable.Icon;
 import android.net.Uri;
 import android.os.Bundle;
-import android.os.PersistableBundle;
-import android.telecom.Conference;
-import android.telecom.ConferenceParticipant;
 import android.telecom.Connection;
 import android.telecom.Connection.VideoProvider;
 import android.telecom.DisconnectCause;
-import android.telecom.Log;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.StatusHints;
 import android.telecom.TelecomManager;
 import android.telecom.VideoProfile;
-import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneNumberUtils;
 import android.util.Pair;
 
+import com.android.ims.internal.ConferenceParticipant;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.Call;
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
-import com.android.phone.PhoneGlobals;
 import com.android.phone.PhoneUtils;
 import com.android.phone.R;
+import com.android.telephony.Rlog;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -52,6 +48,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * Represents an IMS conference call.
@@ -68,7 +65,9 @@
  * connection and is responsible for managing the conference participant connections which represent
  * the participants.
  */
-public class ImsConference extends Conference implements Holdable {
+public class ImsConference extends TelephonyConferenceBase implements Holdable {
+
+    private static final String LOG_TAG = "ImsConference";
 
     /**
      * Abstracts out fetching a feature flag.  Makes testing easier.
@@ -78,24 +77,124 @@
     }
 
     /**
-     * Listener used to respond to changes to conference participants.  At the conference level we
-     * are most concerned with handling destruction of a conference participant.
+     * Abstracts out carrier configuration items specific to the conference.
      */
-    private final Connection.Listener mParticipantListener = new Connection.Listener() {
+    public static class CarrierConfiguration {
         /**
-         * Participant has been destroyed.  Remove it from the conference.
-         *
-         * @param connection The participant which was destroyed.
+         * Builds and instance of {@link CarrierConfiguration}.
          */
-        @Override
-        public void onDestroyed(Connection connection) {
-            ConferenceParticipantConnection participant =
-                    (ConferenceParticipantConnection) connection;
-            removeConferenceParticipant(participant);
-            updateManageConference();
+        public static class Builder {
+            private boolean mIsMaximumConferenceSizeEnforced = false;
+            private int mMaximumConferenceSize = 5;
+            private boolean mShouldLocalDisconnectEmptyConference = false;
+            private boolean mIsHoldAllowed = false;
+
+            /**
+             * Sets whether the maximum size of the conference is enforced.
+             * @param isMaximumConferenceSizeEnforced {@code true} if conference size enforced.
+             * @return builder instance.
+             */
+            public Builder setIsMaximumConferenceSizeEnforced(
+                    boolean isMaximumConferenceSizeEnforced) {
+                mIsMaximumConferenceSizeEnforced = isMaximumConferenceSizeEnforced;
+                return this;
+            }
+
+            /**
+             * Sets the maximum size of an IMS conference.
+             * @param maximumConferenceSize Max conference size.
+             * @return builder instance.
+             */
+            public Builder setMaximumConferenceSize(int maximumConferenceSize) {
+                mMaximumConferenceSize = maximumConferenceSize;
+                return this;
+            }
+
+            /**
+             * Sets whether an empty conference should be locally disconnected.
+             * @param shouldLocalDisconnectEmptyConference {@code true} if conference should be
+             * locally disconnected if empty.
+             * @return builder instance.
+             */
+            public Builder setShouldLocalDisconnectEmptyConference(
+                    boolean shouldLocalDisconnectEmptyConference) {
+                mShouldLocalDisconnectEmptyConference = shouldLocalDisconnectEmptyConference;
+                return this;
+            }
+
+            /**
+             * Sets whether holding the conference is allowed.
+             * @param isHoldAllowed {@code true} if holding is allowed.
+             * @return builder instance.
+             */
+            public Builder setIsHoldAllowed(boolean isHoldAllowed) {
+                mIsHoldAllowed = isHoldAllowed;
+                return this;
+            }
+
+            /**
+             * Build instance of {@link CarrierConfiguration}.
+             * @return carrier config instance.
+             */
+            public ImsConference.CarrierConfiguration build() {
+                return new ImsConference.CarrierConfiguration(mIsMaximumConferenceSizeEnforced,
+                        mMaximumConferenceSize, mShouldLocalDisconnectEmptyConference,
+                        mIsHoldAllowed);
+            }
         }
 
-    };
+        private boolean mIsMaximumConferenceSizeEnforced;
+
+        private int mMaximumConferenceSize;
+
+        private boolean mShouldLocalDisconnectEmptyConference;
+
+        private boolean mIsHoldAllowed;
+
+        private CarrierConfiguration(boolean isMaximumConferenceSizeEnforced,
+                int maximumConferenceSize, boolean shouldLocalDisconnectEmptyConference,
+                boolean isHoldAllowed) {
+            mIsMaximumConferenceSizeEnforced = isMaximumConferenceSizeEnforced;
+            mMaximumConferenceSize = maximumConferenceSize;
+            mShouldLocalDisconnectEmptyConference = shouldLocalDisconnectEmptyConference;
+            mIsHoldAllowed = isHoldAllowed;
+        }
+
+        /**
+         * Determines whether the {@link ImsConference} should enforce a size limit based on
+         * {@link #getMaximumConferenceSize()}.
+         * {@code true} if maximum size limit should be enforced, {@code false} otherwise.
+         */
+        public boolean isMaximumConferenceSizeEnforced() {
+            return mIsMaximumConferenceSizeEnforced;
+        }
+
+        /**
+         * Determines the maximum number of participants (not including the host) in a conference
+         * which is enforced when {@link #isMaximumConferenceSizeEnforced()} is {@code true}.
+         */
+        public int getMaximumConferenceSize() {
+            return mMaximumConferenceSize;
+        }
+
+        /**
+         * Determines whether this {@link ImsConference} should locally disconnect itself when the
+         * number of participants in the conference drops to zero.
+         * {@code true} if empty conference should be locally disconnected, {@code false}
+         * otherwise.
+         */
+        public boolean shouldLocalDisconnectEmptyConference() {
+            return mShouldLocalDisconnectEmptyConference;
+        }
+
+        /**
+         * Determines whether holding the conference is permitted or not.
+         * {@code true} if hold is permitted, {@code false} otherwise.
+         */
+        public boolean isHoldAllowed() {
+            return mIsHoldAllowed;
+        }
+    }
 
     /**
      * Listener used to respond to changes to the underlying radio connection for the conference
@@ -104,123 +203,132 @@
     private final TelephonyConnection.TelephonyConnectionListener mTelephonyConnectionListener =
             new TelephonyConnection.TelephonyConnectionListener() {
 
-        @Override
-        public void onOriginalConnectionConfigured(TelephonyConnection c) {
-            if (c == mConferenceHost) {
-               handleOriginalConnectionChange();
-            }
-        }
-    };
+                /**
+                 * Updates the state of the conference based on the new state of the host.
+                 *
+                 * @param c The host connection.
+                 * @param state The new state
+                 */
+                @Override
+                public void onStateChanged(android.telecom.Connection c, int state) {
+                    setState(state);
+                }
 
-    /**
-     * Listener used to respond to changes to the connection to the IMS conference server.
-     */
-    private final android.telecom.Connection.Listener mConferenceHostListener =
-            new android.telecom.Connection.Listener() {
+                /**
+                 * Disconnects the conference when its host connection disconnects.
+                 *
+                 * @param c The host connection.
+                 * @param disconnectCause The host connection disconnect cause.
+                 */
+                @Override
+                public void onDisconnected(android.telecom.Connection c,
+                        DisconnectCause disconnectCause) {
+                    setDisconnected(disconnectCause);
+                }
 
-        /**
-         * Updates the state of the conference based on the new state of the host.
-         *
-         * @param c The host connection.
-         * @param state The new state
-         */
-        @Override
-        public void onStateChanged(android.telecom.Connection c, int state) {
-            setState(state);
-        }
+                @Override
+                public void onVideoStateChanged(android.telecom.Connection c, int videoState) {
+                    Log.d(this, "onVideoStateChanged video state %d", videoState);
+                    setVideoState(c, videoState);
+                }
 
-        /**
-         * Disconnects the conference when its host connection disconnects.
-         *
-         * @param c The host connection.
-         * @param disconnectCause The host connection disconnect cause.
-         */
-        @Override
-        public void onDisconnected(android.telecom.Connection c, DisconnectCause disconnectCause) {
-            setDisconnected(disconnectCause);
-        }
+                @Override
+                public void onVideoProviderChanged(android.telecom.Connection c,
+                        Connection.VideoProvider videoProvider) {
+                    Log.d(this, "onVideoProviderChanged: Connection: %s, VideoProvider: %s", c,
+                            videoProvider);
+                    setVideoProvider(c, videoProvider);
+                }
 
-        /**
-         * Handles changes to conference participant data as reported by the conference host
-         * connection.
-         *
-         * @param c The connection.
-         * @param participants The participant information.
-         */
-        @Override
-        public void onConferenceParticipantsChanged(android.telecom.Connection c,
-                List<ConferenceParticipant> participants) {
+                @Override
+                public void onConnectionCapabilitiesChanged(Connection c,
+                        int connectionCapabilities) {
+                    Log.d(this, "onConnectionCapabilitiesChanged: Connection: %s,"
+                            + " connectionCapabilities: %s", c, connectionCapabilities);
+                    int capabilites = ImsConference.this.getConnectionCapabilities();
+                    boolean isVideoConferencingSupported = mConferenceHost == null ? false :
+                            mConferenceHost.isCarrierVideoConferencingSupported();
+                    setConnectionCapabilities(
+                            applyHostCapabilities(capabilites, connectionCapabilities,
+                                    isVideoConferencingSupported));
+                }
 
-            if (c == null || participants == null) {
-                return;
-            }
-            Log.v(this, "onConferenceParticipantsChanged: %d participants", participants.size());
-            TelephonyConnection telephonyConnection = (TelephonyConnection) c;
-            handleConferenceParticipantsUpdate(telephonyConnection, participants);
-        }
+                @Override
+                public void onConnectionPropertiesChanged(Connection c, int connectionProperties) {
+                    Log.d(this, "onConnectionPropertiesChanged: Connection: %s,"
+                            + " connectionProperties: %s", c, connectionProperties);
+                    updateConnectionProperties(connectionProperties);
+                }
 
-        @Override
-        public void onVideoStateChanged(android.telecom.Connection c, int videoState) {
-            Log.d(this, "onVideoStateChanged video state %d", videoState);
-            setVideoState(c, videoState);
-        }
+                @Override
+                public void onStatusHintsChanged(Connection c, StatusHints statusHints) {
+                    Log.v(this, "onStatusHintsChanged");
+                    updateStatusHints();
+                }
 
-        @Override
-        public void onVideoProviderChanged(android.telecom.Connection c,
-                Connection.VideoProvider videoProvider) {
-            Log.d(this, "onVideoProviderChanged: Connection: %s, VideoProvider: %s", c,
-                    videoProvider);
-            setVideoProvider(c, videoProvider);
-        }
+                @Override
+                public void onExtrasChanged(Connection c, Bundle extras) {
+                    Log.v(this, "onExtrasChanged: c=" + c + " Extras=" + extras);
+                    updateExtras(extras);
+                }
 
-        @Override
-        public void onConnectionCapabilitiesChanged(Connection c, int connectionCapabilities) {
-            Log.d(this, "onConnectionCapabilitiesChanged: Connection: %s," +
-                    " connectionCapabilities: %s", c, connectionCapabilities);
-            int capabilites = ImsConference.this.getConnectionCapabilities();
-            boolean isVideoConferencingSupported = mConferenceHost == null ? false :
-                    mConferenceHost.isCarrierVideoConferencingSupported();
-            setConnectionCapabilities(applyHostCapabilities(capabilites, connectionCapabilities,
-                    isVideoConferencingSupported));
-        }
+                @Override
+                public void onExtrasRemoved(Connection c, List<String> keys) {
+                    Log.v(this, "onExtrasRemoved: c=" + c + " key=" + keys);
+                    removeExtras(keys);
+                }
 
-        @Override
-        public void onConnectionPropertiesChanged(Connection c, int connectionProperties) {
-            Log.d(this, "onConnectionPropertiesChanged: Connection: %s," +
-                    " connectionProperties: %s", c, connectionProperties);
-            int properties = ImsConference.this.getConnectionProperties();
-            setConnectionProperties(applyHostProperties(properties, connectionProperties));
-        }
+                @Override
+                public void onConnectionEvent(Connection c, String event, Bundle extras) {
+                    if (Connection.EVENT_MERGE_START.equals(event)) {
+                        // Do not pass a merge start event on the underlying host connection; only
+                        // indicate a merge has started on the connections which are merged into a
+                        // conference.
+                        return;
+                    }
 
-        @Override
-        public void onStatusHintsChanged(Connection c, StatusHints statusHints) {
-            Log.v(this, "onStatusHintsChanged");
-            updateStatusHints();
-        }
+                    sendConferenceEvent(event, extras);
+                }
 
-        @Override
-        public void onExtrasChanged(Connection c, Bundle extras) {
-            Log.v(this, "onExtrasChanged: c=" + c + " Extras=" + extras);
-            putExtras(extras);
-        }
+                @Override
+                public void onOriginalConnectionConfigured(TelephonyConnection c) {
+                    if (c == mConferenceHost) {
+                        handleOriginalConnectionChange();
+                    }
+                }
 
-        @Override
-        public void onExtrasRemoved(Connection c, List<String> keys) {
-            Log.v(this, "onExtrasRemoved: c=" + c + " key=" + keys);
-            removeExtras(keys);
-        }
+                /**
+                 * Handles changes to conference participant data as reported by the conference host
+                 * connection.
+                 *
+                 * @param c The connection.
+                 * @param participants The participant information.
+                 */
+                @Override
+                public void onConferenceParticipantsChanged(android.telecom.Connection c,
+                        List<ConferenceParticipant> participants) {
 
-        @Override
-        public void onConnectionEvent(Connection c, String event, Bundle extras) {
-            if (Connection.EVENT_MERGE_START.equals(event)) {
-                // Do not pass a merge start event on the underlying host connection; we only
-                // indicate a merge has started on the connections which are merged into a
-                // conference.
-                return;
-            }
-            sendConnectionEvent(event, extras);
-        }
-    };
+                    if (c == null || participants == null) {
+                        return;
+                    }
+                    Log.v(this, "onConferenceParticipantsChanged: %d participants",
+                            participants.size());
+                    TelephonyConnection telephonyConnection = (TelephonyConnection) c;
+                    handleConferenceParticipantsUpdate(telephonyConnection, participants);
+                }
+
+                /**
+                 * Handles request to play a ringback tone.
+                 *
+                 * @param c The connection.
+                 * @param ringback Whether the ringback tone is to be played.
+                 */
+                @Override
+                public void onRingbackRequested(android.telecom.Connection c, boolean ringback) {
+                    Log.d(this, "onRingbackRequested ringback %s", ringback ? "Y" : "N");
+                    setRingbackRequested(ringback);
+                }
+            };
 
     /**
      * The telephony connection service; used to add new participant connections to Telecom.
@@ -245,6 +353,11 @@
     private TelecomAccountRegistry mTelecomAccountRegistry;
 
     /**
+     * The participant with which Adhoc Conference call is getting formed.
+     */
+    private List<Uri> mParticipants;
+
+    /**
      * The known conference participant connections.  The HashMap is keyed by a Pair containing
      * the handle and endpoint Uris.
      * Access to the hashmap is protected by the {@link #mUpdateSyncRoot}.
@@ -264,11 +377,11 @@
     private boolean mIsHoldable;
     private boolean mCouldManageConference;
     private FeatureFlagProxy mFeatureFlagProxy;
-    private boolean mIsEmulatingSinglePartyCall = false;
+    private final CarrierConfiguration mCarrierConfig;
     private boolean mIsUsingSimCallManager = false;
 
     /**
-     * Where {@link #mIsEmulatingSinglePartyCall} is {@code true}, contains the
+     * Where {@link #isMultiparty()} is {@code false}, contains the
      * {@link ConferenceParticipantConnection#getUserEntity()} and
      * {@link ConferenceParticipantConnection#getEndpoint()} of the single participant which this
      * conference pretends to be.
@@ -305,29 +418,30 @@
     public ImsConference(TelecomAccountRegistry telecomAccountRegistry,
             TelephonyConnectionServiceProxy telephonyConnectionService,
             TelephonyConnection conferenceHost, PhoneAccountHandle phoneAccountHandle,
-            FeatureFlagProxy featureFlagProxy) {
+            FeatureFlagProxy featureFlagProxy, CarrierConfiguration carrierConfig) {
 
         super(phoneAccountHandle);
 
         mTelecomAccountRegistry = telecomAccountRegistry;
         mFeatureFlagProxy = featureFlagProxy;
+        mCarrierConfig = carrierConfig;
 
         // Specify the connection time of the conference to be the connection time of the original
         // connection.
         long connectTime = conferenceHost.getOriginalConnection().getConnectTime();
         long connectElapsedTime = conferenceHost.getOriginalConnection().getConnectTimeReal();
         setConnectionTime(connectTime);
-        setConnectionStartElapsedRealTime(connectElapsedTime);
+        setConnectionStartElapsedRealtimeMillis(connectElapsedTime);
         // Set the connectTime in the connection as well.
         conferenceHost.setConnectTimeMillis(connectTime);
-        conferenceHost.setConnectionStartElapsedRealTime(connectElapsedTime);
+        conferenceHost.setConnectionStartElapsedRealtimeMillis(connectElapsedTime);
 
         mTelephonyConnectionService = telephonyConnectionService;
         setConferenceHost(conferenceHost);
 
         int capabilities = Connection.CAPABILITY_MUTE |
                 Connection.CAPABILITY_CONFERENCE_HAS_NO_CHILDREN;
-        if (canHoldImsCalls()) {
+        if (mCarrierConfig.isHoldAllowed()) {
             capabilities |= Connection.CAPABILITY_SUPPORT_HOLD | Connection.CAPABILITY_HOLD;
             mIsHoldable = true;
         }
@@ -335,7 +449,6 @@
                 mConferenceHost.getConnectionCapabilities(),
                 mConferenceHost.isCarrierVideoConferencingSupported());
         setConnectionCapabilities(capabilities);
-
     }
 
     /**
@@ -351,15 +464,15 @@
 
         conferenceCapabilities = changeBitmask(conferenceCapabilities,
                     Connection.CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL,
-                    can(capabilities, Connection.CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL));
+                (capabilities & Connection.CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL) != 0);
 
         if (isVideoConferencingSupported) {
             conferenceCapabilities = changeBitmask(conferenceCapabilities,
                     Connection.CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL,
-                    can(capabilities, Connection.CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL));
+                    (capabilities & Connection.CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL) != 0);
             conferenceCapabilities = changeBitmask(conferenceCapabilities,
                     Connection.CAPABILITY_CAN_UPGRADE_TO_VIDEO,
-                    can(capabilities, Connection.CAPABILITY_CAN_UPGRADE_TO_VIDEO));
+                    (capabilities & Connection.CAPABILITY_CAN_UPGRADE_TO_VIDEO) != 0);
         } else {
             // If video conferencing is not supported, explicitly turn off the remote video
             // capability and the ability to upgrade to video.
@@ -372,12 +485,16 @@
 
         conferenceCapabilities = changeBitmask(conferenceCapabilities,
                 Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO,
-                can(capabilities, Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO));
+                (capabilities & Connection.CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO) != 0);
 
         conferenceCapabilities = changeBitmask(conferenceCapabilities,
                 Connection.CAPABILITY_CAN_PAUSE_VIDEO,
                 mConferenceHost.getVideoPauseSupported() && isVideoCapable());
 
+        conferenceCapabilities = changeBitmask(conferenceCapabilities,
+                Connection.CAPABILITY_ADD_PARTICIPANT,
+                (capabilities & Connection.CAPABILITY_ADD_PARTICIPANT) != 0);
+
         return conferenceCapabilities;
     }
 
@@ -391,19 +508,23 @@
     private int applyHostProperties(int conferenceProperties, int properties) {
         conferenceProperties = changeBitmask(conferenceProperties,
                 Connection.PROPERTY_HIGH_DEF_AUDIO,
-                can(properties, Connection.PROPERTY_HIGH_DEF_AUDIO));
+                (properties & Connection.PROPERTY_HIGH_DEF_AUDIO) != 0);
 
         conferenceProperties = changeBitmask(conferenceProperties,
                 Connection.PROPERTY_WIFI,
-                can(properties, Connection.PROPERTY_WIFI));
+                (properties & Connection.PROPERTY_WIFI) != 0);
 
         conferenceProperties = changeBitmask(conferenceProperties,
                 Connection.PROPERTY_IS_EXTERNAL_CALL,
-                can(properties, Connection.PROPERTY_IS_EXTERNAL_CALL));
+                (properties & Connection.PROPERTY_IS_EXTERNAL_CALL) != 0);
 
         conferenceProperties = changeBitmask(conferenceProperties,
                 Connection.PROPERTY_REMOTELY_HOSTED, !isConferenceHost());
 
+        conferenceProperties = changeBitmask(conferenceProperties,
+                Connection.PROPERTY_IS_ADHOC_CONFERENCE,
+                (properties & Connection.PROPERTY_IS_ADHOC_CONFERENCE) != 0);
+
         return conferenceProperties;
     }
 
@@ -443,11 +564,31 @@
         return VideoProfile.STATE_AUDIO_ONLY;
     }
 
+    public Connection getConferenceHost() {
+        return mConferenceHost;
+    }
+
+    /**
+     * @return The address's to which this Connection is currently communicating.
+     */
+    public final List<Uri> getParticipants() {
+        return mParticipants;
+    }
+
+    /**
+     * Sets the value of the {@link #getParticipants()}.
+     *
+     * @param address The new address's.
+     */
+    public final void setParticipants(List<Uri> address) {
+        mParticipants = address;
+    }
+
     /**
      * Invoked when the Conference and all its {@link Connection}s should be disconnected.
      * <p>
      * Hangs up the call via the conference host connection.  When the host connection has been
-     * successfully disconnected, the {@link #mConferenceHostListener} listener receives an
+     * successfully disconnected, the {@link #mTelephonyConnectionListener} listener receives an
      * {@code onDestroyed} event, which triggers the conference participant connections to be
      * disconnected.
      */
@@ -467,6 +608,8 @@
             } catch (CallStateException e) {
                 Log.e(this, e, "Exception thrown trying to hangup conference");
             }
+        } else {
+            Log.w(this, "onDisconnect - null call");
         }
     }
 
@@ -502,6 +645,41 @@
     }
 
     /**
+     * Supports adding participants to an existing conference call
+     *
+     * @param participants that are pulled to existing conference call
+     */
+    @Override
+    public void onAddConferenceParticipants(List<Uri> participants) {
+        if (mConferenceHost == null) {
+            return;
+        }
+        mConferenceHost.performAddConferenceParticipants(participants);
+    }
+
+    /**
+     * Invoked when the conference is answered.
+     */
+    @Override
+    public void onAnswer(int videoState) {
+        if (mConferenceHost == null) {
+            return;
+        }
+        mConferenceHost.performAnswer(videoState);
+    }
+
+    /**
+     * Invoked when the conference is rejected.
+     */
+    @Override
+    public void onReject() {
+        if (mConferenceHost == null) {
+            return;
+        }
+        mConferenceHost.performReject(android.telecom.Call.REJECT_REASON_DECLINED);
+    }
+
+    /**
      * Invoked when the conference should be put on hold.
      */
     @Override
@@ -625,9 +803,10 @@
      * that the conference is represented appropriately on Bluetooth devices.
      */
     private void updateManageConference() {
-        boolean couldManageConference = can(Connection.CAPABILITY_MANAGE_CONFERENCE);
+        boolean couldManageConference =
+                (getConnectionCapabilities() & Connection.CAPABILITY_MANAGE_CONFERENCE) != 0;
         boolean canManageConference = mFeatureFlagProxy.isUsingSinglePartyCallEmulation()
-                && mIsEmulatingSinglePartyCall
+                && !isMultiparty()
                 ? mConferenceParticipantConnections.size() > 1
                 : mConferenceParticipantConnections.size() != 0;
         Log.v(this, "updateManageConference was :%s is:%s", couldManageConference ? "Y" : "N",
@@ -654,9 +833,7 @@
      * @param conferenceHost The connection hosting the conference.
      */
     private void setConferenceHost(TelephonyConnection conferenceHost) {
-        if (Log.VERBOSE) {
-            Log.v(this, "setConferenceHost " + conferenceHost);
-        }
+        Log.i(this, "setConferenceHost " + conferenceHost);
 
         mConferenceHost = conferenceHost;
 
@@ -688,6 +865,12 @@
             mConferenceHostAddress = new Uri[hostAddresses.size()];
             mConferenceHostAddress = hostAddresses.toArray(mConferenceHostAddress);
 
+            Log.i(this, "setConferenceHost: hosts are "
+                    + Arrays.stream(mConferenceHostAddress)
+                    .map(Uri::getSchemeSpecificPart)
+                    .map(ssp -> Rlog.pii(LOG_TAG, ssp))
+                    .collect(Collectors.joining(", ")));
+
             mIsUsingSimCallManager = mTelecomAccountRegistry.isUsingSimCallManager(
                     mConferenceHostPhoneAccountHandle);
         }
@@ -698,11 +881,11 @@
             setAddress(mConferenceHost.getAddress(), mConferenceHost.getAddressPresentation());
             setCallerDisplayName(mConferenceHost.getCallerDisplayName(),
                     mConferenceHost.getCallerDisplayNamePresentation());
-            setConnectionStartElapsedRealTime(mConferenceHost.getConnectElapsedTimeMillis());
+            setConnectionStartElapsedRealtimeMillis(
+                    mConferenceHost.getConnectionStartElapsedRealtimeMillis());
             setConnectionTime(mConferenceHost.getConnectTimeMillis());
         }
 
-        mConferenceHost.addConnectionListener(mConferenceHostListener);
         mConferenceHost.addTelephonyConnectionListener(mTelephonyConnectionListener);
         setConnectionCapabilities(applyHostCapabilities(getConnectionCapabilities(),
                 mConferenceHost.getConnectionCapabilities(),
@@ -770,8 +953,8 @@
             // 1. We're not emulating a single party call.
             // 2. We're emulating a single party call and the CEP contains more than just the
             //    single party
-            if ((mIsEmulatingSinglePartyCall && !isSinglePartyConference) ||
-                !mIsEmulatingSinglePartyCall) {
+            if ((!isMultiparty() && !isSinglePartyConference)
+                    || isMultiparty()) {
                 // Add any new participants and update existing.
                 for (ConferenceParticipant participant : participants) {
                     Pair<Uri, Uri> userEntity = new Pair<>(participant.getHandle(),
@@ -804,6 +987,13 @@
                                 "handleConferenceParticipantsUpdate: updateState, participant = %s",
                                 participant);
                         connection.updateState(participant.getState());
+                        if (participant.getState() == Connection.STATE_DISCONNECTED) {
+                            /**
+                             * Per {@link ConferenceParticipantConnection#updateState(int)}, we will
+                             * destroy the connection when its disconnected.
+                             */
+                            handleConnectionDestruction(connection);
+                        }
                         connection.setVideoState(parent.getVideoState());
                     }
                 }
@@ -817,6 +1007,13 @@
                                         newParticipant.getHandle(),
                                         newParticipant.getEndpoint()));
                         connection.updateState(newParticipant.getState());
+                        /**
+                         * Per {@link ConferenceParticipantConnection#updateState(int)}, we will
+                         * destroy the connection when its disconnected.
+                         */
+                        if (newParticipant.getState() == Connection.STATE_DISCONNECTED) {
+                            handleConnectionDestruction(connection);
+                        }
                         connection.setVideoState(parent.getVideoState());
                     }
                 }
@@ -832,9 +1029,8 @@
                     if (!participantUserEntities.contains(entry.getKey())) {
                         ConferenceParticipantConnection participant = entry.getValue();
                         participant.setDisconnected(new DisconnectCause(DisconnectCause.CANCELED));
-                        participant.removeConnectionListener(mParticipantListener);
-                        mTelephonyConnectionService.removeConnection(participant);
-                        removeConnection(participant);
+                        removeTelephonyConnection(participant);
+                        participant.destroy();
                         entryIterator.remove();
                         oldParticipantsRemoved = true;
                     }
@@ -846,11 +1042,12 @@
                             + "newParticipantcount=%d", oldParticipantCount, newParticipantCount);
             // If the single party call emulation fature flag is enabled, we can potentially treat
             // the conference as a single party call when there is just one participant.
-            if (mFeatureFlagProxy.isUsingSinglePartyCallEmulation()) {
-                if (oldParticipantCount > 1 && newParticipantCount == 1) {
+            if (mFeatureFlagProxy.isUsingSinglePartyCallEmulation() &&
+                    !mConferenceHost.isAdhocConferenceCall()) {
+                if (oldParticipantCount != 1 && newParticipantCount == 1) {
                     // If number of participants goes to 1, emulate a single party call.
                     startEmulatingSinglePartyCall();
-                } else if (mIsEmulatingSinglePartyCall && !isSinglePartyConference) {
+                } else if (!isMultiparty() && !isSinglePartyConference) {
                     // Number of participants increased, so stop emulating a single party call.
                     stopEmulatingSinglePartyCall();
                 }
@@ -861,6 +1058,14 @@
             if (newParticipantsAdded || oldParticipantsRemoved) {
                 updateManageConference();
             }
+
+            // If the conference is empty and we're supposed to do a local disconnect, do so now.
+            if (mCarrierConfig.shouldLocalDisconnectEmptyConference()
+                    && oldParticipantCount > 0 && newParticipantCount == 0) {
+                Log.i(this, "handleConferenceParticipantsUpdate: empty conference; "
+                        + "local disconnect.");
+                onDisconnect();
+            }
         }
     }
 
@@ -884,7 +1089,6 @@
 
         Log.i(this, "stopEmulatingSinglePartyCall: conference now has more than one"
                 + " participant; make it look conference-like again.");
-        mIsEmulatingSinglePartyCall = false;
 
         if (mCouldManageConference) {
             int currentCapabilities = getConnectionCapabilities();
@@ -903,7 +1107,8 @@
             Log.d(this,
                     "stopEmulatingSinglePartyCall: restored lone participant connect time");
             loneParticipant.setConnectTimeMillis(getConnectionTime());
-            loneParticipant.setConnectionStartElapsedRealTime(getConnectionStartElapsedRealTime());
+            loneParticipant.setConnectionStartElapsedRealtimeMillis(
+                    getConnectionStartElapsedRealtimeMillis());
         }
 
         // Tell Telecom its a conference again.
@@ -933,7 +1138,6 @@
         Log.i(this, "startEmulatingSinglePartyCall: conference has a single "
                 + "participant; downgrade to single party call.");
 
-        mIsEmulatingSinglePartyCall = true;
         Iterator<ConferenceParticipantConnection> valueIterator =
                 mConferenceParticipantConnections.values().iterator();
         if (valueIterator.hasNext()) {
@@ -943,17 +1147,18 @@
             setAddress(entry.getAddress(), entry.getAddressPresentation());
             setCallerDisplayName(entry.getCallerDisplayName(),
                     entry.getCallerDisplayNamePresentation());
-            setConnectionStartElapsedRealTime(entry.getConnectElapsedTimeMillis());
+            setConnectionStartElapsedRealtimeMillis(
+                    entry.getConnectionStartElapsedRealtimeMillis());
             setConnectionTime(entry.getConnectTimeMillis());
+            setCallDirection(entry.getCallDirection());
             mLoneParticipantIdentity = new Pair<>(entry.getUserEntity(), entry.getEndpoint());
 
             // Remove the participant from Telecom.  It'll get picked up in a future CEP update
             // again anyways.
             entry.setDisconnected(new DisconnectCause(DisconnectCause.CANCELED,
                     DisconnectCause.REASON_EMULATING_SINGLE_CALL));
-            entry.removeConnectionListener(mParticipantListener);
-            mTelephonyConnectionService.removeConnection(entry);
-            removeConnection(entry);
+            removeTelephonyConnection(entry);
+            entry.destroy();
             valueIterator.remove();
         }
 
@@ -961,7 +1166,8 @@
         setConferenceState(false);
 
         // Remove manage conference capability.
-        mCouldManageConference = can(Connection.CAPABILITY_MANAGE_CONFERENCE);
+        mCouldManageConference =
+                (getConnectionCapabilities() & Connection.CAPABILITY_MANAGE_CONFERENCE) != 0;
         int currentCapabilities = getConnectionCapabilities();
         currentCapabilities &= ~Connection.CAPABILITY_MANAGE_CONFERENCE;
         setConnectionCapabilities(currentCapabilities);
@@ -985,18 +1191,24 @@
         ConferenceParticipantConnection connection = new ConferenceParticipantConnection(
                 parent.getOriginalConnection(), participant,
                 !isConferenceHost() /* isRemotelyHosted */);
-        connection.addConnectionListener(mParticipantListener);
         if (participant.getConnectTime() == 0) {
             connection.setConnectTimeMillis(parent.getConnectTimeMillis());
-            connection.setConnectionStartElapsedRealTime(parent.getConnectElapsedTimeMillis());
+            connection.setConnectionStartElapsedRealtimeMillis(
+                    parent.getConnectionStartElapsedRealtimeMillis());
         } else {
             connection.setConnectTimeMillis(participant.getConnectTime());
-            connection.setConnectionStartElapsedRealTime(participant.getConnectElapsedTime());
+            connection.setConnectionStartElapsedRealtimeMillis(participant.getConnectElapsedTime());
         }
         // Indicate whether this is an MT or MO call to Telecom; the participant has the cached
         // data from the time of merge.
         connection.setCallDirection(participant.getCallDirection());
 
+        // Ensure important attributes of the parent get copied to child.
+        connection.setConnectionProperties(applyHostPropertiesToChild(
+                connection.getConnectionProperties(), parent.getConnectionProperties()));
+        connection.setStatusHints(parent.getStatusHints());
+        connection.setExtras(getChildExtrasFromHostBundle(parent.getExtras()));
+
         Log.i(this, "createConferenceParticipantConnection: participant=%s, connection=%s",
                 participant, connection);
 
@@ -1007,7 +1219,7 @@
 
         mTelephonyConnectionService.addExistingConnection(mConferenceHostPhoneAccountHandle,
                 connection, this);
-        addConnection(connection);
+        addTelephonyConnection(connection);
     }
 
     /**
@@ -1018,12 +1230,11 @@
     private void removeConferenceParticipant(ConferenceParticipantConnection participant) {
         Log.i(this, "removeConferenceParticipant: %s", participant);
 
-        participant.removeConnectionListener(mParticipantListener);
         synchronized(mUpdateSyncRoot) {
             mConferenceParticipantConnections.remove(new Pair<>(participant.getUserEntity(),
                     participant.getEndpoint()));
         }
-        mTelephonyConnectionService.removeConnection(participant);
+        participant.destroy();
     }
 
     /**
@@ -1036,14 +1247,13 @@
             for (ConferenceParticipantConnection connection :
                     mConferenceParticipantConnections.values()) {
 
-                connection.removeConnectionListener(mParticipantListener);
                 // Mark disconnect cause as cancelled to ensure that the call is not logged in the
                 // call log.
                 connection.setDisconnected(new DisconnectCause(DisconnectCause.CANCELED));
-                mTelephonyConnectionService.removeConnection(connection);
                 connection.destroy();
             }
             mConferenceParticipantConnections.clear();
+            updateManageConference();
         }
     }
 
@@ -1100,7 +1310,7 @@
             boolean isHost = PhoneNumberUtils.compare(hostNumber, number);
 
             Log.v(this, "isParticipantHost(%s) : host: %s, participant %s", (isHost ? "Y" : "N"),
-                    Log.pii(hostNumber), Log.pii(number));
+                    Rlog.pii(LOG_TAG, hostNumber), Rlog.pii(LOG_TAG, number));
 
             if (isHost) {
                 return true;
@@ -1151,24 +1361,24 @@
             if (mConferenceHost.getPhone().getPhoneType() == PhoneConstants.PHONE_TYPE_GSM) {
                 Log.i(this,"handleOriginalConnectionChange : SRVCC to GSM");
                 GsmConnection c = new GsmConnection(originalConnection, getTelecomCallId(),
-                        mConferenceHost.isOutgoingCall());
+                        mConferenceHost.getCallDirection());
                 // This is a newly created conference connection as a result of SRVCC
                 c.setConferenceSupported(true);
-                c.setConnectionProperties(
+                c.setTelephonyConnectionProperties(
                         c.getConnectionProperties() | Connection.PROPERTY_IS_DOWNGRADED_CONFERENCE);
                 c.updateState();
                 // Copy the connect time from the conferenceHost
                 c.setConnectTimeMillis(mConferenceHost.getConnectTimeMillis());
-                c.setConnectionStartElapsedRealTime(mConferenceHost.getConnectElapsedTimeMillis());
+                c.setConnectionStartElapsedRealtimeMillis(
+                        mConferenceHost.getConnectionStartElapsedRealtimeMillis());
                 mTelephonyConnectionService.addExistingConnection(phoneAccountHandle, c);
                 mTelephonyConnectionService.addConnectionToConferenceController(c);
             } // CDMA case not applicable for SRVCC
-            mConferenceHost.removeConnectionListener(mConferenceHostListener);
             mConferenceHost.removeTelephonyConnectionListener(mTelephonyConnectionListener);
             mConferenceHost = null;
             setDisconnected(new DisconnectCause(DisconnectCause.OTHER));
             disconnectConferenceParticipants();
-            destroy();
+            destroyTelephonyConference();
         }
 
         updateStatusHints();
@@ -1185,11 +1395,13 @@
         switch (state) {
             case Connection.STATE_INITIALIZING:
             case Connection.STATE_NEW:
-            case Connection.STATE_RINGING:
                 // No-op -- not applicable.
                 break;
+            case Connection.STATE_RINGING:
+                setConferenceOnRinging();
+                break;
             case Connection.STATE_DIALING:
-                setDialing();
+                setConferenceOnDialing();
                 break;
             case Connection.STATE_DISCONNECTED:
                 DisconnectCause disconnectCause;
@@ -1207,13 +1419,13 @@
                 }
                 setDisconnected(disconnectCause);
                 disconnectConferenceParticipants();
-                destroy();
+                destroyTelephonyConference();
                 break;
             case Connection.STATE_ACTIVE:
-                setActive();
+                setConferenceOnActive();
                 break;
             case Connection.STATE_HOLDING:
-                setOnHold();
+                setConferenceOnHold();
                 break;
         }
     }
@@ -1224,8 +1436,8 @@
      */
     private boolean isVideoCapable() {
         int capabilities = mConferenceHost.getConnectionCapabilities();
-        return can(capabilities, Connection.CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL)
-                && can(capabilities, Connection.CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL);
+        return (capabilities & Connection.CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL) != 0
+                && (capabilities & Connection.CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL) != 0;
     }
 
     private void updateStatusHints() {
@@ -1238,11 +1450,17 @@
             Phone phone = mConferenceHost.getPhone();
             if (phone != null) {
                 Context context = phone.getContext();
-                setStatusHints(new StatusHints(
+                StatusHints hints = new StatusHints(
                         context.getString(R.string.status_hint_label_wifi_call),
                         Icon.createWithResource(
                                 context, R.drawable.ic_signal_wifi_4_bar_24dp),
-                        null /* extras */));
+                        null /* extras */);
+                setStatusHints(hints);
+
+                // Ensure the children know they're a WIFI call as well.
+                for (Connection c : getConnections()) {
+                    c.setStatusHints(hints);
+                }
             }
         } else {
             setStatusHints(null);
@@ -1250,6 +1468,69 @@
     }
 
     /**
+     * Updates the conference's properties based on changes to the host.
+     * Also ensures pertinent properties from the host such as the WIFI property are copied to the
+     * children as well.
+     * @param connectionProperties The new host properties.
+     */
+    private void updateConnectionProperties(int connectionProperties) {
+        int properties = ImsConference.this.getConnectionProperties();
+        setConnectionProperties(applyHostProperties(properties, connectionProperties));
+
+        for (Connection c : getConnections()) {
+            c.setConnectionProperties(applyHostPropertiesToChild(c.getConnectionProperties(),
+                    connectionProperties));
+        }
+    }
+
+    /**
+     * Updates extras in the conference based on changes made in the parent.
+     * Also copies select extras (e.g. EXTRA_CALL_NETWORK_TYPE) to the children as well.
+     * @param extras The extras to copy.
+     */
+    private void updateExtras(Bundle extras) {
+        putExtras(extras);
+
+        if (extras == null) {
+            return;
+        }
+
+        Bundle childBundle = getChildExtrasFromHostBundle(extras);
+        for (Connection c : getConnections()) {
+            c.putExtras(childBundle);
+        }
+    }
+
+    /**
+     * Given an extras bundle from the host, returns a new bundle containing those extras which are
+     * releveant to the children.
+     * @param extras The host extras.
+     * @return The extras pertinent to the children.
+     */
+    private Bundle getChildExtrasFromHostBundle(Bundle extras) {
+        Bundle extrasToCopy = new Bundle();
+        if (extras != null && extras.containsKey(TelecomManager.EXTRA_CALL_NETWORK_TYPE)) {
+            int networkType = extras.getInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE);
+            extrasToCopy.putInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE, networkType);
+        }
+        return extrasToCopy;
+    }
+
+    /**
+     * Given the properties from a conference host applies and changes to the host's properties to
+     * the child as well.
+     * @param childProperties The existing child properties.
+     * @param hostProperties The properties from the host.
+     * @return The child properties with the applicable host bits set/unset.
+     */
+    private int applyHostPropertiesToChild(int childProperties, int hostProperties) {
+        childProperties = changeBitmask(childProperties,
+                Connection.PROPERTY_WIFI,
+                (hostProperties & Connection.PROPERTY_WIFI) != 0);
+        return childProperties;
+    }
+
+    /**
      * Builds a string representation of the {@link ImsConference}.
      *
      * @return String representing the conference.
@@ -1270,51 +1551,6 @@
         return sb.toString();
     }
 
-    private boolean canHoldImsCalls() {
-        PersistableBundle b = getCarrierConfig();
-        // Return true if the CarrierConfig is unavailable
-        return b == null || b.getBoolean(CarrierConfigManager.KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL);
-    }
-
-    private PersistableBundle getCarrierConfig() {
-        if (mConferenceHost == null) {
-            return null;
-        }
-
-        Phone phone = mConferenceHost.getPhone();
-        if (phone == null) {
-            return null;
-        }
-        return PhoneGlobals.getInstance().getCarrierConfigForSubId(phone.getSubId());
-    }
-
-    /**
-     * @return {@code true} if the carrier associated with the conference requires that the maximum
-     *      size of the conference is enforced, {@code false} otherwise.
-     */
-    public boolean isMaximumConferenceSizeEnforced() {
-        PersistableBundle b = getCarrierConfig();
-        // Return false if the CarrierConfig is unavailable
-        return b != null && b.getBoolean(
-                CarrierConfigManager.KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL);
-    }
-
-    /**
-     * @return The maximum size of a conference call where
-     * {@link #isMaximumConferenceSizeEnforced()} is true.
-     */
-    public int getMaximumConferenceSize() {
-        PersistableBundle b = getCarrierConfig();
-
-        // If there is no carrier config its really a problem, but we'll still define a sane limit
-        // of 5 so that we can still make a conference.
-        if (b == null) {
-            Log.w(this, "getMaximumConferenceSize - failed to get conference size");
-            return 5;
-        }
-        return b.getInt(CarrierConfigManager.KEY_IMS_CONFERENCE_SIZE_LIMIT_INT);
-    }
-
     /**
      * @return The number of participants in the conference.
      */
@@ -1327,7 +1563,18 @@
      *      participants in the conference has reached the limit, {@code false} otherwise.
      */
     public boolean isFullConference() {
-        return isMaximumConferenceSizeEnforced()
-                && getNumberOfParticipants() >= getMaximumConferenceSize();
+        return mCarrierConfig.isMaximumConferenceSizeEnforced()
+                && getNumberOfParticipants() >= mCarrierConfig.getMaximumConferenceSize();
+    }
+
+    /**
+     * Handles destruction of a {@link ConferenceParticipantConnection}.
+     * We remove the participant from the list of tracked participants in the conference and
+     * update whether the conference can be managed.
+     * @param participant the conference participant.
+     */
+    private void handleConnectionDestruction(ConferenceParticipantConnection participant) {
+        removeConferenceParticipant(participant);
+        updateManageConference();
     }
 }
diff --git a/src/com/android/services/telephony/ImsConferenceController.java b/src/com/android/services/telephony/ImsConferenceController.java
index 9902700..6d3d4c2 100644
--- a/src/com/android/services/telephony/ImsConferenceController.java
+++ b/src/com/android/services/telephony/ImsConferenceController.java
@@ -16,12 +16,17 @@
 
 package com.android.services.telephony;
 
+import android.content.Context;
+import android.os.PersistableBundle;
 import android.telecom.Conference;
 import android.telecom.Conferenceable;
 import android.telecom.Connection;
 import android.telecom.ConnectionService;
 import android.telecom.DisconnectCause;
 import android.telecom.PhoneAccountHandle;
+import android.telephony.CarrierConfigManager;
+
+import com.android.telephony.Rlog;
 
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
@@ -38,43 +43,36 @@
  * Manages conferences for IMS connections.
  */
 public class ImsConferenceController {
+    private static final String LOG_TAG = "ImsConferenceController";
 
     /**
      * Conference listener; used to receive notification when a conference has been disconnected.
      */
-    private final Conference.Listener mConferenceListener = new Conference.Listener() {
+    private final TelephonyConferenceBase.TelephonyConferenceListener mConferenceListener =
+            new TelephonyConferenceBase.TelephonyConferenceListener() {
         @Override
         public void onDestroyed(Conference conference) {
             if (Log.VERBOSE) {
                 Log.v(ImsConferenceController.class, "onDestroyed: %s", conference);
             }
 
+            if (conference instanceof ImsConference) {
+                // Ims Conference call ended, so UE may now have the ability to initiate
+                // an Adhoc Conference call. Hence, try enabling adhoc conference capability
+                mTelecomAccountRegistry.refreshAdhocConference(true);
+            }
             mImsConferences.remove(conference);
         }
+
+        @Override
+        public void onStateChanged(Conference conference, int oldState, int newState) {
+            Log.v(this, "onStateChanged: Conference = " + conference);
+            recalculateConferenceable();
+        }
     };
 
-    /**
-     * Ims conference controller connection listener.  Used to respond to changes in state of the
-     * Telephony connections the controller is aware of.
-     */
-    private final Connection.Listener mConnectionListener = new Connection.Listener() {
-        @Override
-        public void onStateChanged(Connection c, int state) {
-            Log.v(this, "onStateChanged: %s", Log.pii(c.getAddress()));
-            recalculate();
-        }
-
-        @Override
-        public void onDisconnected(Connection c, DisconnectCause disconnectCause) {
-            Log.v(this, "onDisconnected: %s", Log.pii(c.getAddress()));
-            recalculate();
-        }
-
-        @Override
-        public void onDestroyed(Connection connection) {
-            remove(connection);
-        }
-
+    private final TelephonyConnection.TelephonyConnectionListener mTelephonyConnectionListener =
+            new TelephonyConnection.TelephonyConnectionListener() {
         @Override
         public void onConferenceStarted() {
             Log.v(this, "onConferenceStarted");
@@ -86,6 +84,23 @@
             Log.v(this, "onConferenceSupportedChanged");
             recalculate();
         }
+
+        @Override
+        public void onStateChanged(Connection c, int state) {
+            Log.v(this, "onStateChanged: %s", Rlog.pii(LOG_TAG, c.getAddress()));
+            recalculate();
+        }
+
+        @Override
+        public void onDisconnected(Connection c, DisconnectCause disconnectCause) {
+            Log.v(this, "onDisconnected: %s", Rlog.pii(LOG_TAG, c.getAddress()));
+            recalculate();
+        }
+
+        @Override
+        public void onDestroyed(Connection connection) {
+            remove(connection);
+        }
     };
 
     /**
@@ -101,10 +116,11 @@
     private final ArrayList<TelephonyConnection> mTelephonyConnections = new ArrayList<>();
 
     /**
-     * List of known {@link ImsConference}s.  Realistically there will only ever be a single
-     * concurrent IMS conference.
+     * List of known {@link ImsConference}s. There can be upto maximum two Ims conference calls.
+     * One conference call can be a host conference call and another conference call formed as a
+     * result of accepting incoming conference call.
      */
-    private final ArrayList<ImsConference> mImsConferences = new ArrayList<>(1);
+    private final ArrayList<ImsConference> mImsConferences = new ArrayList<>(2);
 
     private TelecomAccountRegistry mTelecomAccountRegistry;
 
@@ -122,6 +138,17 @@
         mFeatureFlagProxy = featureFlagProxy;
     }
 
+    void addConference(ImsConference conference) {
+        if (mImsConferences.contains(conference)) {
+            // Adding a duplicate realistically shouldn't happen.
+            Log.w(this, "addConference - conference already tracked; conference=%s", conference);
+            return;
+        }
+        mImsConferences.add(conference);
+        conference.addTelephonyConferenceListener(mConferenceListener);
+        recalculateConferenceable();
+    }
+
     /**
      * Adds a new connection to the IMS conference controller.
      *
@@ -148,8 +175,9 @@
         }
 
         mTelephonyConnections.add(connection);
-        connection.addConnectionListener(mConnectionListener);
+        connection.addTelephonyConnectionListener(mTelephonyConnectionListener);
         recalculateConference();
+        recalculateConferenceable();
     }
 
     /**
@@ -175,7 +203,10 @@
             Log.v(this, "remove connection: %s", connection);
         }
 
-        connection.removeConnectionListener(mConnectionListener);
+        if (connection instanceof TelephonyConnection) {
+            TelephonyConnection telephonyConnection = (TelephonyConnection) connection;
+            telephonyConnection.removeTelephonyConnectionListener(mTelephonyConnectionListener);
+        }
         mTelephonyConnections.remove(connection);
         recalculateConferenceable();
     }
@@ -246,6 +277,11 @@
                 continue;
             }
 
+            // Since UE cannot host two conference calls, remove the ability to initiate
+            // another conference call as there already exists a conference call, which
+            // is hosted on this device.
+            mTelecomAccountRegistry.refreshAdhocConference(false);
+
             switch (conference.getState()) {
                 case Connection.STATE_ACTIVE:
                     //fall through
@@ -356,6 +392,10 @@
             Log.v(this, "Start new ImsConference - connection: %s", connection);
         }
 
+        if (connection.isAdhocConferenceCall()) {
+            Log.w(this, "start new ImsConference - control should never come here");
+            return;
+        }
         // Make a clone of the connection which will become the Ims conference host connection.
         // This is necessary since the Connection Service does not support removing a connection
         // from Telecom.  Instead we create a new instance and remove the old one from telecom.
@@ -367,6 +407,7 @@
         PhoneAccountHandle phoneAccountHandle = null;
 
         // Attempt to determine the phone account associated with the conference host connection.
+        ImsConference.CarrierConfiguration carrierConfig = null;
         if (connection.getPhone() != null &&
                 connection.getPhone().getPhoneType() == PhoneConstants.PHONE_TYPE_IMS) {
             Phone imsPhone = connection.getPhone();
@@ -374,12 +415,14 @@
             // base GSM or CDMA phone, not on the ImsPhone itself).
             phoneAccountHandle =
                     PhoneUtils.makePstnPhoneAccountHandle(imsPhone.getDefaultPhone());
+            carrierConfig = getCarrierConfig(imsPhone);
         }
 
         ImsConference conference = new ImsConference(mTelecomAccountRegistry, mConnectionService,
-                conferenceHostConnection, phoneAccountHandle, mFeatureFlagProxy);
+                conferenceHostConnection, phoneAccountHandle, mFeatureFlagProxy, carrierConfig);
         conference.setState(conferenceHostConnection.getState());
-        conference.addListener(mConferenceListener);
+        conference.setCallDirection(conferenceHostConnection.getCallDirection());
+        conference.addTelephonyConferenceListener(mConferenceListener);
         conference.updateConferenceParticipantsAfterCreation();
         mConnectionService.addConference(conference);
         conferenceHostConnection.setTelecomCallId(conference.getTelecomCallId());
@@ -387,15 +430,43 @@
         // Cleanup TelephonyConnection which backed the original connection and remove from telecom.
         // Use the "Other" disconnect cause to ensure the call is logged to the call log but the
         // disconnect tone is not played.
-        connection.removeConnectionListener(mConnectionListener);
-        connection.clearOriginalConnection();
-        connection.setDisconnected(new DisconnectCause(DisconnectCause.OTHER,
+        connection.removeTelephonyConnectionListener(mTelephonyConnectionListener);
+        connection.setTelephonyConnectionDisconnected(new DisconnectCause(DisconnectCause.OTHER,
                 android.telephony.DisconnectCause.toString(
                         android.telephony.DisconnectCause.IMS_MERGED_SUCCESSFULLY)));
-        connection.destroy();
+        connection.close();
         mImsConferences.add(conference);
         // If one of the participants failed to join the conference, recalculate will set the
         // conferenceable connections for the conference to show merge calls option.
         recalculateConferenceable();
     }
+
+    public static ImsConference.CarrierConfiguration getCarrierConfig(Phone phone) {
+        ImsConference.CarrierConfiguration.Builder config =
+                new ImsConference.CarrierConfiguration.Builder();
+        if (phone == null) {
+            return config.build();
+        }
+
+        CarrierConfigManager cfgManager = (CarrierConfigManager)
+                phone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
+        if (cfgManager != null) {
+            PersistableBundle bundle = cfgManager.getConfigForSubId(phone.getSubId());
+            boolean isMaximumConferenceSizeEnforced = bundle.getBoolean(
+                    CarrierConfigManager.KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL);
+            int maximumConferenceSize = bundle.getInt(
+                    CarrierConfigManager.KEY_IMS_CONFERENCE_SIZE_LIMIT_INT);
+            boolean isHoldAllowed = bundle.getBoolean(
+                    CarrierConfigManager.KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL);
+            boolean shouldLocalDisconnectOnEmptyConference = bundle.getBoolean(
+                    CarrierConfigManager.KEY_LOCAL_DISCONNECT_EMPTY_IMS_CONFERENCE_BOOL);
+
+            config.setIsMaximumConferenceSizeEnforced(isMaximumConferenceSizeEnforced)
+                    .setMaximumConferenceSize(maximumConferenceSize)
+                    .setIsHoldAllowed(isHoldAllowed)
+                    .setShouldLocalDisconnectEmptyConference(
+                            shouldLocalDisconnectOnEmptyConference);
+        }
+        return config.build();
+    }
 }
diff --git a/src/com/android/services/telephony/Log.java b/src/com/android/services/telephony/Log.java
index 9941a59..57bf849 100644
--- a/src/com/android/services/telephony/Log.java
+++ b/src/com/android/services/telephony/Log.java
@@ -16,8 +16,6 @@
 
 package com.android.services.telephony;
 
-import android.content.Context;
-
 /**
  * Manages logging for the entire module.
  */
@@ -39,72 +37,80 @@
         return FORCE_LOGGING || android.util.Log.isLoggable(TAG, level);
     }
 
-    public static void initLogging(Context context) {
-        // Register Telephony with the Telecom Logger.
-        android.telecom.Log.setTag(TAG);
-        android.telecom.Log.setSessionContext(context);
-    }
-
     // Relay log messages to Telecom
     // TODO: Redo namespace of Telephony to use these methods directly.
 
     public static void d(String prefix, String format, Object... args) {
-        android.telecom.Log.d(prefix, format, args);
+        android.util.Log.d(TAG, (args == null || args.length == 0) ? format :
+                String.format(prefix + ": " + format, args));
     }
 
     public static void d(Object objectPrefix, String format, Object... args) {
-        android.telecom.Log.d(objectPrefix, format, args);
+        android.util.Log.d(TAG, (args == null || args.length == 0) ? format :
+                String.format(getPrefixFromObject(objectPrefix) + ": " + format, args));
     }
 
     public static void i(String prefix, String format, Object... args) {
-        android.telecom.Log.i(prefix, format, args);
+        android.util.Log.i(TAG, (args == null || args.length == 0) ? format :
+                String.format(prefix + ": " + format, args));
     }
 
     public static void i(Object objectPrefix, String format, Object... args) {
-        android.telecom.Log.i(objectPrefix, format, args);
+        android.util.Log.i(TAG, (args == null || args.length == 0) ? format :
+                String.format(getPrefixFromObject(objectPrefix) + ": " + format, args));
     }
 
     public static void v(String prefix, String format, Object... args) {
-        android.telecom.Log.v(prefix, format, args);
+        android.util.Log.v(TAG, (args == null || args.length == 0) ? format :
+                String.format(prefix + ": " + format, args));
     }
 
     public static void v(Object objectPrefix, String format, Object... args) {
-        android.telecom.Log.v(objectPrefix, format, args);
+        android.util.Log.v(TAG, (args == null || args.length == 0) ? format :
+                String.format(getPrefixFromObject(objectPrefix) + ": " + format, args));
     }
 
     public static void w(String prefix, String format, Object... args) {
-        android.telecom.Log.w(prefix, format, args);
+        android.util.Log.w(TAG, (args == null || args.length == 0) ? format :
+                String.format(prefix + ": " + format, args));
     }
 
     public static void w(Object objectPrefix, String format, Object... args) {
-        android.telecom.Log.w(objectPrefix, format, args);
+        android.util.Log.w(TAG, (args == null || args.length == 0) ? format :
+                String.format(getPrefixFromObject(objectPrefix) + ": " + format, args));
     }
 
     public static void e(String prefix, Throwable tr, String format, Object... args) {
-        android.telecom.Log.e(prefix, tr, format, args);
+        android.util.Log.e(TAG, (args == null || args.length == 0) ? format :
+                String.format(prefix + ": " + format, args), tr);
     }
 
     public static void e(Object objectPrefix, Throwable tr, String format, Object... args) {
-        android.telecom.Log.e(objectPrefix, tr, format, args);
+        android.util.Log.e(TAG, (args == null || args.length == 0) ? format :
+                String.format(getPrefixFromObject(objectPrefix) + ": " + format, args), tr);
     }
 
     public static void wtf(String prefix, Throwable tr, String format, Object... args) {
-        android.telecom.Log.wtf(prefix, tr, format, args);
+        android.util.Log.wtf(TAG, (args == null || args.length == 0) ? format :
+                String.format(prefix + ": " + format, args), tr);
     }
 
     public static void wtf(Object objectPrefix, Throwable tr, String format, Object... args) {
-        android.telecom.Log.wtf(objectPrefix, tr, format, args);
+        android.util.Log.wtf(TAG, (args == null || args.length == 0) ? format :
+                String.format(getPrefixFromObject(objectPrefix) + ": " + format, args), tr);
     }
 
     public static void wtf(String prefix, String format, Object... args) {
-        android.telecom.Log.wtf(prefix, format, args);
+        android.util.Log.wtf(TAG, (args == null || args.length == 0) ? format :
+                String.format(prefix + ": " + format, args));
     }
 
     public static void wtf(Object objectPrefix, String format, Object... args) {
-        android.telecom.Log.wtf(objectPrefix, format, args);
+        android.util.Log.wtf(TAG, (args == null || args.length == 0) ? format :
+                String.format(getPrefixFromObject(objectPrefix) + ": " + format, args));
     }
 
-    public static String pii(Object pii) {
-        return android.telecom.Log.pii(pii);
+    private static String getPrefixFromObject(Object obj) {
+        return obj == null ? "<null>" : obj.getClass().getSimpleName();
     }
 }
diff --git a/src/com/android/services/telephony/PstnIncomingCallNotifier.java b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
index a2ced9e..a917f3d 100644
--- a/src/com/android/services/telephony/PstnIncomingCallNotifier.java
+++ b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
@@ -25,6 +25,7 @@
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import com.android.telephony.Rlog;
 import android.text.TextUtils;
 
 import com.android.internal.telephony.Call;
@@ -40,8 +41,6 @@
 import com.android.phone.NumberVerificationManager;
 import com.android.phone.PhoneUtils;
 
-import com.google.common.base.Preconditions;
-
 import java.util.Objects;
 
 /**
@@ -49,6 +48,8 @@
  * occurence. One instance of these exists for each of the telephony-based call services.
  */
 final class PstnIncomingCallNotifier {
+    private static final String LOG_TAG = "PstnIncomingCallNotifier";
+
     /** New ringing connection event code. */
     private static final int EVENT_NEW_RINGING_CONNECTION = 100;
     private static final int EVENT_CDMA_CALL_WAITING = 101;
@@ -93,7 +94,9 @@
      * @param phone The phone object for listening to incoming calls.
      */
     PstnIncomingCallNotifier(Phone phone) {
-        Preconditions.checkNotNull(phone);
+        if (phone == null) {
+            throw new NullPointerException();
+        }
 
         mPhone = phone;
 
@@ -181,7 +184,7 @@
                     // Presentation of the number is allowed, so we ensure the number matches the
                     // one in the call waiting information.
                     Log.i(this, "handleCdmaCallWaiting: inform telecom of waiting call; "
-                            + "number = %s", Log.pii(number));
+                            + "number = %s", Rlog.pii(LOG_TAG, number));
                     sendIncomingCallIntent(connection);
                 } else {
                     Log.w(this, "handleCdmaCallWaiting: presentation or number do not match, not"
@@ -248,7 +251,8 @@
                     // connection already disconnected. Do nothing
                 }
             } else {
-                TelecomManager.from(mPhone.getContext()).addNewUnknownCall(handle, extras);
+                TelecomManager tm = mPhone.getContext().getSystemService(TelecomManager.class);
+                tm.addNewUnknownCall(handle, extras);
             }
         } else {
             Log.i(this, "swapped an old connection, new one is: %s", connection);
@@ -274,7 +278,12 @@
             if (((ImsPhoneConnection) connection).isRttEnabledForCall()) {
                 extras.putBoolean(TelecomManager.EXTRA_START_CALL_WITH_RTT, true);
             }
+            if (((ImsPhoneConnection) connection).isIncomingCallAutoRejected()) {
+                extras.putString(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE,
+                        "Call Dropped by lower layers");
+            }
         }
+
         PhoneAccountHandle handle = findCorrectPhoneAccountHandle();
         if (handle == null) {
             try {
@@ -283,7 +292,12 @@
                 // connection already disconnected. Do nothing
             }
         } else {
-            TelecomManager.from(mPhone.getContext()).addNewIncomingCall(handle, extras);
+            TelecomManager tm = mPhone.getContext().getSystemService(TelecomManager.class);
+            if (connection.isMultiparty()) {
+                tm.addNewIncomingConference(handle, extras);
+            } else {
+                tm.addNewIncomingCall(handle, extras);
+            }
         }
     }
 
diff --git a/src/com/android/services/telephony/PstnPhoneCapabilitiesNotifier.java b/src/com/android/services/telephony/PstnPhoneCapabilitiesNotifier.java
index b9cbf6e..4038dd1 100644
--- a/src/com/android/services/telephony/PstnPhoneCapabilitiesNotifier.java
+++ b/src/com/android/services/telephony/PstnPhoneCapabilitiesNotifier.java
@@ -21,7 +21,6 @@
 import android.os.Message;
 
 import com.android.internal.telephony.Phone;
-import com.android.internal.util.Preconditions;
 
 /**
  * Listens to phone's capabilities changed event and notifies Telecomm. One instance of these exists
@@ -55,7 +54,9 @@
 
     /*package*/
     PstnPhoneCapabilitiesNotifier(Phone phone, Listener listener) {
-        Preconditions.checkNotNull(phone);
+        if (phone == null) {
+            throw new NullPointerException();
+        }
 
         mPhone = phone;
         mListener = listener;
diff --git a/src/com/android/services/telephony/RadioOnHelper.java b/src/com/android/services/telephony/RadioOnHelper.java
index 288c72c..25ac220 100644
--- a/src/com/android/services/telephony/RadioOnHelper.java
+++ b/src/com/android/services/telephony/RadioOnHelper.java
@@ -49,13 +49,19 @@
     }
 
     private void setupListeners() {
-        if (mListeners != null) {
-            return;
+        if (mListeners == null) {
+            mListeners = new ArrayList<>(2);
         }
-        mListeners = new ArrayList<>(2);
-        for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
+        int activeModems = TelephonyManager.from(mContext).getActiveModemCount();
+        // Add new listeners if active modem count increased.
+        while (mListeners.size() < activeModems) {
             mListeners.add(new RadioOnStateListener());
         }
+        // Clean up listeners if active modem count decreased.
+        while (mListeners.size() > activeModems) {
+            mListeners.get(mListeners.size() - 1).cleanup();
+            mListeners.remove(mListeners.size() - 1);
+        }
     }
     /**
      * Starts the "turn on radio" sequence. This is the (single) external API of the
@@ -71,28 +77,30 @@
      * RadioOnHelper's handler (thus ensuring that the rest of the sequence is entirely
      * serialized, and runs on the main looper.)
      */
-    public void triggerRadioOnAndListen(RadioOnStateListener.Callback callback) {
+    public void triggerRadioOnAndListen(RadioOnStateListener.Callback callback,
+            boolean forEmergencyCall, Phone phoneForEmergencyCall) {
         setupListeners();
         mCallback = callback;
         mInProgressListeners.clear();
         mIsRadioOnCallingEnabled = false;
-        for (int i = 0; i < TelephonyManager.getDefault().getPhoneCount(); i++) {
+        for (int i = 0; i < TelephonyManager.from(mContext).getActiveModemCount(); i++) {
             Phone phone = PhoneFactory.getPhone(i);
             if (phone == null) {
                 continue;
             }
 
             mInProgressListeners.add(mListeners.get(i));
-            mListeners.get(i).waitForRadioOn(phone, this);
+            mListeners.get(i).waitForRadioOn(phone, this, forEmergencyCall,
+                    forEmergencyCall && phone == phoneForEmergencyCall);
         }
 
-        powerOnRadio();
+        powerOnRadio(forEmergencyCall, phoneForEmergencyCall);
     }
     /**
      * Attempt to power on the radio (i.e. take the device out of airplane mode). We'll eventually
      * get an onServiceStateChanged() callback when the radio successfully comes up.
      */
-    private void powerOnRadio() {
+    private void powerOnRadio(boolean forEmergencyCall, Phone phoneForEmergencyCall) {
 
         // If airplane mode is on, we turn it off the same way that the Settings activity turns it
         // off.
@@ -104,6 +112,11 @@
             Settings.Global.putInt(mContext.getContentResolver(),
                     Settings.Global.AIRPLANE_MODE_ON, 0);
 
+            for (Phone phone : PhoneFactory.getPhones()) {
+                Log.d(this, "powerOnRadio, enabling Radio");
+                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/RadioOnStateListener.java b/src/com/android/services/telephony/RadioOnStateListener.java
index 729f6a9..93e1e3c 100644
--- a/src/com/android/services/telephony/RadioOnStateListener.java
+++ b/src/com/android/services/telephony/RadioOnStateListener.java
@@ -56,6 +56,9 @@
     @VisibleForTesting
     public static final int MSG_SERVICE_STATE_CHANGED = 2;
     private static final int MSG_RETRY_TIMEOUT = 3;
+    @VisibleForTesting
+    public static final int MSG_RADIO_ON = 4;
+    public static final int MSG_RADIO_OFF_OR_NOT_AVAILABLE = 5;
 
     private final Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
@@ -67,7 +70,10 @@
                         Phone phone = (Phone) args.arg1;
                         RadioOnStateListener.Callback callback =
                                 (RadioOnStateListener.Callback) args.arg2;
-                        startSequenceInternal(phone, callback);
+                        boolean forEmergencyCall = (boolean) args.arg3;
+                        boolean isSelectedPhoneForEmergencyCall = (boolean) args.arg4;
+                        startSequenceInternal(phone, callback, forEmergencyCall,
+                                isSelectedPhoneForEmergencyCall);
                     } finally {
                         args.recycle();
                     }
@@ -75,6 +81,12 @@
                 case MSG_SERVICE_STATE_CHANGED:
                     onServiceStateChanged((ServiceState) ((AsyncResult) msg.obj).result);
                     break;
+                case MSG_RADIO_ON:
+                    onRadioOn();
+                    break;
+                case MSG_RADIO_OFF_OR_NOT_AVAILABLE:
+                    registerForRadioOn();
+                    break;
                 case MSG_RETRY_TIMEOUT:
                     onRetryTimeout();
                     break;
@@ -88,6 +100,10 @@
 
     private Callback mCallback;  // The callback to notify upon completion.
     private Phone mPhone;  // The phone that will attempt to place the call.
+    private boolean mForEmergencyCall; // Whether radio is being turned on for emergency call.
+    // Whether this phone is selected to place emergency call. Can be true only if
+    // mForEmergencyCall is true.
+    private boolean mSelectedPhoneForEmergencyCall;
     private int mNumRetriesSoFar;
 
     /**
@@ -104,7 +120,8 @@
      * RadioOnStateListener's handler (thus ensuring that the rest of the sequence is entirely
      * serialized, and runs only on the handler thread.)
      */
-    public void waitForRadioOn(Phone phone, Callback callback) {
+    public void waitForRadioOn(Phone phone, Callback callback,
+            boolean forEmergencyCall, boolean isSelectedPhoneForEmergencyCall) {
         Log.d(this, "waitForRadioOn: Phone " + phone.getPhoneId());
 
         if (mPhone != null) {
@@ -115,6 +132,8 @@
         SomeArgs args = SomeArgs.obtain();
         args.arg1 = phone;
         args.arg2 = callback;
+        args.arg3 = forEmergencyCall;
+        args.arg4 = isSelectedPhoneForEmergencyCall;
         mHandler.obtainMessage(MSG_START_SEQUENCE, args).sendToTarget();
     }
 
@@ -123,7 +142,8 @@
      *
      * @see #waitForRadioOn
      */
-    private void startSequenceInternal(Phone phone, Callback callback) {
+    private void startSequenceInternal(Phone phone, Callback callback,
+            boolean forEmergencyCall, boolean isSelectedPhoneForEmergencyCall) {
         Log.d(this, "startSequenceInternal: Phone " + phone.getPhoneId());
 
         // First of all, clean up any state left over from a prior RadioOn call sequence. This
@@ -133,8 +153,13 @@
 
         mPhone = phone;
         mCallback = callback;
+        mForEmergencyCall = forEmergencyCall;
+        mSelectedPhoneForEmergencyCall = isSelectedPhoneForEmergencyCall;
 
         registerForServiceStateChanged();
+        // Register for RADIO_OFF to handle cases where emergency call is dialed before
+        // we receive UNSOL_RESPONSE_RADIO_STATE_CHANGED with RADIO_OFF.
+        registerForRadioOff();
         // Next step: when the SERVICE_STATE_CHANGED event comes in, we'll retry the call; see
         // onServiceStateChanged(). But also, just in case, start a timer to make sure we'll retry
         // the call even if the SERVICE_STATE_CHANGED event never comes in for some reason.
@@ -147,6 +172,7 @@
      * call with {@link Callback#isOkToCall}
      */
     private void onServiceStateChanged(ServiceState state) {
+        if (mPhone == null) return;
         Log.d(this, "onServiceStateChanged(), new state = %s, Phone = %s", state,
                 mPhone.getPhoneId());
 
@@ -169,6 +195,18 @@
         }
     }
 
+    private void onRadioOn() {
+        if (mPhone == null) return;
+        ServiceState state =  mPhone.getServiceState();
+        Log.d(this, "onRadioOn, state = %s, Phone = %s", state,
+                mPhone.getPhoneId());
+        if (isOkToCall(state.getState())) {
+            onComplete(true);
+            cleanup();
+        } else {
+            Log.d(this, "onRadioOn: not ready to call yet, keep waiting.");
+        }
+    }
     /**
      * Callback to see if it is okay to call yet, given the current conditions.
      */
@@ -180,6 +218,7 @@
      * Handles the retry timer expiring.
      */
     private void onRetryTimeout() {
+        if (mPhone == null) return;
         int serviceState = mPhone.getServiceState().getState();
         Log.d(this, "onRetryTimeout():  phone state = %s, service state = %d, retries = %d.",
                 mPhone.getState(), serviceState, mNumRetriesSoFar);
@@ -208,7 +247,8 @@
                 cleanup();
             } else {
                 Log.d(this, "Trying (again) to turn on the radio.");
-                mPhone.setRadioPower(true);
+                mPhone.setRadioPower(true, mForEmergencyCall, mSelectedPhoneForEmergencyCall,
+                        false);
                 startRetryTimer();
             }
         }
@@ -231,7 +271,7 @@
      * Note we don't call this method simply after a successful call to placeCall(), since it's
      * still possible the call will disconnect very quickly with an OUT_OF_SERVICE error.
      */
-    private void cleanup() {
+    public void cleanup() {
         Log.d(this, "cleanup()");
 
         // This will send a failure call back if callback has yet to be invoked.  If the callback
@@ -239,6 +279,8 @@
         onComplete(false);
 
         unregisterForServiceStateChanged();
+        unregisterForRadioOff();
+        unregisterForRadioOn();
         cancelRetryTimer();
 
         // Used for unregisterForServiceStateChanged() so we null it out here instead.
@@ -271,6 +313,31 @@
         mHandler.removeMessages(MSG_SERVICE_STATE_CHANGED);  // Clean up any pending messages too
     }
 
+    private void registerForRadioOff() {
+        mPhone.mCi.registerForOffOrNotAvailable(mHandler, MSG_RADIO_OFF_OR_NOT_AVAILABLE, null);
+    }
+
+    private void unregisterForRadioOff() {
+        // This method is safe to call even if we haven't set mPhone yet.
+        if (mPhone != null) {
+            mPhone.mCi.unregisterForOffOrNotAvailable(mHandler);  // Safe even if unnecessary
+        }
+        mHandler.removeMessages(MSG_RADIO_OFF_OR_NOT_AVAILABLE);  // Clean up any pending messages
+    }
+
+    private void registerForRadioOn() {
+        unregisterForRadioOff();
+        mPhone.mCi.registerForOn(mHandler, MSG_RADIO_ON, null);
+    }
+
+    private void unregisterForRadioOn() {
+        // This method is safe to call even if we haven't set mPhone yet.
+        if (mPhone != null) {
+            mPhone.mCi.unregisterForOn(mHandler);  // Safe even if unnecessary
+        }
+        mHandler.removeMessages(MSG_RADIO_ON);  // Clean up any pending messages too
+    }
+
     private void onComplete(boolean isRadioReady) {
         if (mCallback != null) {
             Callback tempCallback = mCallback;
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 0b7f3c0..3b8f4fd 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -32,11 +32,12 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.PersistableBundle;
 import android.os.UserHandle;
-import android.os.UserManager;
 import android.provider.Settings;
+import android.provider.Telephony;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
@@ -49,22 +50,28 @@
 import android.telephony.TelephonyManager;
 import android.telephony.ims.ImsException;
 import android.telephony.ims.ImsMmTelManager;
+import android.telephony.ims.ImsRcsManager;
+import android.telephony.ims.ImsReasonInfo;
+import android.telephony.ims.RegistrationManager;
 import android.telephony.ims.feature.MmTelFeature;
 import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
 
 import com.android.ims.ImsManager;
+import com.android.internal.telephony.ExponentialBackoff;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.SubscriptionController;
 import com.android.phone.PhoneGlobals;
 import com.android.phone.PhoneUtils;
 import com.android.phone.R;
+import com.android.telephony.Rlog;
 
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Optional;
+import java.util.function.Predicate;
 
 /**
  * Owns all data we have registered with Telecom including handling dynamic addition and
@@ -72,12 +79,33 @@
  */
 public class TelecomAccountRegistry {
     private static final boolean DBG = false; /* STOP SHIP if true */
+    private static final String LOG_TAG = "TelecomAccountRegistry";
 
     // This icon is the one that is used when the Slot ID that we have for a particular SIM
     // is not supported, i.e. SubscriptionManager.INVALID_SLOT_ID or the 5th SIM in a phone.
     private final static int DEFAULT_SIM_ICON =  R.drawable.ic_multi_sim;
     private final static String GROUP_PREFIX = "group_";
 
+    private static final int REGISTER_START_DELAY_MS = 1 * 1000; // 1 second
+    private static final int REGISTER_MAXIMUM_DELAY_MS = 60 * 1000; // 1 minute
+
+    /**
+     * Indicates the {@link SubscriptionManager.OnSubscriptionsChangedListener} has not yet been
+     * registered.
+     */
+    private static final int LISTENER_STATE_UNREGISTERED = 0;
+
+    /**
+     * Indicates the first {@link SubscriptionManager.OnSubscriptionsChangedListener} registration
+     * attempt failed and we are performing backoff registration.
+     */
+    private static final int LISTENER_STATE_PERFORMING_BACKOFF = 2;
+
+    /**
+     * Indicates the {@link SubscriptionManager.OnSubscriptionsChangedListener} has been registered.
+     */
+    private static final int LISTENER_STATE_REGISTERED = 3;
+
     final class AccountEntry implements PstnPhoneCapabilitiesNotifier.Listener {
         private final Phone mPhone;
         private PhoneAccount mAccount;
@@ -85,9 +113,11 @@
         private final PstnPhoneCapabilitiesNotifier mPhoneCapabilitiesNotifier;
         private boolean mIsEmergency;
         private boolean mIsRttCapable;
+        private boolean mIsAdhocConfCapable;
         private boolean mIsEmergencyPreferred;
         private MmTelFeature.MmTelCapabilities mMmTelCapabilities;
         private ImsMmTelManager.CapabilityCallback mMmtelCapabilityCallback;
+        private RegistrationManager.RegistrationCallback mImsRegistrationCallback;
         private ImsMmTelManager mMmTelManager;
         private final boolean mIsDummy;
         private boolean mIsVideoCapable;
@@ -105,6 +135,7 @@
             mPhone = phone;
             mIsEmergency = isEmergency;
             mIsDummy = isDummy;
+            mIsAdhocConfCapable = mPhone.isImsRegistered();
             mAccount = registerPstnPhoneAccount(isEmergency, isDummy);
             Log.i(this, "Registered phoneAccount: %s with handle: %s",
                     mAccount, mAccount.getAccountHandle());
@@ -137,15 +168,38 @@
                     updateRttCapability();
                 }
             };
-
             registerMmTelCapabilityCallback();
+
+            mImsRegistrationCallback = new RegistrationManager.RegistrationCallback() {
+                @Override
+                public void onRegistered(int imsRadioTech) {
+                    updateAdhocConfCapability(true);
+                }
+
+                @Override
+                public void onRegistering(int imsRadioTech) {
+                    updateAdhocConfCapability(false);
+                }
+
+                @Override
+                public void onUnregistered(ImsReasonInfo imsReasonInfo) {
+                    updateAdhocConfCapability(false);
+                }
+            };
+            registerImsRegistrationCallback();
         }
 
         void teardown() {
             mIncomingCallNotifier.teardown();
             mPhoneCapabilitiesNotifier.teardown();
-            if (mMmTelManager != null && mMmtelCapabilityCallback != null) {
-                mMmTelManager.unregisterMmTelCapabilityCallback(mMmtelCapabilityCallback);
+            if (mMmTelManager != null) {
+                if (mMmtelCapabilityCallback != null) {
+                    mMmTelManager.unregisterMmTelCapabilityCallback(mMmtelCapabilityCallback);
+                }
+
+                if (mImsRegistrationCallback != null) {
+                    mMmTelManager.unregisterImsRegistrationCallback(mImsRegistrationCallback);
+                }
             }
         }
 
@@ -170,6 +224,25 @@
             }
         }
 
+        private void registerImsRegistrationCallback() {
+            if (mMmTelManager == null || mImsRegistrationCallback == null) {
+                return;
+            }
+
+            try {
+                mMmTelManager.registerImsRegistrationCallback(mContext.getMainExecutor(),
+                        mImsRegistrationCallback);
+            } catch (ImsException e) {
+                Log.w(this, "registerImsRegistrationCallback: registration failed, no ImsService"
+                        + " available. Exception: " + e.getMessage());
+                return;
+            } catch (IllegalArgumentException e) {
+                Log.w(this, "registerImsRegistrationCallback: registration failed, invalid"
+                        + " subscription, Exception" + e.getMessage());
+                return;
+            }
+        }
+
         /**
          * Trigger re-registration of this account.
          */
@@ -225,6 +298,7 @@
             // slotId from the subId or the phoneId in all instances.
             SubscriptionInfo record =
                     mSubscriptionManager.getActiveSubscriptionInfo(subId);
+            TelephonyManager tm = mTelephonyManager.createForSubscriptionId(subId);
 
             if (isEmergency) {
                 label = mContext.getResources().getString(R.string.sim_label_emergency_calls);
@@ -233,7 +307,7 @@
             } else if (mTelephonyManager.getPhoneCount() == 1) {
                 // For single-SIM devices, we show the label and description as whatever the name of
                 // the network is.
-                description = label = mTelephonyManager.getNetworkOperatorName();
+                description = label = tm.getNetworkOperatorName();
             } else {
                 CharSequence subDisplayName = null;
 
@@ -320,6 +394,12 @@
                 extras.putAll(getPhoneAccountExtras());
             }
 
+            if (mIsAdhocConfCapable && isCarrierAdhocConferenceCallSupported()) {
+                capabilities |= PhoneAccount.CAPABILITY_ADHOC_CONFERENCE_CALLING;
+            } else {
+                capabilities &= ~PhoneAccount.CAPABILITY_ADHOC_CONFERENCE_CALLING;
+            }
+
             final boolean isHandoverFromSupported = mContext.getResources().getBoolean(
                     R.bool.config_support_handover_from);
             if (isHandoverFromSupported && !isEmergency) {
@@ -390,7 +470,7 @@
             }
             if(isMergedSim) {
                 groupId = GROUP_PREFIX + line1Number;
-                Log.i(this, "Adding Merged Account with group: " + Log.pii(groupId));
+                Log.i(this, "Adding Merged Account with group: " + Rlog.pii(LOG_TAG, groupId));
             }
 
             PhoneAccount account = PhoneAccount.builder(phoneAccountHandle, label)
@@ -485,16 +565,31 @@
         }
 
         /**
-         * Determines from carrier configuration whether RCS presence indication for video calls is
-         * supported.
+         * Determines from carrier configuration and user setting whether RCS presence indication
+         * for video calls is supported.
          *
          * @return {@code true} if RCS presence indication for video calls is supported.
          */
         private boolean isCarrierVideoPresenceSupported() {
             PersistableBundle b =
                     PhoneGlobals.getInstance().getCarrierConfigForSubId(mPhone.getSubId());
-            return b != null &&
-                    b.getBoolean(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL);
+            boolean carrierConfigEnabled = b != null
+                    && b.getBoolean(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL);
+            return carrierConfigEnabled && isUserContactDiscoverySettingEnabled();
+        }
+
+        /**
+         * @return true if the user has enabled contact discovery for the subscription associated
+         * with this account entry, false otherwise.
+         */
+        private boolean isUserContactDiscoverySettingEnabled() {
+            try {
+                ImsRcsManager manager = mImsManager.getImsRcsManager(mPhone.getSubId());
+                return manager.getUceAdapter().isUceSettingEnabled();
+            } catch (Exception e) {
+                Log.w(LOG_TAG, "isUserContactDiscoverySettingEnabled caught exception: " + e);
+                return false;
+            }
         }
 
         /**
@@ -510,6 +605,19 @@
         }
 
         /**
+         * Determines from carrier config whether adhoc conference calling is supported.
+         *
+         * @return {@code true} if adhoc conference calling is supported, {@code false} otherwise.
+         */
+        private boolean isCarrierAdhocConferenceCallSupported() {
+            PersistableBundle b =
+                    PhoneGlobals.getInstance().getCarrierConfigForSubId(mPhone.getSubId());
+            return b != null &&
+                    b.getBoolean(CarrierConfigManager.KEY_SUPPORT_ADHOC_CONFERENCE_CALLS_BOOL);
+        }
+
+
+        /**
          * Determines from carrier config whether merging calls is supported.
          *
          * @return {@code true} if merging calls is supported, {@code false} otherwise.
@@ -663,6 +771,45 @@
             }
         }
 
+        public void updateAdhocConfCapability(boolean isAdhocConfCapable) {
+            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;
+                }
+
+                if (isAdhocConfCapable !=  mIsAdhocConfCapable) {
+                    Log.i(this, "updateAdhocConfCapability - changed, new value: "
+                            + isAdhocConfCapable);
+                    mIsAdhocConfCapable = isAdhocConfCapable;
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsDummy);
+                }
+            }
+        }
+
+        public void updateVideoPresenceCapability() {
+            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
+                    // registration 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 isVideoPresenceSupported = isCarrierVideoPresenceSupported();
+                if (mIsVideoPresenceSupported != isVideoPresenceSupported) {
+                    Log.i(this, "updateVideoPresenceCapability for subId=" + mPhone.getSubId()
+                            + ", new value= " + isVideoPresenceSupported);
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsDummy);
+                }
+            }
+        }
+
         public void updateRttCapability() {
             boolean isRttEnabled = isRttCurrentlySupported();
             if (isRttEnabled != mIsRttCapable) {
@@ -685,14 +832,51 @@
          * device.
          */
         private boolean isRttCurrentlySupported() {
+            // First check the emergency case -- if it's supported and turned on,
+            // we want to present RTT as available on the emergency-only phone account
+            if (mIsEmergency) {
+                // First check whether the device supports it
+                boolean devicesSupportsRtt =
+                        mContext.getResources().getBoolean(R.bool.config_support_rtt);
+                boolean deviceSupportsEmergencyRtt = mContext.getResources().getBoolean(
+                        R.bool.config_support_simless_emergency_rtt);
+                if (!(deviceSupportsEmergencyRtt && devicesSupportsRtt)) {
+                    Log.i(this, "isRttCurrentlySupported -- emergency acct and no device support");
+                    return false;
+                }
+                // Next check whether we're in or near a country that supports it
+                String country =
+                        mPhone.getServiceStateTracker().getLocaleTracker()
+                                .getCurrentCountry().toLowerCase();
+                String[] supportedCountries = mContext.getResources().getStringArray(
+                        R.array.config_simless_emergency_rtt_supported_countries);
+                if (supportedCountries == null || Arrays.stream(supportedCountries).noneMatch(
+                        Predicate.isEqual(country))) {
+                    Log.i(this, "isRttCurrentlySupported -- emergency acct and"
+                            + " not supported in this country: " + country);
+                    return false;
+                }
+                
+                return true;
+            }
+
             boolean hasVoiceAvailability = isImsVoiceAvailable();
 
             boolean isRttSupported = PhoneGlobals.getInstance().phoneMgr
                     .isRttEnabled(mPhone.getSubId());
 
             boolean isRoaming = mTelephonyManager.isNetworkRoaming(mPhone.getSubId());
+            boolean isOnWfc = mPhone.getImsRegistrationTech()
+                    == ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN;
 
-            return hasVoiceAvailability && isRttSupported && !isRoaming;
+            boolean shouldDisableBecauseRoamingOffWfc = isRoaming && !isOnWfc;
+            Log.i(this, "isRttCurrentlySupported -- regular acct,"
+                    + " hasVoiceAvailability: " + hasVoiceAvailability + "\n"
+                    + " isRttSupported: " + isRttSupported + "\n"
+                    + " isRoaming: " + isRoaming + "\n"
+                    + " isOnWfc: " + isOnWfc + "\n");
+
+            return hasVoiceAvailability && isRttSupported && !shouldDisableBecauseRoamingOffWfc;
         }
 
         /**
@@ -789,23 +973,49 @@
             new OnSubscriptionsChangedListener() {
         @Override
         public void onSubscriptionsChanged() {
-            // Any time the SubscriptionInfo changes...rerun the setup
-            Log.i(this, "onSubscriptionsChanged - update accounts");
+            if (mSubscriptionListenerState != LISTENER_STATE_REGISTERED) {
+                mRegisterSubscriptionListenerBackoff.stop();
+                mHandlerThread.quitSafely();
+            }
+            mSubscriptionListenerState = LISTENER_STATE_REGISTERED;
+
+            // Any time the SubscriptionInfo changes rerun the setup
+            Log.i(this, "TelecomAccountRegistry: onSubscriptionsChanged - update accounts");
             tearDownAccounts();
             setupAccounts();
         }
+
+        @Override
+        public void onAddListenerFailed() {
+            // Woe!  Failed to add the listener!
+            Log.w(this, "TelecomAccountRegistry: onAddListenerFailed - failed to register "
+                    + "OnSubscriptionsChangedListener");
+
+            // Even though registering the listener failed, we will still try to setup the phone
+            // accounts now; the phone instances should already be present and ready, so even if
+            // telephony registry is poking along we can still try to setup the phone account.
+            tearDownAccounts();
+            setupAccounts();
+
+            if (mSubscriptionListenerState == LISTENER_STATE_UNREGISTERED) {
+                // Initial registration attempt failed; start exponential backoff.
+                mSubscriptionListenerState = LISTENER_STATE_PERFORMING_BACKOFF;
+                mRegisterSubscriptionListenerBackoff.start();
+            } else {
+                // We're already doing exponential backoff and a registration failed.
+                mRegisterSubscriptionListenerBackoff.notifyFailed();
+            }
+        }
     };
 
     private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
             if (Intent.ACTION_USER_SWITCHED.equals(intent.getAction())) {
-                Log.i(this, "User changed, re-registering phone accounts.");
+                Log.i(this, "TelecomAccountRegistry: User changed, re-registering phone accounts.");
 
-                int userHandleId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, 0);
-                UserHandle currentUserHandle = new UserHandle(userHandleId);
-                mIsPrimaryUser = UserManager.get(mContext).getPrimaryUser().getUserHandle()
-                        .equals(currentUserHandle);
+                UserHandle currentUser = intent.getParcelableExtra(Intent.EXTRA_USER);
+                mIsPrimaryUser = currentUser == null ? true : currentUser.isSystem();
 
                 // Any time the user changes, re-register the accounts.
                 tearDownAccounts();
@@ -820,6 +1030,15 @@
         }
     };
 
+    private BroadcastReceiver mLocaleChangeReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            Log.i(this, "Locale change; re-registering phone accounts.");
+            tearDownAccounts();
+            setupAccounts();
+        }
+    };
+
     private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
         @Override
         public void onServiceStateChanged(ServiceState serviceState) {
@@ -851,23 +1070,47 @@
     private static TelecomAccountRegistry sInstance;
     private final Context mContext;
     private final TelecomManager mTelecomManager;
+    private final android.telephony.ims.ImsManager mImsManager;
     private final TelephonyManager mTelephonyManager;
     private final SubscriptionManager mSubscriptionManager;
     private List<AccountEntry> mAccounts = new LinkedList<AccountEntry>();
     private final Object mAccountsLock = new Object();
+    private int mSubscriptionListenerState = LISTENER_STATE_UNREGISTERED;
     private int mServiceState = ServiceState.STATE_POWER_OFF;
     private int mActiveDataSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private boolean mIsPrimaryUser = true;
+    private ExponentialBackoff mRegisterSubscriptionListenerBackoff;
+    private final HandlerThread mHandlerThread = new HandlerThread("TelecomAccountRegistry");
 
     // TODO: Remove back-pointer from app singleton to Service, since this is not a preferred
     // pattern; redesign. This was added to fix a late release bug.
     private TelephonyConnectionService mTelephonyConnectionService;
 
+    // Used to register subscription changed listener when initial attempts fail.
+    private Runnable mRegisterOnSubscriptionsChangedListenerRunnable = new Runnable() {
+        @Override
+        public void run() {
+            if (mSubscriptionListenerState != LISTENER_STATE_REGISTERED) {
+                Log.i(this, "TelecomAccountRegistry: performing delayed register.");
+                SubscriptionManager.from(mContext).addOnSubscriptionsChangedListener(
+                        mOnSubscriptionsChangedListener);
+            }
+        }
+    };
+
     TelecomAccountRegistry(Context context) {
         mContext = context;
-        mTelecomManager = TelecomManager.from(context);
+        mTelecomManager = context.getSystemService(TelecomManager.class);
+        mImsManager = context.getSystemService(android.telephony.ims.ImsManager.class);
         mTelephonyManager = TelephonyManager.from(context);
         mSubscriptionManager = SubscriptionManager.from(context);
+        mHandlerThread.start();
+        mRegisterSubscriptionListenerBackoff = new ExponentialBackoff(
+                REGISTER_START_DELAY_MS,
+                REGISTER_MAXIMUM_DELAY_MS,
+                2, /* multiplier */
+                mHandlerThread.getLooper(),
+                mRegisterOnSubscriptionsChangedListenerRunnable);
     }
 
     /**
@@ -1039,6 +1282,21 @@
         return null;
     }
 
+    public void refreshAdhocConference(boolean isEnableAdhocConf) {
+        synchronized (mAccountsLock) {
+            Log.v(this, "refreshAdhocConference isEnable = " + isEnableAdhocConf);
+            for (AccountEntry entry : mAccounts) {
+                boolean hasAdhocConfCapability = entry.mAccount.hasCapabilities(
+                        PhoneAccount.CAPABILITY_ADHOC_CONFERENCE_CALLING);
+                if (!isEnableAdhocConf && hasAdhocConfCapability) {
+                    entry.updateAdhocConfCapability(isEnableAdhocConf);
+                } else if (isEnableAdhocConf && !hasAdhocConfCapability) {
+                    entry.updateAdhocConfCapability(entry.mPhone.isImsRegistered());
+                }
+            }
+        }
+    }
+
     /**
      * Returns whethere a the subscription associated with a {@link PhoneAccountHandle} is using a
      * sim call manager.
@@ -1068,6 +1326,7 @@
 
         // Register for SubscriptionInfo list changes which is guaranteed
         // to invoke onSubscriptionsChanged the first time.
+        Log.i(this, "TelecomAccountRegistry: setupOnBoot - register subscription listener");
         SubscriptionManager.from(mContext).addOnSubscriptionsChangedListener(
                 mOnSubscriptionsChangedListener);
 
@@ -1083,6 +1342,16 @@
         filter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
         mContext.registerReceiver(mReceiver, filter);
 
+        //We also need to listen for locale changes
+        //(e.g. system language changed -> SIM card name changed)
+        IntentFilter localeChangeFilter = new IntentFilter(Intent.ACTION_LOCALE_CHANGED);
+        localeChangeFilter.addAction(TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED);
+        mContext.registerReceiver(mLocaleChangeReceiver, localeChangeFilter);
+
+        registerContentObservers();
+    }
+
+    private void registerContentObservers() {
         // Listen to the RTT system setting so that we update it when the user flips it.
         ContentObserver rttUiSettingObserver = new ContentObserver(
                 new Handler(Looper.getMainLooper())) {
@@ -1099,6 +1368,23 @@
         Uri rttSettingUri = Settings.Secure.getUriFor(Settings.Secure.RTT_CALLING_MODE);
         mContext.getContentResolver().registerContentObserver(
                 rttSettingUri, false, rttUiSettingObserver);
+
+        // Listen to the changes to the user's Contacts Discovery Setting.
+        ContentObserver contactDiscoveryObserver = new ContentObserver(
+                new Handler(Looper.getMainLooper())) {
+            @Override
+            public void onChange(boolean selfChange) {
+                synchronized (mAccountsLock) {
+                    for (AccountEntry account : mAccounts) {
+                        account.updateVideoPresenceCapability();
+                    }
+                }
+            }
+        };
+        Uri contactDiscUri = Uri.withAppendedPath(Telephony.SimInfo.CONTENT_URI,
+                Telephony.SimInfo.COLUMN_IMS_RCS_UCE_ENABLED);
+        mContext.getContentResolver().registerContentObserver(
+                contactDiscUri, true /*notifyForDescendants*/, contactDiscoveryObserver);
     }
 
     /**
@@ -1132,7 +1418,7 @@
                 R.bool.config_emergency_account_emergency_calls_only);
         List<PhoneAccountHandle> accountHandles = emergencyCallsOnlyEmergencyAccount
                 ? mTelecomManager.getAllPhoneAccountHandles()
-                : mTelecomManager.getCallCapablePhoneAccounts(true /* includeDisabled */);
+                : mTelecomManager.getCallCapablePhoneAccounts();
 
         for (PhoneAccountHandle handle : accountHandles) {
             if (telephonyComponentName.equals(handle.getComponentName()) &&
@@ -1200,30 +1486,6 @@
 
         // Clean up any PhoneAccounts that are no longer relevant
         cleanupPhoneAccounts();
-
-        // At some point, the phone account ID was switched from the subId to the iccId.
-        // If there is a default account, check if this is the case, and upgrade the default account
-        // from using the subId to iccId if so.
-        PhoneAccountHandle defaultPhoneAccount =
-                mTelecomManager.getUserSelectedOutgoingPhoneAccount();
-        ComponentName telephonyComponentName =
-                new ComponentName(mContext, TelephonyConnectionService.class);
-
-        if (defaultPhoneAccount != null &&
-                telephonyComponentName.equals(defaultPhoneAccount.getComponentName()) &&
-                !hasAccountEntryForPhoneAccount(defaultPhoneAccount)) {
-
-            String phoneAccountId = defaultPhoneAccount.getId();
-            if (!TextUtils.isEmpty(phoneAccountId) && TextUtils.isDigitsOnly(phoneAccountId)) {
-                PhoneAccountHandle upgradedPhoneAccount =
-                        PhoneUtils.makePstnPhoneAccountHandle(
-                                PhoneGlobals.getPhone(Integer.parseInt(phoneAccountId)));
-
-                if (hasAccountEntryForPhoneAccount(upgradedPhoneAccount)) {
-                    mTelecomManager.setUserSelectedOutgoingPhoneAccount(upgradedPhoneAccount);
-                }
-            }
-        }
     }
 
     private void tearDownAccounts() {
diff --git a/src/com/android/services/telephony/TelephonyConference.java b/src/com/android/services/telephony/TelephonyConference.java
index c66d6f2..7e4693f 100644
--- a/src/com/android/services/telephony/TelephonyConference.java
+++ b/src/com/android/services/telephony/TelephonyConference.java
@@ -16,7 +16,7 @@
 
 package com.android.services.telephony;
 
-import android.telecom.Conference;
+import android.net.Uri;
 import android.telecom.Connection;
 import android.telecom.PhoneAccountHandle;
 
@@ -30,7 +30,7 @@
  * TelephonyConnection-based conference call for GSM conferences and IMS conferences (which may
  * be either GSM-based or CDMA-based).
  */
-public class TelephonyConference extends Conference implements Holdable {
+public class TelephonyConference extends TelephonyConferenceBase implements Holdable {
 
     private boolean mIsHoldable;
 
@@ -94,6 +94,22 @@
     }
 
     @Override
+    public void onAnswer(int videoState) {
+        Log.e(this, new Exception(), "Answer not supported for GSM conference call.");
+    }
+
+    @Override
+    public void onReject() {
+        Log.e(this, new Exception(), "Reject not supported for GSM conference call.");
+    }
+
+    @Override
+    public void onAddConferenceParticipants(List<Uri> participants) {
+        Log.e(this, new Exception(), "Adding Conference Participants not supported " +
+                " for GSM conference call.");
+    }
+
+    @Override
     public void onMerge(Connection connection) {
         try {
             Phone phone = ((TelephonyConnection) connection).getPhone();
diff --git a/src/com/android/services/telephony/TelephonyConferenceBase.java b/src/com/android/services/telephony/TelephonyConferenceBase.java
new file mode 100644
index 0000000..1c81fb9
--- /dev/null
+++ b/src/com/android/services/telephony/TelephonyConferenceBase.java
@@ -0,0 +1,255 @@
+/*
+ * 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 com.android.services.telephony;
+
+import android.annotation.NonNull;
+import android.os.Bundle;
+import android.telecom.Conference;
+import android.telecom.Connection;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.telephony.ServiceState;
+
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Base class for the various Telephony {@link Conference} implementations ({@link CdmaConference},
+ * {@link TelephonyConference}, and {@link ImsConference}).  Adds some common listener code which
+ * all of these conferences use.
+ */
+public class TelephonyConferenceBase extends Conference {
+    private static final String TAG = "TelephonyConferenceBase";
+
+    /**
+     * Listener for conference events.
+     */
+    public abstract static class TelephonyConferenceListener {
+        /**
+         * Listener called when a connection is added or removed from a conference.
+         * @param connection The connection.
+         */
+        public void onConferenceMembershipChanged(Connection connection) {}
+
+        /**
+         * Listener called when there conference call state changes.
+         * @param conference The conference.
+         * @param oldState previous state of conference call.
+         * @param newState new state of conference call.
+         */
+        public void onStateChanged(Conference conference, int oldState, int newState) {}
+
+        /**
+         * Listener called when a conference is destroyed.
+         * @param conference The conference.
+         */
+        public void onDestroyed(Conference conference) {}
+    }
+
+    private final Set<TelephonyConferenceListener> mListeners = Collections.newSetFromMap(
+            new ConcurrentHashMap<>(8, 0.9f, 1));
+
+    /**
+     * Adds a listener to this conference.
+     * @param listener The listener.
+     */
+    public void addTelephonyConferenceListener(@NonNull TelephonyConferenceListener listener) {
+        mListeners.add(listener);
+    }
+
+    /**
+     * Removes a listener from this conference.
+     * @param listener The listener.
+     */
+    public void removeTelephonyConferenceListener(@NonNull TelephonyConferenceListener listener) {
+        mListeners.remove(listener);
+    }
+
+    /**
+     * Constructs a new Conference with a mandatory {@link PhoneAccountHandle}
+     *
+     * @param phoneAccount The {@code PhoneAccountHandle} associated with the conference.
+     */
+    public TelephonyConferenceBase(PhoneAccountHandle phoneAccount) {
+        super(phoneAccount);
+    }
+
+    /**
+     * Adds a connection to this {@link Conference}.
+     * <p>
+     * Should be used in place of {@link Conference#addConnection(Connection)} to ensure
+     * {@link TelephonyConferenceListener}s are informed of the change.
+     *
+     * @param connection The connection.
+     */
+    public void addTelephonyConnection(@NonNull Connection connection) {
+        addConnection(connection);
+        notifyConferenceMembershipChanged(connection);
+    }
+
+    /**
+     * Removes a {@link Connection} from this {@link Conference}.
+     * <p>
+     * Should be used instead of {@link Conference#removeConnection(Connection)} to ensure
+     * {@link TelephonyConferenceListener}s are notified of the change.
+     *
+     * @param connection The connection.
+     */
+    public void removeTelephonyConnection(@NonNull Connection connection) {
+        removeConnection(connection);
+        notifyConferenceMembershipChanged(connection);
+    }
+
+    /**
+     * Destroys the current {@link Conference} and notifies {@link TelephonyConferenceListener}s of
+     * the change to conference membership.
+     * <p>
+     * Should be used instead of {@link Conference#destroy()} to ensure telephony listeners are
+     * notified.
+     */
+    public void destroyTelephonyConference() {
+        // Conference#removeConnection modifies the list of participants, so we need to use an
+        // iterator here to ensure all participants are removed.
+        // Technically Conference#destroy does this, but we want to notify listeners of the state
+        // change so we'll do it here first.
+        Iterator<Connection> connectionIterator = getConnections().iterator();
+        while (connectionIterator.hasNext()) {
+            removeTelephonyConnection(connectionIterator.next());
+        }
+        destroy();
+        notifyDestroyed();
+    }
+
+    /**
+     * Sets state to be on hold.
+     */
+     public final void setConferenceOnHold() {
+         int oldState = getState();
+         if (oldState == Connection.STATE_HOLDING) {
+             return;
+         }
+         setOnHold();
+         notifyStateChanged(oldState, getState());
+     }
+
+     /**
+      * Sets state to be dialing.
+      */
+     public final void setConferenceOnDialing() {
+         int oldState = getState();
+         if (oldState == Connection.STATE_DIALING) {
+             return;
+         }
+         setDialing();
+         notifyStateChanged(oldState, getState());
+     }
+
+     /**
+      * Sets state to be ringing.
+      */
+     public final void setConferenceOnRinging() {
+         int oldState = getState();
+         if (oldState == Connection.STATE_RINGING) {
+             return;
+         }
+         setRinging();
+         notifyStateChanged(oldState, getState());
+     }
+
+     /**
+      * Sets state to be active.
+      */
+     public final void setConferenceOnActive() {
+         int oldState = getState();
+         if (oldState == Connection.STATE_ACTIVE) {
+             return;
+         }
+         setActive();
+         notifyStateChanged(oldState, getState());
+     }
+
+    /**
+     * Updates RIL voice radio technology used for current conference after its creation.
+     */
+    public void updateCallRadioTechAfterCreation() {
+        final Connection primaryConnection = getPrimaryConnection();
+        if (primaryConnection != null && primaryConnection instanceof TelephonyConnection) {
+            TelephonyConnection telephonyConnection = (TelephonyConnection) primaryConnection;
+            Bundle newExtras = new Bundle();
+            newExtras.putInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                    ServiceState.rilRadioTechnologyToNetworkType(
+                            telephonyConnection.getCallRadioTech()));
+            putExtras(newExtras);
+        } else {
+            Log.w(TAG, "No primary connection found while updateCallRadioTechAfterCreation");
+        }
+    }
+
+    /**
+     * Removes the specified capability from the set of capabilities of this {@code Conference}.
+     *
+     * @param capability The capability to remove from the set.
+     */
+    public void removeCapability(int capability) {
+        int newCapabilities = getConnectionCapabilities();
+        newCapabilities &= ~capability;
+
+        setConnectionCapabilities(newCapabilities);
+    }
+
+    /**
+     * Adds the specified capability to the set of capabilities of this {@code Conference}.
+     *
+     * @param capability The capability to add to the set.
+     */
+    public void addCapability(int capability) {
+        int newCapabilities = getConnectionCapabilities();
+        newCapabilities |= capability;
+
+        setConnectionCapabilities(newCapabilities);
+    }
+
+    /**
+     * Notifies {@link TelephonyConferenceListener}s of a connection being added or removed from
+     * the conference.
+     * @param connection The conference.
+     */
+    private void notifyConferenceMembershipChanged(@NonNull Connection connection) {
+        for (TelephonyConferenceListener listener : mListeners) {
+            listener.onConferenceMembershipChanged(connection);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConferenceListener}s of a conference being destroyed
+     */
+    private void notifyDestroyed() {
+        for (TelephonyConferenceListener listener : mListeners) {
+            listener.onDestroyed(this);
+        }
+    }
+
+    private void notifyStateChanged(int oldState, int newState) {
+        if (oldState != newState) {
+            for (TelephonyConferenceListener listener : mListeners) {
+                listener.onStateChanged(this, oldState, newState);
+            }
+        }
+    }
+}
diff --git a/src/com/android/services/telephony/TelephonyConferenceController.java b/src/com/android/services/telephony/TelephonyConferenceController.java
index e9eef46..95281b3 100644
--- a/src/com/android/services/telephony/TelephonyConferenceController.java
+++ b/src/com/android/services/telephony/TelephonyConferenceController.java
@@ -41,25 +41,26 @@
 final class TelephonyConferenceController {
     private static final int TELEPHONY_CONFERENCE_MAX_SIZE = 5;
 
-    private final Connection.Listener mConnectionListener = new Connection.Listener() {
-        @Override
-        public void onStateChanged(Connection c, int state) {
-            Log.v(this, "onStateChange triggered in Conf Controller : connection = "+ c
-                 + " state = " + state);
-            recalculate();
-        }
+    private final TelephonyConnection.TelephonyConnectionListener mTelephonyConnectionListener =
+            new TelephonyConnection.TelephonyConnectionListener() {
+                @Override
+                public void onStateChanged(Connection c, int state) {
+                    Log.v(this, "onStateChange triggered in Conf Controller : connection = " + c
+                            + " state = " + state);
+                    recalculate();
+                }
 
-        /** ${inheritDoc} */
-        @Override
-        public void onDisconnected(Connection c, DisconnectCause disconnectCause) {
-            recalculate();
-        }
+                @Override
+                public void onDisconnected(Connection c, DisconnectCause disconnectCause) {
+                    recalculate();
+                }
 
-        @Override
-        public void onDestroyed(Connection connection) {
-            remove(connection);
-        }
-    };
+                @Override
+                public void onDestroyed(Connection connection) {
+                    // Only TelephonyConnections are added.
+                    remove((TelephonyConnection) connection);
+                }
+            };
 
     /** The known connections. */
     private final List<TelephonyConnection> mTelephonyConnections = new ArrayList<>();
@@ -85,18 +86,18 @@
             return;
         }
         mTelephonyConnections.add(connection);
-        connection.addConnectionListener(mConnectionListener);
+        connection.addTelephonyConnectionListener(mTelephonyConnectionListener);
         recalculate();
     }
 
-    void remove(Connection connection) {
+    void remove(TelephonyConnection connection) {
         if (!mTelephonyConnections.contains(connection)) {
             // Debug only since TelephonyConnectionService tries to clean up the connections tracked
             // when the original connection changes.  It does this proactively.
             Log.d(this, "remove - connection not tracked; connection=%s", connection);
             return;
         }
-        connection.removeConnectionListener(mConnectionListener);
+        connection.removeTelephonyConnectionListener(mTelephonyConnectionListener);
         mTelephonyConnections.remove(connection);
         recalculate();
     }
@@ -219,7 +220,7 @@
             // No more connections are conferenced, destroy any existing conference.
             if (mTelephonyConference != null) {
                 Log.d(this, "with a conference to destroy!");
-                mTelephonyConference.destroy();
+                mTelephonyConference.destroyTelephonyConference();
                 mTelephonyConference = null;
             }
         } else {
@@ -229,7 +230,7 @@
                 for (Connection connection : existingConnections) {
                     if (connection instanceof TelephonyConnection &&
                             !conferencedConnections.contains(connection)) {
-                        mTelephonyConference.removeConnection(connection);
+                        mTelephonyConference.removeTelephonyConnection(connection);
                     }
                 }
                 if (allConnInService) {
@@ -237,7 +238,7 @@
                     // Add any new ones
                     for (Connection connection : conferencedConnections) {
                         if (!existingConnections.contains(connection)) {
-                            mTelephonyConference.addConnection(connection);
+                            mTelephonyConference.addTelephonyConnection(connection);
                         }
                     }
                 } else {
@@ -262,7 +263,7 @@
                     for (Connection connection : conferencedConnections) {
                         Log.d(this, "Adding a connection to a conference call: %s %s",
                                 mTelephonyConference, connection);
-                        mTelephonyConference.addConnection(connection);
+                        mTelephonyConference.addTelephonyConnection(connection);
                     }
                     mTelephonyConference.updateCallRadioTechAfterCreation();
                     mConnectionService.addConference(mTelephonyConference);
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
old mode 100644
new mode 100755
index 38672a8..b4dd050
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -16,7 +16,10 @@
 
 package com.android.services.telephony;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.content.Context;
+import android.content.res.Resources;
 import android.graphics.drawable.Icon;
 import android.net.Uri;
 import android.os.AsyncResult;
@@ -26,8 +29,9 @@
 import android.os.Message;
 import android.os.PersistableBundle;
 import android.telecom.CallAudioState;
-import android.telecom.ConferenceParticipant;
+import android.telecom.Conference;
 import android.telecom.Connection;
+import android.telecom.ConnectionService;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.StatusHints;
@@ -37,12 +41,19 @@
 import android.telephony.DisconnectCause;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.ServiceState;
+import android.telephony.ServiceState.RilRadioTechnology;
+import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.ims.ImsCallProfile;
+import android.telephony.ims.ImsStreamMediaProfile;
 import android.text.TextUtils;
 import android.util.Pair;
 
 import com.android.ims.ImsCall;
+import com.android.ims.ImsException;
+import com.android.ims.internal.ConferenceParticipant;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.os.SomeArgs;
 import com.android.internal.telephony.Call;
 import com.android.internal.telephony.CallFailCause;
 import com.android.internal.telephony.CallStateException;
@@ -52,12 +63,14 @@
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.gsm.SuppServiceNotification;
 import com.android.internal.telephony.imsphone.ImsPhone;
+import com.android.internal.telephony.imsphone.ImsPhoneCall;
 import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
 import com.android.internal.telephony.imsphone.ImsPhoneConnection;
 import com.android.phone.ImsUtil;
 import com.android.phone.PhoneGlobals;
 import com.android.phone.PhoneUtils;
 import com.android.phone.R;
+import com.android.telephony.Rlog;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -73,6 +86,8 @@
  * Base class for CDMA and GSM connections.
  */
 abstract class TelephonyConnection extends Connection implements Holdable {
+    private static final String LOG_TAG = "TelephonyConnection";
+
     private static final int MSG_PRECISE_CALL_STATE_CHANGED = 1;
     private static final int MSG_RINGBACK_TONE = 2;
     private static final int MSG_HANDOVER_STATE_CHANGED = 3;
@@ -98,6 +113,12 @@
     private static final int MSG_CDMA_VOICE_PRIVACY_OFF = 16;
     private static final int MSG_HANGUP = 17;
     private static final int MSG_SET_CALL_RADIO_TECH = 18;
+    private static final int MSG_ON_CONNECTION_EVENT = 19;
+    private static final int MSG_REDIAL_CONNECTION_CHANGED = 20;
+    private static final int MSG_REJECT = 21;
+
+    private List<Uri> mParticipants;
+    private boolean mIsAdhocConferenceCall;
 
     private final Handler mHandler = new Handler(Looper.getMainLooper()) {
         @Override
@@ -108,15 +129,25 @@
                     updateState();
                     break;
                 case MSG_HANDOVER_STATE_CHANGED:
-                    Log.v(TelephonyConnection.this, "MSG_HANDOVER_STATE_CHANGED");
+                case MSG_REDIAL_CONNECTION_CHANGED:
+                    String what = (msg.what == MSG_HANDOVER_STATE_CHANGED)
+                            ? "MSG_HANDOVER_STATE_CHANGED" : "MSG_REDIAL_CONNECTION_CHANGED";
+                    Log.v(TelephonyConnection.this, what);
                     AsyncResult ar = (AsyncResult) msg.obj;
                     com.android.internal.telephony.Connection connection =
                          (com.android.internal.telephony.Connection) ar.result;
+                    if (connection == null) {
+                        setDisconnected(DisconnectCauseUtil
+                                .toTelecomDisconnectCause(DisconnectCause.OUT_OF_NETWORK,
+                                        "handover failure, no connection"));
+                        close();
+                        break;
+                    }
                     if (mOriginalConnection != null) {
                         if (connection != null &&
                             ((connection.getAddress() != null &&
                             mOriginalConnection.getAddress() != null &&
-                            mOriginalConnection.getAddress().contains(connection.getAddress())) ||
+                            mOriginalConnection.getAddress().equals(connection.getAddress())) ||
                             connection.getState() == mOriginalConnection.getStateBeforeHandover())) {
                             Log.d(TelephonyConnection.this,
                                     "SettingOriginalConnection " + mOriginalConnection.toString()
@@ -126,7 +157,7 @@
                         }
                     } else {
                         Log.w(TelephonyConnection.this,
-                                "MSG_HANDOVER_STATE_CHANGED: mOriginalConnection==null - invalid state (not cleaned up)");
+                                what + ": mOriginalConnection==null - invalid state (not cleaned up)");
                     }
                     break;
                 case MSG_RINGBACK_TONE:
@@ -138,7 +169,9 @@
                                 "not foreground connection, skipping");
                         return;
                     }
-                    setRingbackRequested((Boolean) ((AsyncResult) msg.obj).result);
+                    boolean ringback = (Boolean) ((AsyncResult) msg.obj).result;
+                    setRingbackRequested(ringback);
+                    notifyRingbackRequested(ringback);
                     break;
                 case MSG_DISCONNECT:
                     updateState();
@@ -171,19 +204,20 @@
 
                 case MSG_SET_VIDEO_STATE:
                     int videoState = (int) msg.obj;
-                    setVideoState(videoState);
+                    setTelephonyVideoState(videoState);
 
                     // A change to the video state of the call can influence whether or not it
                     // can be part of a conference, whether another call can be added, and
                     // whether the call should have the HD audio property set.
                     refreshConferenceSupported();
                     refreshDisableAddCall();
+                    refreshHoldSupported();
                     updateConnectionProperties();
                     break;
 
                 case MSG_SET_VIDEO_PROVIDER:
                     VideoProvider videoProvider = (VideoProvider) msg.obj;
-                    setVideoProvider(videoProvider);
+                    setTelephonyVideoProvider(videoProvider);
                     break;
 
                 case MSG_SET_AUDIO_QUALITY:
@@ -223,9 +257,9 @@
                         // If starting the hold tone, send a connection event to Telecom which will
                         // cause it to play the on hold tone.
                         if (playTone) {
-                            sendConnectionEvent(EVENT_ON_HOLD_TONE_START, null);
+                            sendTelephonyConnectionEvent(EVENT_ON_HOLD_TONE_START, null);
                         } else {
-                            sendConnectionEvent(EVENT_ON_HOLD_TONE_END, null);
+                            sendTelephonyConnectionEvent(EVENT_ON_HOLD_TONE_END, null);
                         }
                     }
                     break;
@@ -242,6 +276,10 @@
                     int cause = (int) msg.obj;
                     hangup(cause);
                     break;
+                case MSG_REJECT:
+                    int rejectReason = (int) msg.obj;
+                    reject(rejectReason);
+                    break;
 
                 case MSG_SET_CALL_RADIO_TECH:
                     int vrat = (int) msg.obj;
@@ -267,6 +305,15 @@
                         refreshDisableAddCall();
                     }
                     break;
+                case MSG_ON_CONNECTION_EVENT:
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    try {
+                        sendTelephonyConnectionEvent((String) args.arg1, (Bundle) args.arg2);
+
+                    } finally {
+                        args.recycle();
+                    }
+                    break;
             }
         }
     };
@@ -280,7 +327,7 @@
                 ssn.code);
         if (ssn.notificationType == SuppServiceNotification.NOTIFICATION_TYPE_CODE_1
                 && ssn.code == SuppServiceNotification.CODE_1_CALL_FORWARDED) {
-            sendConnectionEvent(TelephonyManager.EVENT_CALL_FORWARDED, null);
+            sendTelephonyConnectionEvent(TelephonyManager.EVENT_CALL_FORWARDED, null);
         }
         sendSuppServiceNotificationEvent(ssn.notificationType, ssn.code);
     }
@@ -298,7 +345,8 @@
         extras.putInt(TelephonyManager.EXTRA_NOTIFICATION_CODE, code);
         extras.putCharSequence(TelephonyManager.EXTRA_NOTIFICATION_MESSAGE,
                 getSuppServiceMessage(type, code));
-        sendConnectionEvent(TelephonyManager.EVENT_SUPPLEMENTARY_SERVICE_NOTIFICATION, extras);
+        sendTelephonyConnectionEvent(TelephonyManager.EVENT_SUPPLEMENTARY_SERVICE_NOTIFICATION,
+                extras);
     }
 
     /**
@@ -374,12 +422,26 @@
             }
         }
         if (messageId != -1 && getPhone() != null && getPhone().getContext() != null) {
-            return getPhone().getContext().getText(messageId);
+            return getResourceText(messageId);
         } else {
             return null;
         }
     }
 
+    @VisibleForTesting
+    public CharSequence getResourceText(int id) {
+        Resources resources = SubscriptionManager.getResourcesForSubId(getPhone().getContext(),
+                getPhone().getSubId());
+        return resources.getText(id);
+    }
+
+    @VisibleForTesting
+    public String getResourceString(int id) {
+        Resources resources = SubscriptionManager.getResourcesForSubId(getPhone().getContext(),
+                getPhone().getSubId());
+        return resources.getString(id);
+    }
+
     /**
      * @return {@code true} if carrier video conferencing is supported, {@code false} otherwise.
      */
@@ -395,6 +457,25 @@
     public abstract static class TelephonyConnectionListener {
         public void onOriginalConnectionConfigured(TelephonyConnection c) {}
         public void onOriginalConnectionRetry(TelephonyConnection c, boolean isPermanentFailure) {}
+        public void onConferenceParticipantsChanged(Connection c,
+                List<ConferenceParticipant> participants) {}
+        public void onConferenceStarted() {}
+        public void onConferenceSupportedChanged(Connection c, boolean isConferenceSupported) {}
+
+        public void onConnectionCapabilitiesChanged(Connection c, int connectionCapabilities) {}
+        public void onConnectionEvent(Connection c, String event, Bundle extras) {}
+        public void onConnectionPropertiesChanged(Connection c, int connectionProperties) {}
+        public void onExtrasChanged(Connection c, Bundle extras) {}
+        public void onExtrasRemoved(Connection c, List<String> keys) {}
+        public void onStateChanged(android.telecom.Connection c, int state) {}
+        public void onStatusHintsChanged(Connection c, StatusHints statusHints) {}
+        public void onDestroyed(Connection c) {}
+        public void onDisconnected(android.telecom.Connection c,
+                android.telecom.DisconnectCause disconnectCause) {}
+        public void onVideoProviderChanged(android.telecom.Connection c,
+                Connection.VideoProvider videoProvider) {}
+        public void onVideoStateChanged(android.telecom.Connection c, int videoState) {}
+        public void onRingbackRequested(Connection c, boolean ringback) {}
     }
 
     private final PostDialListener mPostDialListener = new PostDialListener() {
@@ -454,7 +535,7 @@
          * @param vrat the RIL Voice Radio Technology used for current connection.
          */
         @Override
-        public void onCallRadioTechChanged(@ServiceState.RilRadioTechnology int vrat) {
+        public void onCallRadioTechChanged(@RilRadioTechnology int vrat) {
             mHandler.obtainMessage(MSG_SET_CALL_RADIO_TECH, vrat).sendToTarget();
         }
 
@@ -528,7 +609,7 @@
 
             // Inform the InCallService of the fact that the call pull failed (it may choose to
             // display a message informing the user of the pull failure).
-            sendConnectionEvent(Connection.EVENT_CALL_PULL_FAILED, null);
+            sendTelephonyConnectionEvent(Connection.EVENT_CALL_PULL_FAILED, null);
 
             // Swap the ImsPhoneConnection we used to do the pull for the ImsExternalConnection
             // which originally represented the call.
@@ -543,7 +624,7 @@
          */
         @Override
         public void onHandoverToWifiFailed() {
-            sendConnectionEvent(TelephonyManager.EVENT_HANDOVER_TO_WIFI_FAILED, null);
+            sendTelephonyConnectionEvent(TelephonyManager.EVENT_HANDOVER_TO_WIFI_FAILED, null);
         }
 
         /**
@@ -554,7 +635,10 @@
          */
         @Override
         public void onConnectionEvent(String event, Bundle extras) {
-            sendConnectionEvent(event, extras);
+            SomeArgs args = SomeArgs.obtain();
+            args.arg1 = event;
+            args.arg2 = extras;
+            mHandler.obtainMessage(MSG_ON_CONNECTION_EVENT, args).sendToTarget();
         }
 
         @Override
@@ -594,6 +678,7 @@
         @Override
         public void onRttTerminated() {
             updateConnectionProperties();
+            refreshConferenceSupported();
             sendRttSessionRemotelyTerminated();
         }
 
@@ -609,6 +694,7 @@
         }
     };
 
+    private TelephonyConnectionService mTelephonyConnectionService;
     protected com.android.internal.telephony.Connection mOriginalConnection;
     private Call.State mConnectionState = Call.State.IDLE;
     private Bundle mOriginalConnectionExtras = new Bundle();
@@ -683,11 +769,6 @@
     private boolean mIsCdmaVoicePrivacyEnabled;
 
     /**
-     * Indicates whether this call is an outgoing call.
-     */
-    protected final boolean mIsOutgoing;
-
-    /**
      * Indicates whether the connection can be held. This filed combined with the state of the
      * connection can determine whether {@link Connection#CAPABILITY_HOLD} should be added to the
      * connection.
@@ -710,14 +791,19 @@
     private boolean mShowPreciseFailedCause;
 
     /**
+     * Provides a DisconnectCause associated with a hang up request.
+     */
+    private int mHangupDisconnectCause = DisconnectCause.NOT_VALID;
+
+    /**
      * Listeners to our TelephonyConnection specific callbacks
      */
     private final Set<TelephonyConnectionListener> mTelephonyListeners = Collections.newSetFromMap(
             new ConcurrentHashMap<TelephonyConnectionListener, Boolean>(8, 0.9f, 1));
 
     protected TelephonyConnection(com.android.internal.telephony.Connection originalConnection,
-            String callId, boolean isOutgoingCall) {
-        mIsOutgoing = isOutgoingCall;
+            String callId, @android.telecom.Call.Details.CallDirection int callDirection) {
+        setCallDirection(callDirection);
         setTelecomCallId(callId);
         if (originalConnection != null) {
             setOriginalConnection(originalConnection);
@@ -781,6 +867,11 @@
     }
 
     @Override
+    public void onAddConferenceParticipants(List<Uri> participants) {
+        performAddConferenceParticipants(participants);
+    }
+
+    @Override
     public void onAbort() {
         Log.v(this, "onAbort");
         mHandler.obtainMessage(MSG_HANGUP, android.telephony.DisconnectCause.LOCAL).sendToTarget();
@@ -798,14 +889,7 @@
 
     @Override
     public void onAnswer(int videoState) {
-        Log.v(this, "onAnswer");
-        if (isValidRingingCall() && getPhone() != null) {
-            try {
-                getPhone().acceptCall(videoState);
-            } catch (CallStateException e) {
-                Log.e(this, e, "Failed to accept call.");
-            }
-        }
+        performAnswer(videoState);
     }
 
     @Override
@@ -849,15 +933,76 @@
 
     @Override
     public void onReject() {
-        Log.v(this, "onReject");
+        performReject(android.telecom.Call.REJECT_REASON_DECLINED);
+    }
+
+    @Override
+    public void onReject(@android.telecom.Call.RejectReason int rejectReason) {
+        performReject(rejectReason);
+    }
+
+    public void performReject(int rejectReason) {
+        Log.v(this, "performReject");
         if (isValidRingingCall()) {
-            mHandler.obtainMessage(MSG_HANGUP, android.telephony.DisconnectCause.INCOMING_REJECTED)
+            mHandler.obtainMessage(MSG_REJECT, rejectReason)
                     .sendToTarget();
         }
         super.onReject();
     }
 
     @Override
+    public void onTransfer(Uri number, boolean isConfirmationRequired) {
+        Log.v(this, "onTransfer");
+        if (mOriginalConnection != null) {
+            if (number == null) {
+                Log.w(this, "call transfer uri is null");
+                return;
+            }
+            String scheme = number.getScheme();
+            String transferNumber = "";
+            String uriString = number.getSchemeSpecificPart();
+            if (!PhoneAccount.SCHEME_VOICEMAIL.equals(scheme)) {
+                if (!PhoneAccount.SCHEME_TEL.equals(scheme)) {
+                    Log.w(this, "onTransfer, number scheme is not of type tel instead: "
+                            + scheme);
+                    return;
+                }
+                if (PhoneNumberUtils.isUriNumber(uriString)) {
+                    Log.w(this, "Invalid transfer address. Not a legal PSTN number.");
+                    return;
+                }
+                transferNumber = PhoneNumberUtils.convertAndStrip(uriString);
+                if (TextUtils.isEmpty(transferNumber)) {
+                    Log.w(this, "Empty transfer number obtained from uri");
+                    return;
+                }
+            } else {
+                Log.w(this, "Cannot transfer to voicemail uri");
+                return;
+            }
+
+            try {
+                mOriginalConnection.transfer(transferNumber, isConfirmationRequired);
+            } catch (CallStateException e) {
+                Log.e(this, e, "Failed to transfer call.");
+            }
+        }
+    }
+
+    @Override
+    public void onTransfer(Connection otherConnection) {
+        Log.v(this, "onConsultativeTransfer");
+        if (mOriginalConnection != null && (otherConnection instanceof TelephonyConnection)) {
+            try {
+                mOriginalConnection.consultativeTransfer(
+                        ((TelephonyConnection) otherConnection).getOriginalConnection());
+            } catch (CallStateException e) {
+                Log.e(this, e, "Failed to transfer call.");
+            }
+        }
+    }
+
+    @Override
     public void onPostDialContinue(boolean proceed) {
         Log.v(this, "onPostDialContinue, proceed: " + proceed);
         if (mOriginalConnection != null) {
@@ -923,6 +1068,17 @@
         originalConnection.sendRttModifyResponse(textStream);
     }
 
+    public void performAnswer(int videoState) {
+        Log.v(this, "performAnswer");
+        if (isValidRingingCall() && getPhone() != null) {
+            try {
+                getPhone().acceptCall(videoState);
+            } catch (CallStateException e) {
+                Log.e(this, e, "Failed to accept call.");
+            }
+        }
+    }
+
     public void performHold() {
         Log.v(this, "performHold");
         // TODO: Can dialing calls be put on hold as well since they take up the
@@ -1018,6 +1174,29 @@
         }
     }
 
+    private String[] getAddConferenceParticipants(List<Uri> participants) {
+        String[] addConfParticipants = new String[participants.size()];
+        int i = 0;
+        for (Uri participant : participants) {
+           addConfParticipants[i] = participant.getSchemeSpecificPart();
+           i++;
+        }
+        return addConfParticipants;
+    }
+
+    public void performAddConferenceParticipants(List<Uri> participants) {
+        Log.v(this, "performAddConferenceParticipants");
+        if (mOriginalConnection.getCall() instanceof ImsPhoneCall) {
+            ImsPhoneCall imsPhoneCall = (ImsPhoneCall)mOriginalConnection.getCall();
+            try {
+                imsPhoneCall.getImsCall().inviteParticipants(
+                        getAddConferenceParticipants(participants));
+            } catch(ImsException e) {
+                Log.e(this, e, "failed to add conference participants");
+            }
+        }
+    }
+
     /**
      * Builds connection capabilities common to all TelephonyConnections. Namely, apply IMS-based
      * capabilities.
@@ -1052,8 +1231,15 @@
         newCapabilities = changeBitmask(newCapabilities, CAPABILITY_SUPPORT_DEFLECT,
                 isImsConnection() && canDeflectImsCalls());
 
+        newCapabilities = applyAddParticipantCapabilities(newCapabilities);
+        newCapabilities = changeBitmask(newCapabilities, CAPABILITY_TRANSFER_CONSULTATIVE,
+                isImsConnection() && canConsultativeTransfer());
+        newCapabilities = changeBitmask(newCapabilities, CAPABILITY_TRANSFER,
+                isImsConnection() && canTransferToNumber());
+
         if (getConnectionCapabilities() != newCapabilities) {
             setConnectionCapabilities(newCapabilities);
+            notifyConnectionCapabilitiesChanged(newCapabilities);
         }
     }
 
@@ -1083,17 +1269,24 @@
                 isExternalConnection());
         newProperties = changeBitmask(newProperties, PROPERTY_HAS_CDMA_VOICE_PRIVACY,
                 mIsCdmaVoicePrivacyEnabled);
-        newProperties = changeBitmask(newProperties, PROPERTY_ASSISTED_DIALING_USED,
+        newProperties = changeBitmask(newProperties, PROPERTY_ASSISTED_DIALING,
                 mIsUsingAssistedDialing);
         newProperties = changeBitmask(newProperties, PROPERTY_IS_RTT, isRtt());
         newProperties = changeBitmask(newProperties, PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL,
                 isNetworkIdentifiedEmergencyCall());
+        newProperties = changeBitmask(newProperties, PROPERTY_IS_ADHOC_CONFERENCE,
+                isAdhocConferenceCall());
 
         if (getConnectionProperties() != newProperties) {
-            setConnectionProperties(newProperties);
+            setTelephonyConnectionProperties(newProperties);
         }
     }
 
+    public void setTelephonyConnectionProperties(int newProperties) {
+        setConnectionProperties(newProperties);
+        notifyConnectionPropertiesChanged(newProperties);
+    }
+
     protected final void updateAddress() {
         updateConnectionCapabilities();
         updateConnectionProperties();
@@ -1145,7 +1338,8 @@
                && isShowingOriginalDialString()) {
             Log.i(this, "new original dial string is null, convert to: "
                    +  mOriginalConnection.getOrigDialString());
-            originalConnection.setConverted(mOriginalConnection.getOrigDialString());
+            originalConnection.restoreDialedNumberAfterConversion(
+                    mOriginalConnection.getOrigDialString());
         }
 
         clearOriginalConnection();
@@ -1156,6 +1350,8 @@
                 mHandler, MSG_PRECISE_CALL_STATE_CHANGED, null);
         getPhone().registerForHandoverStateChanged(
                 mHandler, MSG_HANDOVER_STATE_CHANGED, null);
+        getPhone().registerForRedialConnectionChanged(
+                mHandler, MSG_REDIAL_CONNECTION_CHANGED, null);
         getPhone().registerForRingbackTone(mHandler, MSG_RINGBACK_TONE, null);
         getPhone().registerForSuppServiceNotification(mHandler, MSG_SUPP_SERVICE_NOTIFY, null);
         getPhone().registerForOnHoldTone(mHandler, MSG_ON_HOLD_TONE, null);
@@ -1165,11 +1361,12 @@
         mOriginalConnection.addListener(mOriginalConnectionListener);
 
         // Set video state and capabilities
-        setVideoState(mOriginalConnection.getVideoState());
+        setTelephonyVideoState(mOriginalConnection.getVideoState());
         setOriginalConnectionCapabilities(mOriginalConnection.getConnectionCapabilities());
         setIsNetworkIdentifiedEmergencyCall(mOriginalConnection.isNetworkIdentifiedEmergencyCall());
+        setIsAdhocConferenceCall(mOriginalConnection.isAdhocConference());
         setAudioModeIsVoip(mOriginalConnection.getAudioModeIsVoip());
-        setVideoProvider(mOriginalConnection.getVideoProvider());
+        setTelephonyVideoProvider(mOriginalConnection.getVideoProvider());
         setAudioQuality(mOriginalConnection.getAudioQuality());
         setTechnologyTypeExtra();
 
@@ -1185,6 +1382,8 @@
         if (PhoneNumberUtils.isEmergencyNumber(mOriginalConnection.getAddress())) {
             mTreatAsEmergencyCall = true;
         }
+        // Propagate VERSTAT for IMS calls.
+        setCallerNumberVerificationStatus(mOriginalConnection.getNumberVerificationStatus());
 
         if (isImsConnection()) {
             mWasImsConnection = true;
@@ -1204,8 +1403,8 @@
         } else {
             extrasToRemove.add(Connection.EXTRA_DISABLE_ADD_CALL);
         }
-        putExtras(extrasToPut);
-        removeExtras(extrasToRemove);
+        putTelephonyExtras(extrasToPut);
+        removeTelephonyExtras(extrasToRemove);
 
         // updateState can set mOriginalConnection to null if its state is DISCONNECTED, so this
         // should be executed *after* the above setters have run.
@@ -1250,18 +1449,109 @@
      */
     private void setTechnologyTypeExtra() {
         if (getPhone() != null) {
-            putExtra(TelecomManager.EXTRA_CALL_TECHNOLOGY_TYPE, getPhone().getPhoneType());
+            Bundle newExtras = getExtras();
+            if (newExtras == null) {
+                newExtras = new Bundle();
+            }
+            newExtras.putInt(TelecomManager.EXTRA_CALL_TECHNOLOGY_TYPE, getPhone().getPhoneType());
+            putTelephonyExtras(newExtras);
         }
     }
 
+    private void refreshHoldSupported() {
+       if (mOriginalConnection == null) {
+           Log.w(this, "refreshHoldSupported org conn is null");
+           return;
+       }
+
+       if (!mOriginalConnection.shouldAllowHoldingVideoCall() && canHoldImsCalls() !=
+               ((getConnectionCapabilities() & (CAPABILITY_HOLD | CAPABILITY_SUPPORT_HOLD)) != 0)) {
+           updateConnectionCapabilities();
+       }
+    }
+
     private void refreshDisableAddCall() {
         if (shouldSetDisableAddCallExtra()) {
-            putExtra(Connection.EXTRA_DISABLE_ADD_CALL, true);
+            Bundle newExtras = getExtras();
+            if (newExtras == null) {
+                newExtras = new Bundle();
+            }
+            newExtras.putBoolean(Connection.EXTRA_DISABLE_ADD_CALL, true);
+            putTelephonyExtras(newExtras);
         } else {
             removeExtras(Connection.EXTRA_DISABLE_ADD_CALL);
         }
     }
 
+    private void refreshCodecType() {
+        Bundle newExtras = getExtras();
+        if (newExtras == null) {
+            newExtras = new Bundle();
+        }
+        int newCodecType;
+        if (isImsConnection()) {
+            newCodecType = transformCodec(getOriginalConnection().getAudioCodec());
+        } else {
+            // For SRVCC, report AUDIO_CODEC_NONE.
+            newCodecType = Connection.AUDIO_CODEC_NONE;
+        }
+        int oldCodecType = newExtras.getInt(Connection.EXTRA_AUDIO_CODEC,
+                Connection.AUDIO_CODEC_NONE);
+        if (newCodecType != oldCodecType) {
+            newExtras.putInt(Connection.EXTRA_AUDIO_CODEC, newCodecType);
+            putTelephonyExtras(newExtras);
+        }
+    }
+
+    private int transformCodec(int codec) {
+        switch (codec) {
+            case ImsStreamMediaProfile.AUDIO_QUALITY_NONE:
+                return Connection.AUDIO_CODEC_NONE;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_AMR:
+                return Connection.AUDIO_CODEC_AMR;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_AMR_WB:
+                return Connection.AUDIO_CODEC_AMR_WB;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_QCELP13K:
+                return Connection.AUDIO_CODEC_QCELP13K;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVRC:
+                return Connection.AUDIO_CODEC_EVRC;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVRC_B:
+                return Connection.AUDIO_CODEC_EVRC_B;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVRC_WB:
+                return Connection.AUDIO_CODEC_EVRC_WB;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVRC_NW:
+                return Connection.AUDIO_CODEC_EVRC_NW;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_GSM_EFR:
+                return Connection.AUDIO_CODEC_GSM_EFR;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_GSM_FR:
+                return Connection.AUDIO_CODEC_GSM_FR;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_GSM_HR:
+                return Connection.AUDIO_CODEC_GSM_HR;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_G711U:
+                return Connection.AUDIO_CODEC_G711U;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_G723:
+                return Connection.AUDIO_CODEC_G723;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_G711A:
+                return Connection.AUDIO_CODEC_G711A;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_G722:
+                return Connection.AUDIO_CODEC_G722;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_G711AB:
+                return Connection.AUDIO_CODEC_G711AB;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_G729:
+                return Connection.AUDIO_CODEC_G729;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVS_NB:
+                return Connection.AUDIO_CODEC_EVS_NB;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVS_WB:
+                return Connection.AUDIO_CODEC_EVS_WB;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVS_SWB:
+                return Connection.AUDIO_CODEC_EVS_SWB;
+            case ImsStreamMediaProfile.AUDIO_QUALITY_EVS_FB:
+                return Connection.AUDIO_CODEC_EVS_FB;
+            default:
+                return Connection.AUDIO_CODEC_NONE;
+        }
+    }
+
     private boolean shouldSetDisableAddCallExtra() {
         if (mOriginalConnection == null) {
             return false;
@@ -1278,12 +1568,13 @@
         boolean wasVideoCall = false;
         boolean isVowifiEnabled = false;
         if (phone instanceof ImsPhone) {
-            ImsPhone imsPhone = (ImsPhone) phone;
-            if (imsPhone.getForegroundCall() != null
-                    && imsPhone.getForegroundCall().getImsCall() != null) {
-                ImsCall call = imsPhone.getForegroundCall().getImsCall();
-                isCurrentVideoCall = call.isVideoCall();
-                wasVideoCall = call.wasVideoCall();
+            ImsPhoneCall foregroundCall = ((ImsPhone) phone).getForegroundCall();
+            if (foregroundCall != null) {
+                ImsCall call = foregroundCall.getImsCall();
+                if (call != null) {
+                    isCurrentVideoCall = call.isVideoCall();
+                    wasVideoCall = call.wasVideoCall();
+                }
             }
 
             isVowifiEnabled = ImsUtil.isWfcEnabled(phone.getContext(), phone.getPhoneId());
@@ -1333,13 +1624,118 @@
         return true;
     }
 
+    /**
+     * @return The address's to which this Connection is currently communicating.
+     */
+    public final @Nullable List<Uri> getParticipants() {
+        return mParticipants;
+    }
+
+    /**
+     * Sets the value of the {@link #getParticipants()} property.
+     *
+     * @param address The participant address's.
+     */
+    public final void setParticipants(@Nullable List<Uri> address) {
+        mParticipants = address;
+    }
+
+    /**
+     * @return true if connection is adhocConference call else false.
+     */
+    public final boolean isAdhocConferenceCall() {
+        return mIsAdhocConferenceCall;
+    }
+
+    /**
+     * Sets the value of the {@link #isAdhocConferenceCall()} property.
+     *
+     * @param isAdhocConferenceCall represents if the call is adhoc conference call or not.
+     */
+    public void setIsAdhocConferenceCall(boolean isAdhocConferenceCall) {
+        mIsAdhocConferenceCall = isAdhocConferenceCall;
+        updateConnectionProperties();
+    }
+
     private boolean canHoldImsCalls() {
         PersistableBundle b = getCarrierConfig();
         // Return true if the CarrierConfig is unavailable
-        return !doesDeviceRespectHoldCarrierConfig() || b == null ||
-                b.getBoolean(CarrierConfigManager.KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL);
+        return (!doesDeviceRespectHoldCarrierConfig() || b == null ||
+                b.getBoolean(CarrierConfigManager.KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL)) &&
+                ((mOriginalConnection != null && mOriginalConnection.shouldAllowHoldingVideoCall())
+                || !VideoProfile.isVideo(getVideoState()));
     }
 
+    private boolean isConferenceHosted() {
+        boolean isHosted = false;
+        if (getTelephonyConnectionService() != null) {
+            for (Conference current : getTelephonyConnectionService().getAllConferences()) {
+                if (current instanceof ImsConference) {
+                    ImsConference other = (ImsConference) current;
+                    if (getState() == current.getState()) {
+                        continue;
+                    }
+                    if (other.isConferenceHost()) {
+                        isHosted = true;
+                        break;
+                    }
+                }
+            }
+        }
+        return isHosted;
+    }
+
+    private boolean isAddParticipantCapable() {
+        // not add participant capable for non ims phones
+        if (getPhone() == null || getPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_IMS) {
+            return false;
+        }
+
+        if (!getCarrierConfig()
+                .getBoolean(CarrierConfigManager.KEY_SUPPORT_ADD_CONFERENCE_PARTICIPANTS_BOOL)) {
+            return false;
+        }
+
+        boolean isCapable = !mTreatAsEmergencyCall && (mConnectionState == Call.State.ACTIVE ||
+                mConnectionState == Call.State.HOLDING);
+
+        // add participant capable if current connection is a host connection or
+        // if conference is not hosted on the device
+        isCapable = isCapable && ((mOriginalConnection != null &&
+                mOriginalConnection.isConferenceHost()) ||
+                !isConferenceHosted());
+
+        /**
+          * For individual IMS calls, if the extra for remote conference support is
+          *     - indicated, then consider the same for add participant capability
+          *     - not indicated, then the add participant capability is same as before.
+          */
+        if (isCapable && (mOriginalConnection != null) && !mIsMultiParty) {
+            isCapable = mOriginalConnectionExtras.getBoolean(
+                    ImsCallProfile.EXTRA_CONFERENCE_AVAIL, isCapable);
+        }
+        return isCapable;
+    }
+
+    /**
+     * Applies the add participant capabilities to the {@code CallCapabilities} bit-mask.
+     *
+     * @param callCapabilities The {@code CallCapabilities} bit-mask.
+     * @return The capabilities with the add participant capabilities applied.
+     */
+    private int applyAddParticipantCapabilities(int callCapabilities) {
+        int currentCapabilities = callCapabilities;
+        if (isAddParticipantCapable()) {
+            currentCapabilities = changeBitmask(currentCapabilities,
+                    Connection.CAPABILITY_ADD_PARTICIPANT, true);
+        } else {
+            currentCapabilities = changeBitmask(currentCapabilities,
+                    Connection.CAPABILITY_ADD_PARTICIPANT, false);
+        }
+        return currentCapabilities;
+    }
+
+    @VisibleForTesting
     public PersistableBundle getCarrierConfig() {
         Phone phone = getPhone();
         if (phone == null) {
@@ -1359,6 +1755,50 @@
         return false;
     }
 
+    private boolean isCallTransferSupported() {
+        PersistableBundle b = getCarrierConfig();
+        // Return false if the CarrierConfig is unavailable
+        if (b != null) {
+            return b.getBoolean(CarrierConfigManager.KEY_CARRIER_ALLOW_TRANSFER_IMS_CALL_BOOL);
+        }
+        return false;
+    }
+
+    private boolean canTransfer(TelephonyConnection c) {
+        com.android.internal.telephony.Connection connection = c.getOriginalConnection();
+        return (connection != null && !connection.isMultiparty()
+                && (c.getState() == STATE_ACTIVE || c.getState() == STATE_HOLDING));
+    }
+
+    private boolean canTransferToNumber() {
+        if (!isCallTransferSupported()) {
+            return false;
+        }
+        return canTransfer(this);
+    }
+
+    private boolean canConsultativeTransfer() {
+        if (!isCallTransferSupported()) {
+            return false;
+        }
+        if (!canTransfer(this)) {
+            return false;
+        }
+        boolean canConsultativeTransfer = false;
+        if (getTelephonyConnectionService() != null) {
+            for (Connection current : getTelephonyConnectionService().getAllConnections()) {
+                if (current != this && current instanceof TelephonyConnection) {
+                    TelephonyConnection other = (TelephonyConnection) current;
+                    if (canTransfer(other)) {
+                        canConsultativeTransfer = true;
+                        break;
+                    }
+                }
+            }
+        }
+        return canConsultativeTransfer;
+    }
+
     /**
      * Determines if the device will respect the value of the
      * {@link CarrierConfigManager#KEY_ALLOW_HOLD_IN_IMS_CALL_BOOL} configuration option.
@@ -1394,6 +1834,7 @@
                 getPhone().unregisterForPreciseCallStateChanged(mHandler);
                 getPhone().unregisterForRingbackTone(mHandler);
                 getPhone().unregisterForHandoverStateChanged(mHandler);
+                getPhone().unregisterForRedialConnectionChanged(mHandler);
                 getPhone().unregisterForDisconnect(mHandler);
                 getPhone().unregisterForSuppServiceNotification(mHandler);
                 getPhone().unregisterForOnHoldTone(mHandler);
@@ -1408,6 +1849,7 @@
 
     protected void hangup(int telephonyDisconnectCode) {
         if (mOriginalConnection != null) {
+            mHangupDisconnectCause = telephonyDisconnectCode;
             try {
                 // Hanging up a ringing call requires that we invoke call.hangup() as opposed to
                 // connection.hangup(). Without this change, the party originating the call
@@ -1437,7 +1879,47 @@
                 // There are a few cases where mOriginalConnection has not been set yet. For
                 // example, when the radio has to be turned on to make an emergency call,
                 // mOriginalConnection could not be set for many seconds.
-                setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
+                setTelephonyConnectionDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
+                        android.telephony.DisconnectCause.LOCAL,
+                        "Local Disconnect before connection established."));
+                close();
+            }
+        }
+    }
+
+    protected void reject(@android.telecom.Call.RejectReason int rejectReason) {
+        if (mOriginalConnection != null) {
+            mHangupDisconnectCause = android.telephony.DisconnectCause.INCOMING_REJECTED;
+            try {
+                // Hanging up a ringing call requires that we invoke call.hangup() as opposed to
+                // connection.hangup(). Without this change, the party originating the call
+                // will not get sent to voicemail if the user opts to reject the call.
+                if (isValidRingingCall()) {
+                    Call call = getCall();
+                    if (call != null) {
+                        call.hangup(rejectReason);
+                    } else {
+                        Log.w(this, "Attempting to hangup a connection without backing call.");
+                    }
+                } else {
+                    // We still prefer to call connection.hangup() for non-ringing calls
+                    // in order to support hanging-up specific calls within a conference call.
+                    // If we invoked call.hangup() while in a conference, we would end up
+                    // hanging up the entire conference call instead of the specific connection.
+                    mOriginalConnection.hangup();
+                }
+            } catch (CallStateException e) {
+                Log.e(this, e, "Call to Connection.hangup failed with exception");
+            }
+        } else {
+            if (getState() == STATE_DISCONNECTED) {
+                Log.i(this, "hangup called on an already disconnected call!");
+                close();
+            } else {
+                // There are a few cases where mOriginalConnection has not been set yet. For
+                // example, when the radio has to be turned on to make an emergency call,
+                // mOriginalConnection could not be set for many seconds.
+                setTelephonyConnectionDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
                         android.telephony.DisconnectCause.LOCAL,
                         "Local Disconnect before connection established."));
                 close();
@@ -1494,7 +1976,7 @@
      */
     public List<ConferenceParticipant> getConferenceParticipants() {
         if (mOriginalConnection == null) {
-            Log.v(this, "Null mOriginalConnection, cannot get conf participants.");
+            Log.w(this, "Null mOriginalConnection, cannot get conf participants.");
             return null;
         }
         return mOriginalConnection.getConferenceParticipants();
@@ -1539,8 +2021,8 @@
                         for (String key : extras.keySet()) {
                             Object value = extras.get(key);
                             if (value instanceof String) {
-                                Log.d(this, "updateExtras Key=" + Log.pii(key) +
-                                             " value=" + Log.pii((String)value));
+                                Log.d(this, "updateExtras Key=" + Rlog.pii(LOG_TAG, key)
+                                        + " value=" + Rlog.pii(LOG_TAG, value));
                             }
                         }
                     }
@@ -1558,12 +2040,18 @@
                     }
 
                     // Ensure extras are propagated to Telecom.
-                    putExtras(mOriginalConnectionExtras);
+                    putTelephonyExtras(mOriginalConnectionExtras);
+                    // If extras contain Conference support information,
+                    // then ensure capabilities are updated.
+                    if (mOriginalConnectionExtras.containsKey(
+                            ImsCallProfile.EXTRA_CONFERENCE_AVAIL)) {
+                        updateConnectionCapabilities();
+                    }
                 } else {
                     Log.d(this, "Extras update not required");
                 }
             } else {
-                Log.d(this, "updateExtras extras: " + Log.pii(extras));
+                Log.d(this, "updateExtras extras: " + Rlog.pii(LOG_TAG, extras));
             }
         }
     }
@@ -1627,19 +2115,19 @@
                     setActiveInternal();
                     break;
                 case HOLDING:
-                    setOnHold();
+                    setTelephonyConnectionOnHold();
                     break;
                 case DIALING:
                 case ALERTING:
                     if (mOriginalConnection != null && mOriginalConnection.isPulledCall()) {
-                        setPulling();
+                        setTelephonyConnectionPulling();
                     } else {
-                        setDialing();
+                        setTelephonyConnectionDialing();
                     }
                     break;
                 case INCOMING:
                 case WAITING:
-                    setRinging();
+                    setTelephonyConnectionRinging();
                     break;
                 case DISCONNECTED:
                     if (shouldTreatAsEmergencyCall()
@@ -1660,11 +2148,19 @@
                             preciseDisconnectCause =
                                     mOriginalConnection.getPreciseDisconnectCause();
                         }
-                        setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
-                                mOriginalConnection.getDisconnectCause(),
-                                preciseDisconnectCause,
-                                mOriginalConnection.getVendorDisconnectCause(),
-                                getPhone().getPhoneId()));
+                        int disconnectCause = mOriginalConnection.getDisconnectCause();
+                        if ((mHangupDisconnectCause != DisconnectCause.NOT_VALID)
+                                && (mHangupDisconnectCause != disconnectCause)) {
+                            Log.i(LOG_TAG, "setDisconnected: override cause: " + disconnectCause
+                                    + " -> " + mHangupDisconnectCause);
+                            disconnectCause = mHangupDisconnectCause;
+                        }
+                        setTelephonyConnectionDisconnected(
+                                DisconnectCauseUtil.toTelecomDisconnectCause(
+                                        disconnectCause,
+                                        preciseDisconnectCause,
+                                        mOriginalConnection.getVendorDisconnectCause(),
+                                        getPhone().getPhoneId()));
                         close();
                     }
                     break;
@@ -1686,6 +2182,7 @@
         updateAddress();
         updateMultiparty();
         refreshDisableAddCall();
+        refreshCodecType();
     }
 
     /**
@@ -1744,8 +2241,8 @@
         // To "optimize", we check here to see if there already exists any active calls.  If so,
         // we issue an update for those calls first to make sure we only have one top-level
         // active call.
-        if (getConnectionService() != null) {
-            for (Connection current : getConnectionService().getAllConnections()) {
+        if (getTelephonyConnectionService() != null) {
+            for (Connection current : getTelephonyConnectionService().getAllConnections()) {
                 if (current != this && current instanceof TelephonyConnection) {
                     TelephonyConnection other = (TelephonyConnection) current;
                     if (other.getState() == STATE_ACTIVE) {
@@ -1754,13 +2251,18 @@
                 }
             }
         }
-        setActive();
+        setTelephonyConnectionActive();
     }
 
-    protected void close() {
+    public void close() {
         Log.v(this, "close");
         clearOriginalConnection();
         destroy();
+        if (mTelephonyConnectionService != null) {
+            removeTelephonyConnectionListener(
+                    mTelephonyConnectionService.getTelephonyConnectionListener());
+        }
+        notifyDestroyed();
     }
 
     /**
@@ -1772,9 +2274,10 @@
      * @return {@code true} if the connection is video capable, {@code false} otherwise.
      */
     private boolean isVideoCapable() {
-        return can(mOriginalConnectionCapabilities, Capability.SUPPORTS_VT_LOCAL_BIDIRECTIONAL)
-                && can(mOriginalConnectionCapabilities,
-                Capability.SUPPORTS_VT_REMOTE_BIDIRECTIONAL);
+        return (mOriginalConnectionCapabilities & Capability.SUPPORTS_VT_LOCAL_BIDIRECTIONAL)
+                == Capability.SUPPORTS_VT_LOCAL_BIDIRECTIONAL
+                && (mOriginalConnectionCapabilities & Capability.SUPPORTS_VT_REMOTE_BIDIRECTIONAL)
+                == Capability.SUPPORTS_VT_REMOTE_BIDIRECTIONAL;
     }
 
     /**
@@ -1786,7 +2289,8 @@
      * @return {@code true} if the connection is external, {@code false} otherwise.
      */
     private boolean isExternalConnection() {
-        return can(mOriginalConnectionCapabilities, Capability.IS_EXTERNAL_CONNECTION);
+        return (mOriginalConnectionCapabilities
+                & Capability.IS_EXTERNAL_CONNECTION) == Capability.IS_EXTERNAL_CONNECTION;
     }
 
     /**
@@ -1808,8 +2312,10 @@
      * @return {@code true} if the connection is pullable, {@code false} otherwise.
      */
     private boolean isPullable() {
-        return can(mOriginalConnectionCapabilities, Capability.IS_EXTERNAL_CONNECTION)
-                && can(mOriginalConnectionCapabilities, Capability.IS_PULLABLE);
+        return (mOriginalConnectionCapabilities & Capability.IS_EXTERNAL_CONNECTION)
+                == Capability.IS_EXTERNAL_CONNECTION
+                && (mOriginalConnectionCapabilities & Capability.IS_PULLABLE)
+                == Capability.IS_PULLABLE;
     }
 
     /**
@@ -1867,17 +2373,20 @@
     public int applyOriginalConnectionCapabilities(int capabilities) {
         // We only support downgrading to audio if both the remote and local side support
         // downgrading to audio.
-        boolean supportsDowngradeToAudio = can(mOriginalConnectionCapabilities,
-                Capability.SUPPORTS_DOWNGRADE_TO_VOICE_LOCAL |
-                        Capability.SUPPORTS_DOWNGRADE_TO_VOICE_REMOTE);
+        int supportsDowngrade = Capability.SUPPORTS_DOWNGRADE_TO_VOICE_LOCAL
+                | Capability.SUPPORTS_DOWNGRADE_TO_VOICE_REMOTE;
+        boolean supportsDowngradeToAudio =
+                (mOriginalConnectionCapabilities & supportsDowngrade) == supportsDowngrade;
         capabilities = changeBitmask(capabilities,
                 CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO, !supportsDowngradeToAudio);
 
         capabilities = changeBitmask(capabilities, CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL,
-                can(mOriginalConnectionCapabilities, Capability.SUPPORTS_VT_REMOTE_BIDIRECTIONAL));
+                (mOriginalConnectionCapabilities & Capability.SUPPORTS_VT_REMOTE_BIDIRECTIONAL)
+                        == Capability.SUPPORTS_VT_REMOTE_BIDIRECTIONAL);
 
-        boolean isLocalVideoSupported = can(mOriginalConnectionCapabilities,
-                Capability.SUPPORTS_VT_LOCAL_BIDIRECTIONAL) && !mIsTtyEnabled;
+        boolean isLocalVideoSupported = (mOriginalConnectionCapabilities
+                & Capability.SUPPORTS_VT_LOCAL_BIDIRECTIONAL)
+                == Capability.SUPPORTS_VT_LOCAL_BIDIRECTIONAL && !mIsTtyEnabled;
         capabilities = changeBitmask(capabilities, CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL,
                 isLocalVideoSupported);
 
@@ -1915,8 +2424,8 @@
     /**
      * @return {@code true} if this is an outgoing call, {@code false} otherwise.
      */
-    boolean isOutgoingCall() {
-        return mIsOutgoing;
+    public boolean isOutgoingCall() {
+        return getCallDirection() == android.telecom.Call.Details.DIRECTION_OUTGOING;
     }
 
     /**
@@ -2104,13 +2613,13 @@
                     : R.string.status_hint_label_wifi_call;
 
             Context context = getPhone().getContext();
-            setStatusHints(new StatusHints(
-                    context.getString(labelId),
+            setTelephonyStatusHints(new StatusHints(
+                    getResourceString(labelId),
                     Icon.createWithResource(
                             context, R.drawable.ic_signal_wifi_4_bar_24dp),
                     null /* extras */));
         } else {
-            setStatusHints(null);
+            setTelephonyStatusHints(null);
         }
     }
 
@@ -2188,6 +2697,7 @@
      * 3. If call is a video call, carrier supports video conference calls.
      * 4. If call is a wifi call and VoWIFI is disabled and carrier supports merging these calls.
      */
+    @VisibleForTesting
     void refreshConferenceSupported() {
         boolean isVideoCall = VideoProfile.isVideo(getVideoState());
         Phone phone = getPhone();
@@ -2314,7 +2824,7 @@
         sb.append(" properties:");
         sb.append(propertiesToString(getConnectionProperties()));
         sb.append(" address:");
-        sb.append(Log.pii(getAddress()));
+        sb.append(Rlog.pii(LOG_TAG, getAddress()));
         sb.append(" originalConnection:");
         sb.append(mOriginalConnection);
         sb.append(" partOfConf:");
@@ -2325,7 +2835,370 @@
         }
         sb.append(" confSupported:");
         sb.append(mIsConferenceSupported ? "Y" : "N");
+        sb.append(" isAdhocConf:");
+        sb.append(isAdhocConferenceCall() ? "Y" : "N");
         sb.append("]");
         return sb.toString();
     }
+
+    public final void setTelephonyConnectionService(TelephonyConnectionService connectionService) {
+        mTelephonyConnectionService = connectionService;
+    }
+
+    public final TelephonyConnectionService getTelephonyConnectionService() {
+        return mTelephonyConnectionService;
+    }
+
+    /**
+     * Set this {@link TelephonyConnection} to an active state.
+     * <p>
+     * Note: This should be used instead of {@link #setActive()} to ensure listeners are notified.
+     */
+    public void setTelephonyConnectionActive() {
+        setActive();
+        notifyStateChanged(getState());
+    }
+
+    /**
+     * Set this {@link TelephonyConnection} to a ringing state.
+     * <p>
+     * Note: This should be used instead of {@link #setRinging()} to ensure listeners are notified.
+     */
+    public void setTelephonyConnectionRinging() {
+        setRinging();
+        notifyStateChanged(getState());
+    }
+
+    /**
+     * Set this {@link TelephonyConnection} to an initializing state.
+     * <p>
+     * Note: This should be used instead of {@link #setInitializing()} to ensure listeners are
+     * notified.
+     */
+    public void setTelephonyConnectionInitializing() {
+        setInitializing();
+        notifyStateChanged(getState());
+    }
+
+    /**
+     * Set this {@link TelephonyConnection} to a dialing state.
+     * <p>
+     * Note: This should be used instead of {@link #setDialing()} to ensure listeners are notified.
+     */
+    public void setTelephonyConnectionDialing() {
+        setDialing();
+        notifyStateChanged(getState());
+    }
+
+    /**
+     * Set this {@link TelephonyConnection} to a pulling state.
+     * <p>
+     * Note: This should be used instead of {@link #setPulling()} to ensure listeners are notified.
+     */
+    public void setTelephonyConnectionPulling() {
+        setPulling();
+        notifyStateChanged(getState());
+    }
+
+    /**
+     * Set this {@link TelephonyConnection} to a held state.
+     * <p>
+     * Note: This should be used instead of {@link #setOnHold()} to ensure listeners are notified.
+     */
+    public void setTelephonyConnectionOnHold() {
+        setOnHold();
+        notifyStateChanged(getState());
+    }
+
+    /**
+     * Set this {@link TelephonyConnection} to a held state.
+     * <p>
+     * Note: This should be used instead of
+     * {@link #setDisconnected(android.telecom.DisconnectCause)} to ensure listeners are notified.
+     */
+    public void setTelephonyConnectionDisconnected(@NonNull
+            android.telecom.DisconnectCause disconnectCause) {
+        setDisconnected(disconnectCause);
+        notifyDisconnected(disconnectCause);
+        notifyStateChanged(getState());
+    }
+
+    /**
+     * Sends a connection event for this {@link TelephonyConnection}.
+     * <p>
+     * Note: This should be used instead of {@link #sendConnectionEvent(String, Bundle)} to ensure
+     * listeners are notified.
+     */
+    public void sendTelephonyConnectionEvent(@NonNull String event, @Nullable Bundle extras) {
+        sendConnectionEvent(event, extras);
+        notifyTelephonyConnectionEvent(event, extras);
+    }
+
+    /**
+     * Sets the extras associated with this {@link TelephonyConnection}.
+     * <p>
+     * Note: This should be used instead of {@link #putExtras(Bundle)} to ensure listeners are
+     * notified.
+     */
+    public void putTelephonyExtras(@NonNull Bundle extras) {
+        putExtras(extras);
+        notifyPutExtras(extras);
+    }
+
+    /**
+     * Removes the specified extras associated with this {@link TelephonyConnection}.
+     * <p>
+     * Note: This should be used instead of {@link #removeExtras(String...)} to ensure listeners are
+     * notified.
+     */
+    public void removeTelephonyExtras(@NonNull List<String> keys) {
+        removeExtras(keys);
+        notifyRemoveExtras(keys);
+    }
+
+    /**
+     * Sets the video state associated with this {@link TelephonyConnection}.
+     * <p>
+     * Note: This should be used instead of {@link #setVideoState(int)} to ensure listeners are
+     * notified.
+     * @param videoState The new video state. Valid values:
+     *                   {@link VideoProfile#STATE_AUDIO_ONLY},
+     *                   {@link VideoProfile#STATE_BIDIRECTIONAL},
+     *                   {@link VideoProfile#STATE_TX_ENABLED},
+     *                   {@link VideoProfile#STATE_RX_ENABLED}.
+     */
+    public void setTelephonyVideoState(int videoState) {
+        setVideoState(videoState);
+        notifyVideoStateChanged(videoState);
+    }
+
+    /**
+     * Sets the video provider associated with this {@link TelephonyConnection}.
+     * <p>
+     * Note: This should be used instead of {@link #setVideoProvider(VideoProvider)} to ensure
+     * listeners are notified.
+     */
+    public void setTelephonyVideoProvider(@Nullable VideoProvider videoProvider) {
+        setVideoProvider(videoProvider);
+        notifyVideoProviderChanged(videoProvider);
+    }
+
+    /**
+     * Sets the status hints associated with this {@link TelephonyConnection}.
+     * <p>
+     * Note: This should be used instead of {@link #setStatusHints(StatusHints)} to ensure listeners
+     * are notified.
+     */
+    public void setTelephonyStatusHints(@Nullable StatusHints statusHints) {
+        setStatusHints(statusHints);
+        notifyStatusHintsChanged(statusHints);
+    }
+
+    /**
+     * Sets RIL voice radio technology used for current connection.
+     * <p>
+     * This property is set by the Telephony {@link ConnectionService}.
+     *
+     * @param vrat the RIL Voice Radio Technology used for current connection,
+     *             see {@code RIL_RADIO_TECHNOLOGY_*} in {@link android.telephony.ServiceState}.
+     */
+    public final void setCallRadioTech(@RilRadioTechnology int vrat) {
+        Bundle extras = getExtras();
+        if (extras == null) {
+            extras = new Bundle();
+        }
+        extras.putInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                ServiceState.rilRadioTechnologyToNetworkType(vrat));
+        putExtras(extras);
+        // Propagates the call radio technology to its parent {@link android.telecom.Conference}
+        // This action only covers non-IMS CS conference calls.
+        // For IMS PS call conference call, it can be updated via its host connection
+        // {@link #Listener.onExtrasChanged} event.
+        if (getConference() != null) {
+            Bundle newExtras = new Bundle();
+            newExtras.putInt(
+                    TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                    ServiceState.rilRadioTechnologyToNetworkType(vrat));
+            getConference().putExtras(newExtras);
+        }
+    }
+
+    /**
+     * Returns RIL voice radio technology used for current connection.
+     * <p>
+     * Used by the Telephony {@link ConnectionService}.
+     *
+     * @return the RIL voice radio technology used for current connection,
+     *         see {@code RIL_RADIO_TECHNOLOGY_*} in {@link android.telephony.ServiceState}.
+     */
+    public final @RilRadioTechnology int getCallRadioTech() {
+        int voiceNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
+        Bundle extras = getExtras();
+        if (extras != null) {
+            voiceNetworkType = extras.getInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE,
+                    TelephonyManager.NETWORK_TYPE_UNKNOWN);
+        }
+        return ServiceState.networkTypeToRilRadioTechnology(voiceNetworkType);
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of a change to conference participant data
+     * received via the {@link ImsConference} (i.e. conference event package).
+     *
+     * @param conferenceParticipants The participants.
+     */
+    private void updateConferenceParticipants(
+            @NonNull List<ConferenceParticipant> conferenceParticipants) {
+        for (TelephonyConnectionListener l : mTelephonyListeners) {
+            l.onConferenceParticipantsChanged(this, conferenceParticipants);
+        }
+    }
+
+    /**
+     * Called by a {@link ConnectionService} to notify Telecom that a {@link Conference#onMerge()}
+     * operation has started.
+     */
+    protected void notifyConferenceStarted() {
+        for (TelephonyConnectionListener l : mTelephonyListeners) {
+            l.onConferenceStarted();
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s when a change has occurred to the Connection
+     * which impacts its ability to be a part of a conference call.
+     * @param isConferenceSupported {@code true} if the connection supports being part of a
+     *      conference call, {@code false} otherwise.
+     */
+    private void notifyConferenceSupportedChanged(boolean isConferenceSupported) {
+        for (TelephonyConnectionListener l : mTelephonyListeners) {
+            l.onConferenceSupportedChanged(this, isConferenceSupported);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of changes to the connection capabilities.
+     * @param newCapabilities the new capabilities.
+     */
+    private void notifyConnectionCapabilitiesChanged(int newCapabilities) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onConnectionCapabilitiesChanged(this, newCapabilities);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of changes to the connection properties.
+     * @param newProperties the new properties.
+     */
+    private void notifyConnectionPropertiesChanged(int newProperties) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onConnectionPropertiesChanged(this, newProperties);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s when a connection is destroyed.
+     */
+    private void notifyDestroyed() {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onDestroyed(this);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s when a connection disconnects.
+     * @param cause The disconnect cause.
+     */
+    private void notifyDisconnected(android.telecom.DisconnectCause cause) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onDisconnected(this, cause);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of connection state changes.
+     * @param newState The new state.
+     */
+    private void notifyStateChanged(int newState) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onStateChanged(this, newState);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of telephony connection events.
+     * @param event The event.
+     * @param extras Any extras.
+     */
+    private void notifyTelephonyConnectionEvent(String event, Bundle extras) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onConnectionEvent(this, event, extras);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s when extras are added to the connection.
+     * @param extras The new extras.
+     */
+    private void notifyPutExtras(Bundle extras) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onExtrasChanged(this, extras);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s when extra keys are removed from a connection.
+     * @param keys The removed keys.
+     */
+    private void notifyRemoveExtras(List<String> keys) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onExtrasRemoved(this, keys);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of a change to the video state of a connection.
+     * @param videoState The new video state. Valid values:
+     *                   {@link VideoProfile#STATE_AUDIO_ONLY},
+     *                   {@link VideoProfile#STATE_BIDIRECTIONAL},
+     *                   {@link VideoProfile#STATE_TX_ENABLED},
+     *                   {@link VideoProfile#STATE_RX_ENABLED}.
+     */
+    private void notifyVideoStateChanged(int videoState) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onVideoStateChanged(this, videoState);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of a whether to play Ringback Tone or not.
+     * @param ringback Whether the ringback tone is to be played
+     */
+    private void notifyRingbackRequested(boolean ringback) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onRingbackRequested(this, ringback);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of changes to the video provider for a
+     * connection.
+     * @param videoProvider The new video provider.
+     */
+    private void notifyVideoProviderChanged(VideoProvider videoProvider) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onVideoProviderChanged(this, videoProvider);
+        }
+    }
+
+    /**
+     * Notifies {@link TelephonyConnectionListener}s of changes to the status hints for a
+     * connection.
+     * @param statusHints The new status hints.
+     */
+    private void notifyStatusHintsChanged(StatusHints statusHints) {
+        for (TelephonyConnectionListener listener : mTelephonyListeners) {
+            listener.onStatusHintsChanged(this, statusHints);
+        }
+    }
 }
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index c517cd8..356407a 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -25,7 +25,9 @@
 import android.content.IntentFilter;
 import android.net.Uri;
 import android.os.Bundle;
-import android.provider.Settings;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
 import android.telecom.Conference;
 import android.telecom.Connection;
 import android.telecom.ConnectionRequest;
@@ -69,6 +71,7 @@
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -100,15 +103,11 @@
         }
         @Override
         public void addConference(TelephonyConference mTelephonyConference) {
-            TelephonyConnectionService.this.addConference(mTelephonyConference);
+            TelephonyConnectionService.this.addTelephonyConference(mTelephonyConference);
         }
         @Override
         public void addConference(ImsConference mImsConference) {
-            TelephonyConnectionService.this.addConference(mImsConference);
-        }
-        @Override
-        public void removeConnection(Connection connection) {
-            TelephonyConnectionService.this.removeConnection(connection);
+            TelephonyConnectionService.this.addTelephonyConference(mImsConference);
         }
         @Override
         public void addExistingConnection(PhoneAccountHandle phoneAccountHandle,
@@ -128,13 +127,6 @@
         }
     };
 
-    private final Connection.Listener mConnectionListener = new Connection.Listener() {
-        @Override
-        public void onConferenceChanged(Connection connection, Conference conference) {
-            mHoldTracker.updateHoldCapability(connection.getPhoneAccountHandle());
-        }
-    };
-
     private final BroadcastReceiver mTtyBroadcastReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
@@ -171,6 +163,8 @@
     // destroyed.
     @VisibleForTesting
     public Pair<WeakReference<TelephonyConnection>, Queue<Phone>> mEmergencyRetryCache;
+    private Handler mDdsSwitchHandler;
+    private HandlerThread mHandlerThread;
     private DeviceState mDeviceState = new DeviceState();
 
     /**
@@ -184,6 +178,8 @@
         public boolean isLocked = false;
         // Is the emergency number associated with the slot
         public boolean hasDialedEmergencyNumber = false;
+        //SimState
+        public int simState;
 
         public SlotStatus(int slotId, int capabilities) {
             this.slotId = slotId;
@@ -251,12 +247,20 @@
 
         @Override
         public boolean isCurrentEmergencyNumber(String number) {
-            return mTelephonyManager.isEmergencyNumber(number);
+            try {
+                return mTelephonyManager.isEmergencyNumber(number);
+            } catch (IllegalStateException ise) {
+                return false;
+            }
         }
 
         @Override
         public Map<Integer, List<EmergencyNumber>> getCurrentEmergencyNumberList() {
-            return mTelephonyManager.getEmergencyNumberList();
+            try {
+                return mTelephonyManager.getEmergencyNumberList();
+            } catch (IllegalStateException ise) {
+                return new HashMap<>();
+            }
         }
     }
 
@@ -347,6 +351,27 @@
     };
 
     /**
+     * Factory for Handler creation in order to remove flakiness during t esting.
+     */
+    @VisibleForTesting
+    public interface HandlerFactory {
+        HandlerThread createHandlerThread(String name);
+        Handler createHandler(Looper looper);
+    }
+
+    private HandlerFactory mHandlerFactory = new HandlerFactory() {
+        @Override
+        public HandlerThread createHandlerThread(String name) {
+            return new HandlerThread(name);
+        }
+
+        @Override
+        public Handler createHandler(Looper looper) {
+            return new Handler(looper);
+        }
+    };
+
+    /**
      * DisconnectCause depends on PhoneGlobals in order to get a system context. Mock out
      * dependency for testing.
      */
@@ -405,6 +430,14 @@
     }
 
     /**
+     * Overrides radioOnHelper for testing.
+     */
+    @VisibleForTesting
+    public void setRadioOnHelper(RadioOnHelper radioOnHelper) {
+        mRadioOnHelper = radioOnHelper;
+    }
+
+    /**
      * Overrides PhoneSwitcher dependencies for testing.
      */
     @VisibleForTesting
@@ -429,6 +462,14 @@
     }
 
     /**
+     * Override Handler creation factory for testing.
+     */
+    @VisibleForTesting
+    public void setHandlerFactory(HandlerFactory handlerFactory) {
+        mHandlerFactory = handlerFactory;
+    }
+
+    /**
      * Override DisconnectCause creation for testing.
      */
     @VisibleForTesting
@@ -452,10 +493,17 @@
         }
     };
 
+    private final TelephonyConferenceBase.TelephonyConferenceListener mTelephonyConferenceListener =
+            new TelephonyConferenceBase.TelephonyConferenceListener() {
+        @Override
+        public void onConferenceMembershipChanged(Connection connection) {
+            mHoldTracker.updateHoldCapability(connection.getPhoneAccountHandle());
+        }
+    };
+
     @Override
     public void onCreate() {
         super.onCreate();
-        Log.initLogging(this);
         mImsConferenceController = new ImsConferenceController(
                 TelecomAccountRegistry.getInstance(this),
                 mTelephonyConnectionServiceProxy,
@@ -472,14 +520,151 @@
         IntentFilter intentFilter = new IntentFilter(
                 TelecomManager.ACTION_TTY_PREFERRED_MODE_CHANGED);
         registerReceiver(mTtyBroadcastReceiver, intentFilter);
+        mHandlerThread = mHandlerFactory.createHandlerThread("DdsSwitchHandlerThread");
+        mHandlerThread.start();
+        Looper looper = mHandlerThread.getLooper();
+        mDdsSwitchHandler = mHandlerFactory.createHandler(looper);
     }
 
     @Override
     public boolean onUnbind(Intent intent) {
         unregisterReceiver(mTtyBroadcastReceiver);
+        mHandlerThread.quitSafely();
         return super.onUnbind(intent);
     }
 
+    private Conference placeOutgoingConference(ConnectionRequest request,
+            Connection resultConnection, Phone phone) {
+        if (resultConnection instanceof TelephonyConnection) {
+            return placeOutgoingConference((TelephonyConnection) resultConnection, phone, request);
+        }
+        return null;
+    }
+
+    private Conference placeOutgoingConference(TelephonyConnection conferenceHostConnection,
+            Phone phone, ConnectionRequest request) {
+        updatePhoneAccount(conferenceHostConnection, phone);
+        com.android.internal.telephony.Connection originalConnection = null;
+        try {
+            originalConnection = phone.startConference(
+                    getParticipantsToDial(request.getParticipants()),
+                    new ImsPhone.ImsDialArgs.Builder()
+                    .setVideoState(request.getVideoState())
+                    .setRttTextStream(conferenceHostConnection.getRttTextStream())
+                    .build());
+        } catch (CallStateException e) {
+            Log.e(this, e, "placeOutgoingConference, phone.startConference exception: " + e);
+            handleCallStateException(e, conferenceHostConnection, phone);
+            return null;
+        }
+
+        if (originalConnection == null) {
+            Log.d(this, "placeOutgoingConference, phone.startConference returned null");
+            conferenceHostConnection.setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
+                    android.telephony.DisconnectCause.OUTGOING_FAILURE,
+                    "conferenceHostConnection is null",
+                    phone.getPhoneId()));
+            conferenceHostConnection.clearOriginalConnection();
+            conferenceHostConnection.destroy();
+        } else {
+            conferenceHostConnection.setOriginalConnection(originalConnection);
+        }
+
+        return prepareConference(conferenceHostConnection, request.getAccountHandle());
+    }
+
+    Conference prepareConference(Connection conn, PhoneAccountHandle phoneAccountHandle) {
+        if (!(conn instanceof TelephonyConnection)) {
+            Log.w(this, "prepareConference returning NULL conference");
+            return null;
+        }
+
+        TelephonyConnection connection = (TelephonyConnection)conn;
+
+        ImsConference conference = new ImsConference(TelecomAccountRegistry.getInstance(this),
+                mTelephonyConnectionServiceProxy, connection,
+                phoneAccountHandle, () -> true,
+                ImsConferenceController.getCarrierConfig(connection.getPhone()));
+        mImsConferenceController.addConference(conference);
+        conference.setVideoState(connection,
+                connection.getVideoState());
+        conference.setVideoProvider(connection,
+                connection.getVideoProvider());
+        conference.setStatusHints(connection.getStatusHints());
+        conference.setAddress(connection.getAddress(),
+                connection.getAddressPresentation());
+        conference.setCallerDisplayName(connection.getCallerDisplayName(),
+                connection.getCallerDisplayNamePresentation());
+        conference.setParticipants(connection.getParticipants());
+        return conference;
+    }
+
+    @Override
+    public @Nullable Conference onCreateIncomingConference(
+            @Nullable PhoneAccountHandle connectionManagerPhoneAccount,
+            @NonNull final ConnectionRequest request) {
+        Log.i(this, "onCreateIncomingConference, request: " + request);
+        Connection connection = onCreateIncomingConnection(connectionManagerPhoneAccount, request);
+        Log.d(this, "onCreateIncomingConference, connection: %s", connection);
+        if (connection == null) {
+            Log.i(this, "onCreateIncomingConference, implementation returned null connection.");
+            return Conference.createFailedConference(
+                    new DisconnectCause(DisconnectCause.ERROR, "IMPL_RETURNED_NULL_CONNECTION"),
+                    request.getAccountHandle());
+        }
+
+        final Phone phone = getPhoneForAccount(request.getAccountHandle(),
+                false /* isEmergencyCall*/, null /* not an emergency call */);
+        if (phone == null) {
+            Log.d(this, "onCreateIncomingConference, phone is null");
+            return Conference.createFailedConference(
+                    DisconnectCauseUtil.toTelecomDisconnectCause(
+                            android.telephony.DisconnectCause.OUT_OF_SERVICE,
+                            "Phone is null"),
+                    request.getAccountHandle());
+        }
+
+        return prepareConference(connection, request.getAccountHandle());
+    }
+
+    @Override
+    public @Nullable Conference onCreateOutgoingConference(
+            @Nullable PhoneAccountHandle connectionManagerPhoneAccount,
+            @NonNull final ConnectionRequest request) {
+        Log.i(this, "onCreateOutgoingConference, request: " + request);
+        Connection connection = onCreateOutgoingConnection(connectionManagerPhoneAccount, request);
+        Log.d(this, "onCreateOutgoingConference, connection: %s", connection);
+        if (connection == null) {
+            Log.i(this, "onCreateOutgoingConference, implementation returned null connection.");
+            return Conference.createFailedConference(
+                    new DisconnectCause(DisconnectCause.ERROR, "IMPL_RETURNED_NULL_CONNECTION"),
+                    request.getAccountHandle());
+        }
+
+        final Phone phone = getPhoneForAccount(request.getAccountHandle(),
+                false /* isEmergencyCall*/, null /* not an emergency call */);
+        if (phone == null) {
+            Log.d(this, "onCreateOutgoingConference, phone is null");
+            return Conference.createFailedConference(
+                    DisconnectCauseUtil.toTelecomDisconnectCause(
+                            android.telephony.DisconnectCause.OUT_OF_SERVICE,
+                            "Phone is null"),
+                    request.getAccountHandle());
+        }
+
+        return placeOutgoingConference(request, connection, phone);
+    }
+
+    private String[] getParticipantsToDial(List<Uri> participants) {
+        String[] participantsToDial = new String[participants.size()];
+        int i = 0;
+        for (Uri participant : participants) {
+           participantsToDial[i] = participant.getSchemeSpecificPart();
+           i++;
+        }
+        return participantsToDial;
+    }
+
     @Override
     public Connection onCreateOutgoingConnection(
             PhoneAccountHandle connectionManagerPhoneAccount,
@@ -487,7 +672,9 @@
         Log.i(this, "onCreateOutgoingConnection, request: " + request);
 
         Uri handle = request.getAddress();
-        if (handle == null) {
+        boolean isAdhocConference = request.isAdhocConferenceCall();
+
+        if (!isAdhocConference && handle == null) {
             Log.d(this, "onCreateOutgoingConnection, handle is null");
             return Connection.createFailedConnection(
                     mDisconnectCauseFactory.toTelecomDisconnectCause(
@@ -590,19 +777,21 @@
         }
         final String numberToDial = number;
 
-
         final boolean isAirplaneModeOn = mDeviceState.isAirplaneModeOn(this);
 
         boolean needToTurnOnRadio = (isEmergencyNumber && (!isRadioOn() || isAirplaneModeOn))
                 || isRadioPowerDownOnBluetooth();
 
+        // Get the right phone object from the account data passed in.
+        final Phone phone = getPhoneForAccount(request.getAccountHandle(), isEmergencyNumber,
+                /* Note: when not an emergency, handle can be null for unknown callers */
+                handle == null ? null : handle.getSchemeSpecificPart());
+
         if (needToTurnOnRadio) {
             final Uri resultHandle = handle;
-            // By default, Connection based on the default Phone, since we need to return to Telecom
-            // now.
-            final int originalPhoneType = mPhoneFactoryProxy.getDefaultPhone().getPhoneType();
+            final int originalPhoneType = phone.getPhoneType();
             final Connection resultConnection = getTelephonyConnection(request, numberToDial,
-                    isEmergencyNumber, resultHandle, PhoneFactory.getDefaultPhone());
+                    isEmergencyNumber, resultHandle, phone);
             if (mRadioOnHelper == null) {
                 mRadioOnHelper = new RadioOnHelper(this);
             }
@@ -610,7 +799,7 @@
                 @Override
                 public void onComplete(RadioOnStateListener listener, boolean isRadioReady) {
                     handleOnComplete(isRadioReady, isEmergencyNumber, resultConnection, request,
-                            numberToDial, resultHandle, originalPhoneType);
+                            numberToDial, resultHandle, originalPhoneType, phone);
                 }
 
                 @Override
@@ -626,17 +815,20 @@
                         // been powered on and isn't in the UNAVAILABLE state, even if it is
                         // reporting the OUT_OF_SERVICE state.
                         return (phone.getState() == PhoneConstants.State.OFFHOOK)
-                            || phone.getServiceState().getState() != ServiceState.STATE_POWER_OFF;
+                            || phone.getServiceStateTracker().isRadioOn();
                     } else {
                         // Wait until we are in service and ready to make calls. This can happen
                         // when we power down the radio on bluetooth to save power on watches or if
                         // it is a test emergency number and we have to wait for the device to move
                         // IN_SERVICE before the call can take place over normal routing.
                         return (phone.getState() == PhoneConstants.State.OFFHOOK)
-                            || serviceState == ServiceState.STATE_IN_SERVICE;
+                                // Do not wait for voice in service on opportunistic SIMs.
+                                || SubscriptionController.getInstance().isOpportunistic(
+                                        phone.getSubId())
+                                || serviceState == ServiceState.STATE_IN_SERVICE;
                     }
                 }
-            });
+            }, isEmergencyNumber && !isTestEmergencyNumber, phone);
             // Return the still unconnected GsmConnection and wait for the Radios to boot before
             // connecting it to the underlying Phone.
             return resultConnection;
@@ -652,25 +844,29 @@
                                 "Add call restricted due to ongoing video call"));
             }
 
-            // Get the right phone object from the account data passed in.
-            final Phone phone = getPhoneForAccount(request.getAccountHandle(), isEmergencyNumber,
-                    /* Note: when not an emergency, handle can be null for unknown callers */
-                    handle == null ? null : handle.getSchemeSpecificPart());
             if (!isEmergencyNumber) {
                 final Connection resultConnection = getTelephonyConnection(request, numberToDial,
                         false, handle, phone);
-                return placeOutgoingConnection(request, resultConnection, phone);
+                if (isAdhocConference) {
+                    if (resultConnection instanceof TelephonyConnection) {
+                        TelephonyConnection conn = (TelephonyConnection)resultConnection;
+                        conn.setParticipants(request.getParticipants());
+                    }
+                    return resultConnection;
+                } else {
+                    return placeOutgoingConnection(request, resultConnection, phone);
+                }
             } else {
                 final Connection resultConnection = getTelephonyConnection(request, numberToDial,
                         true, handle, phone);
-                CompletableFuture<Boolean> phoneFuture = delayDialForDdsSwitch(phone);
-                phoneFuture.whenComplete((result, error) -> {
-                    if (error != null) {
-                        Log.w(this, "onCreateOutgoingConn - delayDialForDdsSwitch exception= "
-                                + error.getMessage());
+                mDdsSwitchHandler.post(new Runnable() {
+                    @Override
+                    public void run() {
+                        boolean result = delayDialForDdsSwitch(phone);
+                        Log.i(this,
+                                "onCreateOutgoingConn - delayDialForDdsSwitch result = " + result);
+                        placeOutgoingConnection(request, resultConnection, phone);
                     }
-                    Log.i(this, "onCreateOutgoingConn - delayDialForDdsSwitch result = " + result);
-                    placeOutgoingConnection(request, resultConnection, phone);
                 });
                 return resultConnection;
             }
@@ -724,40 +920,42 @@
      */
     private void handleOnComplete(boolean isRadioReady, boolean isEmergencyNumber,
             Connection originalConnection, ConnectionRequest request, String numberToDial,
-            Uri handle, int originalPhoneType) {
+            Uri handle, int originalPhoneType, Phone phone) {
         // Make sure the Call has not already been canceled by the user.
         if (originalConnection.getState() == Connection.STATE_DISCONNECTED) {
             Log.i(this, "Call disconnected before the outgoing call was placed. Skipping call "
                     + "placement.");
+            if (isEmergencyNumber) {
+                // If call is already canceled by the user, notify modem to exit emergency call
+                // mode by sending radio on with forEmergencyCall=false.
+                for (Phone curPhone : mPhoneFactoryProxy.getPhones()) {
+                    curPhone.setRadioPower(true, false, false, true);
+                }
+            }
             return;
         }
-        // Get the right phone object since the radio has been turned on successfully.
         if (isRadioReady) {
-            final Phone phone = getPhoneForAccount(request.getAccountHandle(), isEmergencyNumber,
-                    /* Note: when not an emergency, handle can be null for unknown callers */
-                    handle == null ? null : handle.getSchemeSpecificPart());
             if (!isEmergencyNumber) {
                 adjustAndPlaceOutgoingConnection(phone, originalConnection, request, numberToDial,
                         handle, originalPhoneType, false);
             } else {
-                delayDialForDdsSwitch(phone).whenComplete((result, error) -> {
-                    if (error != null) {
-                        Log.w(this, "handleOnComplete - delayDialForDdsSwitch exception= "
-                                + error.getMessage());
+                mDdsSwitchHandler.post(new Runnable() {
+                    @Override
+                    public void run() {
+                        boolean result = delayDialForDdsSwitch(phone);
+                        Log.i(this, "handleOnComplete - delayDialForDdsSwitch result = " + result);
+                        adjustAndPlaceOutgoingConnection(phone, originalConnection, request,
+                                numberToDial, handle, originalPhoneType, true);
                     }
-                    Log.i(this, "handleOnComplete - delayDialForDdsSwitch result = " + result);
-                    adjustAndPlaceOutgoingConnection(phone, originalConnection, request,
-                            numberToDial, handle, originalPhoneType, true);
                 });
             }
 
         } else {
             Log.w(this, "onCreateOutgoingConnection, failed to turn on radio");
-            originalConnection.setDisconnected(
-                     mDisconnectCauseFactory.toTelecomDisconnectCause(
+            closeOrDestroyConnection(originalConnection,
+                    mDisconnectCauseFactory.toTelecomDisconnectCause(
                             android.telephony.DisconnectCause.POWER_OFF,
                             "Failed to turn on radio."));
-            originalConnection.destroy();
         }
     }
 
@@ -778,17 +976,17 @@
             // TODO: Switch out the underlying connection instead of creating a new
             // one and causing UI Jank.
             boolean noActiveSimCard = SubscriptionController.getInstance()
-                    .getActiveSubInfoCount(phone.getContext().getOpPackageName()) == 0;
+                    .getActiveSubInfoCount(phone.getContext().getOpPackageName(),
+                            phone.getContext().getAttributionTag()) == 0;
             // If there's no active sim card and the device is in emergency mode, use E account.
             addExistingConnection(mPhoneUtilsProxy.makePstnPhoneAccountHandleWithPrefix(
                     phone, "", isEmergencyNumber && noActiveSimCard), repConnection);
             // Remove the old connection from Telecom after.
-            connectionToEvaluate.setDisconnected(
+            closeOrDestroyConnection(connectionToEvaluate,
                     mDisconnectCauseFactory.toTelecomDisconnectCause(
                             android.telephony.DisconnectCause.OUTGOING_CANCELED,
                             "Reconnecting outgoing Emergency Call.",
                             phone.getPhoneId()));
-            connectionToEvaluate.destroy();
         } else {
             placeOutgoingConnection((TelephonyConnection) connectionToEvaluate, phone, request);
         }
@@ -858,7 +1056,7 @@
             int dataNetType = phone.getServiceState().getDataNetworkType();
             if (dataNetType == TelephonyManager.NETWORK_TYPE_LTE ||
                     dataNetType == TelephonyManager.NETWORK_TYPE_LTE_CA) {
-                state = phone.getServiceState().getDataRegState();
+                state = phone.getServiceState().getDataRegistrationState();
             }
         }
 
@@ -921,8 +1119,7 @@
         final boolean isTtyModeEnabled = mDeviceState.isTtyModeEnabled(this);
         if (VideoProfile.isVideo(request.getVideoState()) && isTtyModeEnabled
                 && !isEmergencyNumber) {
-            return Connection.createFailedConnection(
-                    mDisconnectCauseFactory.toTelecomDisconnectCause(
+            return Connection.createFailedConnection(mDisconnectCauseFactory.toTelecomDisconnectCause(
                     android.telephony.DisconnectCause.VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED,
                     null, phone.getPhoneId()));
         }
@@ -945,7 +1142,7 @@
 
         final TelephonyConnection connection =
                 createConnectionFor(phone, null, true /* isOutgoing */, request.getAccountHandle(),
-                        request.getTelecomCallId(), request.getAddress(), request.getVideoState());
+                        request.getTelecomCallId(), request.isAdhocConferenceCall());
         if (connection == null) {
             return Connection.createFailedConnection(
                     mDisconnectCauseFactory.toTelecomDisconnectCause(
@@ -954,10 +1151,12 @@
                             phone.getPhoneId()));
         }
         connection.setAddress(handle, PhoneConstants.PRESENTATION_ALLOWED);
-        connection.setInitializing();
-        connection.setVideoState(request.getVideoState());
+        connection.setTelephonyConnectionInitializing();
+        connection.setTelephonyVideoState(request.getVideoState());
         connection.setRttTextStream(request.getRttTextStream());
         connection.setTtyEnabled(isTtyModeEnabled);
+        connection.setIsAdhocConferenceCall(request.isAdhocConferenceCall());
+        connection.setParticipants(request.getParticipants());
         return connection;
     }
 
@@ -989,11 +1188,26 @@
         Call call = phone.getRingingCall();
         if (!call.getState().isRinging()) {
             Log.i(this, "onCreateIncomingConnection, no ringing call");
-            return Connection.createFailedConnection(
+            Connection connection = Connection.createFailedConnection(
                     mDisconnectCauseFactory.toTelecomDisconnectCause(
                             android.telephony.DisconnectCause.INCOMING_MISSED,
                             "Found no ringing call",
                             phone.getPhoneId()));
+            Bundle extras = request.getExtras();
+
+            long time = extras.getLong(TelecomManager.EXTRA_CALL_CREATED_EPOCH_TIME_MILLIS);
+            if (time != 0) {
+                Log.i(this, "onCreateIncomingConnection. Set connect time info.");
+                connection.setConnectTimeMillis(time);
+            }
+
+            Uri address = extras.getParcelable(TelecomManager.EXTRA_INCOMING_CALL_ADDRESS);
+            if (address != null) {
+                Log.i(this, "onCreateIncomingConnection. Set caller id info.");
+                connection.setAddress(address, TelecomManager.PRESENTATION_ALLOWED);
+            }
+
+            return connection;
         }
 
         com.android.internal.telephony.Connection originalConnection =
@@ -1004,19 +1218,15 @@
             return Connection.createCanceledConnection();
         }
 
-        // We should rely on the originalConnection to get the video state.  The request coming
-        // from Telecom does not know the video state of the incoming call.
-        int videoState = originalConnection != null ? originalConnection.getVideoState() :
-                VideoProfile.STATE_AUDIO_ONLY;
-
         TelephonyConnection connection =
                 createConnectionFor(phone, originalConnection, false /* isOutgoing */,
                         request.getAccountHandle(), request.getTelecomCallId(),
-                        request.getAddress(), videoState);
+                        request.isAdhocConferenceCall());
         handleIncomingRtt(request, originalConnection);
         if (connection == null) {
             return Connection.createCanceledConnection();
         } else {
+            connection.setTtyEnabled(mDeviceState.isTtyModeEnabled(getApplicationContext()));
             return connection;
         }
     }
@@ -1069,6 +1279,84 @@
     }
 
     @Override
+    public void onCreateIncomingConnectionFailed(PhoneAccountHandle connectionManagerPhoneAccount,
+            ConnectionRequest request) {
+        Log.i(this, "onCreateIncomingConnectionFailed, request: " + request);
+        // If there is an incoming emergency CDMA Call (while the phone is in ECBM w/ No SIM),
+        // make sure the PhoneAccount lookup retrieves the default Emergency Phone.
+        PhoneAccountHandle accountHandle = request.getAccountHandle();
+        boolean isEmergency = false;
+        if (accountHandle != null && PhoneUtils.EMERGENCY_ACCOUNT_HANDLE_ID.equals(
+                accountHandle.getId())) {
+            Log.w(this, "onCreateIncomingConnectionFailed:Emergency call failed... ");
+            isEmergency = true;
+        }
+        Phone phone = getPhoneForAccount(accountHandle, isEmergency,
+                /* Note: when not an emergency, handle can be null for unknown callers */
+                request.getAddress() == null ? null : request.getAddress().getSchemeSpecificPart());
+        if (phone == null) {
+            Log.w(this, "onCreateIncomingConnectionFailed: can not find corresponding phone.");
+            return;
+        }
+
+        Call call = phone.getRingingCall();
+        if (!call.getState().isRinging()) {
+            Log.w(this, "onCreateIncomingConnectionFailed, no ringing call found for failed call");
+            return;
+        }
+
+        com.android.internal.telephony.Connection originalConnection =
+                call.getState() == Call.State.WAITING
+                        ? call.getLatestConnection() : call.getEarliestConnection();
+        TelephonyConnection knownConnection =
+                getConnectionForOriginalConnection(originalConnection);
+        if (knownConnection != null) {
+            Log.w(this, "onCreateIncomingConnectionFailed, original connection already registered."
+                    + " Hanging it up.");
+            knownConnection.onAbort();
+            return;
+        }
+
+        TelephonyConnection connection =
+                createConnectionFor(phone, originalConnection, false /* isOutgoing */,
+                        request.getAccountHandle(), request.getTelecomCallId());
+        if (connection == null) {
+            Log.w(this, "onCreateIncomingConnectionFailed, TelephonyConnection created as null, "
+                    + "ignoring.");
+            return;
+        }
+
+        // We have to do all of this work because in some cases, hanging up the call maps to
+        // different underlying signaling (CDMA), which is already encapsulated in
+        // TelephonyConnection.
+        connection.onReject();
+        connection.close();
+    }
+
+    /**
+     * Called by the {@link ConnectionService} when a newly created {@link Conference} has been
+     * added to the {@link ConnectionService} and sent to Telecom.  Here it is safe to send
+     * connection events.
+     *
+     * @param conference the {@link Conference}.
+     */
+    @Override
+    public void onCreateConferenceComplete(Conference conference) {
+        if (conference instanceof ImsConference) {
+            ImsConference imsConference = (ImsConference)conference;
+            TelephonyConnection telephonyConnection =
+                    (TelephonyConnection)(imsConference.getConferenceHost());
+            maybeSendInternationalCallEvent(telephonyConnection);
+        }
+    }
+
+    public void onCreateIncomingConferenceFailed(PhoneAccountHandle connectionManagerPhoneAccount,
+            ConnectionRequest request) {
+        Log.i(this, "onCreateIncomingConferenceFailed, request: " + request);
+        onCreateIncomingConnectionFailed(connectionManagerPhoneAccount, request);
+    }
+
+    @Override
     public void triggerConferenceRecalculate() {
         if (mTelephonyConferenceController.shouldRecalculate()) {
             mTelephonyConferenceController.recalculate();
@@ -1167,8 +1455,8 @@
         TelephonyConnection connection =
                 createConnectionFor(phone, unknownConnection,
                         !unknownConnection.isIncoming() /* isOutgoing */,
-                        request.getAccountHandle(), request.getTelecomCallId(),
-                        request.getAddress(), videoState);
+                        request.getAccountHandle(), request.getTelecomCallId()
+                );
 
         if (connection == null) {
             return Connection.createCanceledConnection();
@@ -1212,7 +1500,6 @@
     @Override
     public void onConnectionAdded(Connection connection) {
         if (connection instanceof Holdable && !isExternalConnection(connection)) {
-            connection.addConnectionListener(mConnectionListener);
             mHoldTracker.addHoldable(
                     connection.getPhoneAccountHandle(), (Holdable) connection);
         }
@@ -1343,9 +1630,7 @@
         } else {
             // We have run out of Phones to use. Disconnect the call and destroy the connection.
             Log.i(this, "retryOutgoingOriginalConnection, no more Phones to use. Disconnecting.");
-            c.setDisconnected(new DisconnectCause(DisconnectCause.ERROR));
-            c.clearOriginalConnection();
-            c.destroy();
+            closeOrDestroyConnection(c, new DisconnectCause(DisconnectCause.ERROR));
         }
     }
 
@@ -1365,11 +1650,54 @@
 
     private void placeOutgoingConnection(
             TelephonyConnection connection, Phone phone, int videoState, Bundle extras) {
-        String number = connection.getAddress().getSchemeSpecificPart();
+
+        String number = (connection.getAddress() != null)
+                ? connection.getAddress().getSchemeSpecificPart()
+                : "";
 
         com.android.internal.telephony.Connection originalConnection = null;
         try {
             if (phone != null) {
+                EmergencyNumber emergencyNumber =
+                        phone.getEmergencyNumberTracker().getEmergencyNumber(number);
+                if (emergencyNumber != null) {
+                    phone.notifyOutgoingEmergencyCall(emergencyNumber);
+                    if (!getAllConnections().isEmpty()) {
+                        if (!shouldHoldForEmergencyCall(phone)) {
+                            // If we do not support holding ongoing calls for an outgoing
+                            // emergency call, disconnect the ongoing calls.
+                            for (Connection c : getAllConnections()) {
+                                if (!c.equals(connection)
+                                        && c.getState() != Connection.STATE_DISCONNECTED
+                                        && c instanceof TelephonyConnection) {
+                                    ((TelephonyConnection) c).hangup(
+                                            android.telephony.DisconnectCause
+                                                    .OUTGOING_EMERGENCY_CALL_PLACED);
+                                }
+                            }
+                            for (Conference c : getAllConferences()) {
+                                if (c.getState() != Connection.STATE_DISCONNECTED
+                                        && c instanceof Conference) {
+                                    ((Conference) c).onDisconnect();
+                                }
+                            }
+                        } else if (!isVideoCallHoldAllowed(phone)) {
+                            // If we do not support holding ongoing video call for an outgoing
+                            // emergency call, disconnect the ongoing video call.
+                            for (Connection c : getAllConnections()) {
+                                if (!c.equals(connection)
+                                        && c.getState() == Connection.STATE_ACTIVE
+                                        && VideoProfile.isVideo(c.getVideoState())
+                                        && c instanceof TelephonyConnection) {
+                                    ((TelephonyConnection) c).hangup(
+                                            android.telephony.DisconnectCause
+                                                    .OUTGOING_EMERGENCY_CALL_PLACED);
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                }
                 originalConnection = phone.dial(number, new ImsPhone.ImsDialArgs.Builder()
                         .setVideoState(videoState)
                         .setIntentExtras(extras)
@@ -1378,34 +1706,7 @@
             }
         } catch (CallStateException e) {
             Log.e(this, e, "placeOutgoingConnection, phone.dial exception: " + e);
-            int cause = android.telephony.DisconnectCause.OUTGOING_FAILURE;
-            switch (e.getError()) {
-                case CallStateException.ERROR_OUT_OF_SERVICE:
-                    cause = android.telephony.DisconnectCause.OUT_OF_SERVICE;
-                    break;
-                case CallStateException.ERROR_POWER_OFF:
-                    cause = android.telephony.DisconnectCause.POWER_OFF;
-                    break;
-                case CallStateException.ERROR_ALREADY_DIALING:
-                    cause = android.telephony.DisconnectCause.ALREADY_DIALING;
-                    break;
-                case CallStateException.ERROR_CALL_RINGING:
-                    cause = android.telephony.DisconnectCause.CANT_CALL_WHILE_RINGING;
-                    break;
-                case CallStateException.ERROR_CALLING_DISABLED:
-                    cause = android.telephony.DisconnectCause.CALLING_DISABLED;
-                    break;
-                case CallStateException.ERROR_TOO_MANY_CALLS:
-                    cause = android.telephony.DisconnectCause.TOO_MANY_ONGOING_CALLS;
-                    break;
-                case CallStateException.ERROR_OTASP_PROVISIONING_IN_PROCESS:
-                    cause = android.telephony.DisconnectCause.OTASP_PROVISIONING_IN_PROCESS;
-                    break;
-            }
-            connection.setDisconnected(mDisconnectCauseFactory.toTelecomDisconnectCause(
-                    cause, e.getMessage(), phone.getPhoneId()));
-            connection.clearOriginalConnection();
-            connection.destroy();
+            handleCallStateException(e, connection, phone);
             return;
         }
 
@@ -1421,40 +1722,109 @@
                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
                         Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
                 if (SubscriptionManager.isValidSubscriptionId(subId)) {
-                    intent.putExtra(PhoneConstants.SUBSCRIPTION_KEY, subId);
+                    SubscriptionManager.putSubscriptionIdExtra(intent, subId);
                 }
                 startActivity(intent);
             }
             Log.d(this, "placeOutgoingConnection, phone.dial returned null");
-            connection.setDisconnected(mDisconnectCauseFactory.toTelecomDisconnectCause(
-                    telephonyDisconnectCause, "Connection is null", phone.getPhoneId()));
-            connection.clearOriginalConnection();
-            connection.destroy();
+            connection.setTelephonyConnectionDisconnected(
+                    mDisconnectCauseFactory.toTelecomDisconnectCause(telephonyDisconnectCause,
+                            "Connection is null", phone.getPhoneId()));
+            connection.close();
         } else {
             connection.setOriginalConnection(originalConnection);
         }
     }
 
+    private boolean isVideoCallHoldAllowed(Phone phone) {
+         CarrierConfigManager cfgManager = (CarrierConfigManager)
+                phone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
+        if (cfgManager == null) {
+            // For some reason CarrierConfigManager is unavailable, return default
+            Log.w(this, "isVideoCallHoldAllowed: couldn't get CarrierConfigManager");
+            return true;
+        }
+        return cfgManager.getConfigForSubId(phone.getSubId()).getBoolean(
+                CarrierConfigManager.KEY_ALLOW_HOLD_VIDEO_CALL_BOOL, true);
+    }
+
+    private boolean shouldHoldForEmergencyCall(Phone phone) {
+        CarrierConfigManager cfgManager = (CarrierConfigManager)
+                phone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
+        if (cfgManager == null) {
+            // For some reason CarrierConfigManager is unavailable, return default
+            Log.w(this, "shouldHoldForEmergencyCall: couldn't get CarrierConfigManager");
+            return true;
+        }
+        return cfgManager.getConfigForSubId(phone.getSubId()).getBoolean(
+                CarrierConfigManager.KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL, true);
+    }
+
+    private void handleCallStateException(CallStateException e, TelephonyConnection connection,
+            Phone phone) {
+        int cause = android.telephony.DisconnectCause.OUTGOING_FAILURE;
+        switch (e.getError()) {
+            case CallStateException.ERROR_OUT_OF_SERVICE:
+                cause = android.telephony.DisconnectCause.OUT_OF_SERVICE;
+                break;
+            case CallStateException.ERROR_POWER_OFF:
+                 cause = android.telephony.DisconnectCause.POWER_OFF;
+                 break;
+            case CallStateException.ERROR_ALREADY_DIALING:
+                 cause = android.telephony.DisconnectCause.ALREADY_DIALING;
+                 break;
+            case CallStateException.ERROR_CALL_RINGING:
+                 cause = android.telephony.DisconnectCause.CANT_CALL_WHILE_RINGING;
+                 break;
+            case CallStateException.ERROR_CALLING_DISABLED:
+                 cause = android.telephony.DisconnectCause.CALLING_DISABLED;
+                 break;
+            case CallStateException.ERROR_TOO_MANY_CALLS:
+                 cause = android.telephony.DisconnectCause.TOO_MANY_ONGOING_CALLS;
+                 break;
+            case CallStateException.ERROR_OTASP_PROVISIONING_IN_PROCESS:
+                 cause = android.telephony.DisconnectCause.OTASP_PROVISIONING_IN_PROCESS;
+                 break;
+        }
+        connection.setTelephonyConnectionDisconnected(
+                DisconnectCauseUtil.toTelecomDisconnectCause(cause, e.getMessage(),
+                        phone.getPhoneId()));
+        connection.close();
+    }
+
+    private TelephonyConnection createConnectionFor(
+            Phone phone,
+            com.android.internal.telephony.Connection originalConnection,
+            boolean isOutgoing,
+            PhoneAccountHandle phoneAccountHandle,
+            String telecomCallId) {
+            return createConnectionFor(phone, originalConnection, isOutgoing, phoneAccountHandle,
+                    telecomCallId, false);
+    }
+
     private TelephonyConnection createConnectionFor(
             Phone phone,
             com.android.internal.telephony.Connection originalConnection,
             boolean isOutgoing,
             PhoneAccountHandle phoneAccountHandle,
             String telecomCallId,
-            Uri address,
-            int videoState) {
+            boolean isAdhocConference) {
         TelephonyConnection returnConnection = null;
         int phoneType = phone.getPhoneType();
+        int callDirection = isOutgoing ? android.telecom.Call.Details.DIRECTION_OUTGOING
+                : android.telecom.Call.Details.DIRECTION_INCOMING;
         if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
-            returnConnection = new GsmConnection(originalConnection, telecomCallId, isOutgoing);
+            returnConnection = new GsmConnection(originalConnection, telecomCallId, callDirection);
         } else if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
             boolean allowsMute = allowsMute(phone);
             returnConnection = new CdmaConnection(originalConnection, mEmergencyTonePlayer,
-                    allowsMute, isOutgoing, telecomCallId);
+                    allowsMute, callDirection, telecomCallId);
         }
         if (returnConnection != null) {
-            // Listen to Telephony specific callbacks from the connection
-            returnConnection.addTelephonyConnectionListener(mTelephonyConnectionListener);
+            if (!isAdhocConference) {
+                // Listen to Telephony specific callbacks from the connection
+                returnConnection.addTelephonyConnectionListener(mTelephonyConnectionListener);
+            }
             returnConnection.setVideoPauseSupported(
                     TelecomAccountRegistry.getInstance(this).isVideoPauseSupported(
                             phoneAccountHandle));
@@ -1464,21 +1834,27 @@
             returnConnection.setShowPreciseFailedCause(
                     TelecomAccountRegistry.getInstance(this).isShowPreciseFailedCause(
                             phoneAccountHandle));
+            returnConnection.setTelephonyConnectionService(this);
         }
         return returnConnection;
     }
 
     private boolean isOriginalConnectionKnown(
             com.android.internal.telephony.Connection originalConnection) {
+        return (getConnectionForOriginalConnection(originalConnection) != null);
+    }
+
+    private TelephonyConnection getConnectionForOriginalConnection(
+            com.android.internal.telephony.Connection originalConnection) {
         for (Connection connection : getAllConnections()) {
             if (connection instanceof TelephonyConnection) {
                 TelephonyConnection telephonyConnection = (TelephonyConnection) connection;
                 if (telephonyConnection.getOriginalConnection() == originalConnection) {
-                    return true;
+                    return telephonyConnection;
                 }
             }
         }
-        return false;
+        return null;
     }
 
     /**
@@ -1511,13 +1887,22 @@
         return chosenPhone;
     }
 
-    private CompletableFuture<Boolean> delayDialForDdsSwitch(Phone phone) {
+    /**
+     * If needed, block until the the default data is is switched for outgoing emergency call, or
+     * timeout expires.
+     */
+    private boolean delayDialForDdsSwitch(Phone phone) {
         if (phone == null) {
-            return CompletableFuture.completedFuture(Boolean.TRUE);
+            return true;
         }
-        return possiblyOverrideDefaultDataForEmergencyCall(phone)
-                .completeOnTimeout(false, DEFAULT_DATA_SWITCH_TIMEOUT_MS,
-                        TimeUnit.MILLISECONDS);
+        try {
+            return possiblyOverrideDefaultDataForEmergencyCall(phone).get(
+                    DEFAULT_DATA_SWITCH_TIMEOUT_MS, TimeUnit.MILLISECONDS);
+        } catch (Exception e) {
+            Log.w(this, "delayDialForDdsSwitch - exception= "
+                    + e.getMessage());
+            return false;
+        }
     }
 
     /**
@@ -1721,6 +2106,8 @@
             // 4)
             // Report Slot's PIN/PUK lock status for sorting later.
             int simState = mSubscriptionManagerProxy.getSimStateForSlotIdx(i);
+            // Record SimState.
+            status.simState = simState;
             if (simState == TelephonyManager.SIM_STATE_PIN_REQUIRED ||
                     simState == TelephonyManager.SIM_STATE_PUK_REQUIRED) {
                 status.isLocked = true;
@@ -1766,6 +2153,15 @@
                         if (o1.hasDialedEmergencyNumber && !o2.hasDialedEmergencyNumber) {
                             return 1;
                         }
+                        // Sort by non-absent SIM.
+                        if (o1.simState == TelephonyManager.SIM_STATE_ABSENT
+                                && o2.simState != TelephonyManager.SIM_STATE_ABSENT) {
+                            return -1;
+                        }
+                        if (o2.simState == TelephonyManager.SIM_STATE_ABSENT
+                                && o1.simState != TelephonyManager.SIM_STATE_ABSENT) {
+                            return 1;
+                        }
                         // First start by seeing if either of the phone slots are locked. If they
                         // are, then sort by non-locked SIM first. If they are both locked, sort
                         // by capability instead.
@@ -1776,30 +2172,24 @@
                             return 1;
                         }
                         // sort by number of RadioAccessFamily Capabilities.
-                        int compare = Integer.bitCount(o1.capabilities) -
-                                Integer.bitCount(o2.capabilities);
+                        int compare = RadioAccessFamily.compare(o1.capabilities, o2.capabilities);
                         if (compare == 0) {
-                            // Sort by highest RAF Capability if the number is the same.
-                            compare = RadioAccessFamily.getHighestRafCapability(o1.capabilities) -
-                                    RadioAccessFamily.getHighestRafCapability(o2.capabilities);
-                            if (compare == 0) {
-                                if (firstOccupiedSlot != null) {
-                                    // If the RAF capability is the same, choose based on whether or
-                                    // not any of the slots are occupied with a SIM card (if both
-                                    // are, always choose the first).
-                                    if (o1.slotId == firstOccupiedSlot.getPhoneId()) {
-                                        return 1;
-                                    } else if (o2.slotId == firstOccupiedSlot.getPhoneId()) {
-                                        return -1;
-                                    }
-                                } else {
-                                    // No slots have SIMs detected in them, so weight the default
-                                    // Phone Id greater than the others.
-                                    if (o1.slotId == defaultPhoneId) {
-                                        return 1;
-                                    } else if (o2.slotId == defaultPhoneId) {
-                                        return -1;
-                                    }
+                            if (firstOccupiedSlot != null) {
+                                // If the RAF capability is the same, choose based on whether or
+                                // not any of the slots are occupied with a SIM card (if both
+                                // are, always choose the first).
+                                if (o1.slotId == firstOccupiedSlot.getPhoneId()) {
+                                    return 1;
+                                } else if (o2.slotId == firstOccupiedSlot.getPhoneId()) {
+                                    return -1;
+                                }
+                            } else {
+                                // No slots have SIMs detected in them, so weight the default
+                                // Phone Id greater than the others.
+                                if (o1.slotId == defaultPhoneId) {
+                                    return 1;
+                                } else if (o2.slotId == defaultPhoneId) {
+                                    return -1;
                                 }
                             }
                         }
@@ -1843,13 +2233,8 @@
         return true;
     }
 
-    @Override
-    public void removeConnection(Connection connection) {
-        super.removeConnection(connection);
-        if (connection instanceof TelephonyConnection) {
-            TelephonyConnection telephonyConnection = (TelephonyConnection) connection;
-            telephonyConnection.removeTelephonyConnectionListener(mTelephonyConnectionListener);
-        }
+    TelephonyConnection.TelephonyConnectionListener getTelephonyConnectionListener() {
+        return mTelephonyConnectionListener;
     }
 
     /**
@@ -1909,7 +2294,8 @@
 
                     // If the CDMA conference has not been merged, add-call will not work, so fail
                     // this request to add a call.
-                    if (cdmaConf.can(Connection.CAPABILITY_MERGE_CONFERENCE)) {
+                    if ((cdmaConf.getConnectionCapabilities()
+                            & Connection.CAPABILITY_MERGE_CONFERENCE) != 0) {
                         return Connection.createFailedConnection(new DisconnectCause(
                                     DisconnectCause.RESTRICTED,
                                     null,
@@ -1943,7 +2329,7 @@
                 // are potentially placing an international call on WFC.
                 Log.i(this, "placeOutgoingConnection - sending international call on WFC " +
                         "confirmation event");
-                telephonyConnection.sendConnectionEvent(
+                telephonyConnection.sendTelephonyConnectionEvent(
                         TelephonyManager.EVENT_NOTIFY_INTERNATIONAL_CALL_ON_WFC, null);
             }
         }
@@ -1959,4 +2345,26 @@
             }
         }
     }
+
+    private void closeOrDestroyConnection(Connection connection, DisconnectCause cause) {
+        if (connection instanceof TelephonyConnection) {
+            TelephonyConnection telephonyConnection = (TelephonyConnection) connection;
+            telephonyConnection.setTelephonyConnectionDisconnected(cause);
+            // Close destroys the connection and notifies TelephonyConnection listeners.
+            telephonyConnection.close();
+        } else {
+            connection.setDisconnected(cause);
+            connection.destroy();
+        }
+    }
+
+    /**
+     * Adds a {@link Conference} to the telephony ConnectionService and registers a listener for
+     * changes to the conference.  Should be used instead of {@link #addConference(Conference)}.
+     * @param conference The conference.
+     */
+    public void addTelephonyConference(@NonNull TelephonyConferenceBase conference) {
+        addConference(conference);
+        conference.addTelephonyConferenceListener(mTelephonyConferenceListener);
+    }
 }
diff --git a/src/com/android/services/telephony/TelephonyConnectionServiceProxy.java b/src/com/android/services/telephony/TelephonyConnectionServiceProxy.java
index 1ced34a..6c29bd2 100644
--- a/src/com/android/services/telephony/TelephonyConnectionServiceProxy.java
+++ b/src/com/android/services/telephony/TelephonyConnectionServiceProxy.java
@@ -30,7 +30,6 @@
     Collection<Connection> getAllConnections();
     void addConference(TelephonyConference mTelephonyConference);
     void addConference(ImsConference mImsConference);
-    void removeConnection(Connection connection);
     void addExistingConnection(PhoneAccountHandle phoneAccountHandle,
             Connection connection);
     void addExistingConnection(PhoneAccountHandle phoneAccountHandle,
diff --git a/src/com/android/services/telephony/rcs/RcsFeatureController.java b/src/com/android/services/telephony/rcs/RcsFeatureController.java
new file mode 100644
index 0000000..5094c57
--- /dev/null
+++ b/src/com/android/services/telephony/rcs/RcsFeatureController.java
@@ -0,0 +1,443 @@
+/*
+ * 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.rcs;
+
+import android.annotation.AnyThread;
+import android.content.Context;
+import android.net.Uri;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.ImsRcsManager;
+import android.telephony.ims.ImsReasonInfo;
+import android.telephony.ims.RegistrationManager;
+import android.telephony.ims.aidl.IImsCapabilityCallback;
+import android.telephony.ims.aidl.IImsRegistrationCallback;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+import android.util.ArrayMap;
+import android.util.Log;
+
+import com.android.ims.FeatureConnector;
+import com.android.ims.IFeatureConnector;
+import com.android.ims.RcsFeatureManager;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.imsphone.ImsRegistrationCallbackHelper;
+import com.android.internal.util.IndentingPrintWriter;
+
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.function.Consumer;
+
+/**
+ * Contains the RCS feature implementations that are associated with this slot's RcsFeature.
+ */
+@AnyThread
+public class RcsFeatureController {
+    private static final String LOG_TAG = "RcsFeatureController";
+
+    /**
+     * Interface used by RCS features that need to listen for when the associated service has been
+     * connected.
+     */
+    public interface Feature {
+        /**
+         * The RcsFeature has been connected to the framework and is ready.
+         */
+        void onRcsConnected(RcsFeatureManager manager);
+
+        /**
+         * The framework has lost the binding to the RcsFeature or it is in the process of changing.
+         */
+        void onRcsDisconnected();
+
+        /**
+         * The subscription associated with the slot this controller is bound to has changed or its
+         * carrier configuration has changed.
+         */
+        void onAssociatedSubscriptionUpdated(int subId);
+
+        /**
+         * Called when the feature should be destroyed.
+         */
+        void onDestroy();
+    }
+
+    /**
+     * Used to inject FeatureConnector instances for testing.
+     */
+    @VisibleForTesting
+    public interface FeatureConnectorFactory<T extends IFeatureConnector> {
+        /**
+         * @return a {@link FeatureConnector} associated for the given {@link IFeatureConnector}
+         * and slot id.
+         */
+        FeatureConnector<T> create(Context context, int slotId,
+                FeatureConnector.Listener<T> listener, Executor executor, String tag);
+    }
+
+    /**
+     * Used to inject ImsRegistrationCallbackHelper instances for testing.
+     */
+    @VisibleForTesting
+    public interface RegistrationHelperFactory {
+        /**
+         * @return an {@link ImsRegistrationCallbackHelper}, which helps manage IMS registration
+         * state.
+         */
+        ImsRegistrationCallbackHelper create(
+                ImsRegistrationCallbackHelper.ImsRegistrationUpdate cb, Executor executor);
+    }
+
+    private FeatureConnectorFactory<RcsFeatureManager> mFeatureFactory = FeatureConnector::new;
+    private RegistrationHelperFactory mRegistrationHelperFactory =
+            ImsRegistrationCallbackHelper::new;
+
+    private final Map<Class<?>, Feature> mFeatures = new ArrayMap<>();
+    private final Context mContext;
+    private final ImsRegistrationCallbackHelper mImsRcsRegistrationHelper;
+    private final int mSlotId;
+    private final Object mLock = new Object();
+    private FeatureConnector<RcsFeatureManager> mFeatureConnector;
+    private RcsFeatureManager mFeatureManager;
+
+    private FeatureConnector.Listener<RcsFeatureManager> mFeatureConnectorListener =
+            new FeatureConnector.Listener<RcsFeatureManager>() {
+                @Override
+                public RcsFeatureManager getFeatureManager() {
+                    return new RcsFeatureManager(mContext, mSlotId);
+                }
+
+                @Override
+                public void connectionReady(RcsFeatureManager manager)
+                        throws com.android.ims.ImsException {
+                    if (manager == null) {
+                        logw("connectionReady returned null RcsFeatureManager");
+                        return;
+                    }
+                    try {
+                        // May throw ImsException if for some reason the connection to the
+                        // ImsService is gone.
+                        setupConnectionToService(manager);
+                    } catch (ImsException e) {
+                        // Use deprecated Exception for compatibility.
+                        throw new com.android.ims.ImsException(e.getMessage(),
+                                ImsReasonInfo.CODE_LOCAL_IMS_SERVICE_DOWN);
+                    }
+                    updateConnectionStatus(manager);
+                }
+
+                @Override
+                public void connectionUnavailable() {
+                    // Call before disabling connection to manager.
+                    removeConnectionToService();
+                    updateConnectionStatus(null /*manager*/);
+                }
+            };
+
+    private ImsRegistrationCallbackHelper.ImsRegistrationUpdate mRcsRegistrationUpdate = new
+            ImsRegistrationCallbackHelper.ImsRegistrationUpdate() {
+                @Override
+                public void handleImsRegistered(int imsRadioTech) {
+                }
+
+                @Override
+                public void handleImsRegistering(int imsRadioTech) {
+                }
+
+                @Override
+                public void handleImsUnregistered(ImsReasonInfo imsReasonInfo) {
+                }
+
+                @Override
+                public void handleImsSubscriberAssociatedUriChanged(Uri[] uris) {
+                }
+            };
+
+    public RcsFeatureController(Context context, int slotId) {
+        mContext = context;
+        mSlotId = slotId;
+        mImsRcsRegistrationHelper = mRegistrationHelperFactory.create(mRcsRegistrationUpdate,
+                mContext.getMainExecutor());
+    }
+
+    /**
+     * Should only be used to inject registration helpers for testing.
+     */
+    @VisibleForTesting
+    public RcsFeatureController(Context context, int slotId, RegistrationHelperFactory f) {
+        mContext = context;
+        mSlotId = slotId;
+        mRegistrationHelperFactory = f;
+        mImsRcsRegistrationHelper = mRegistrationHelperFactory.create(mRcsRegistrationUpdate,
+                mContext.getMainExecutor());
+    }
+
+    /**
+     * This method should be called after constructing an instance of this class to start the
+     * connection process to the associated RcsFeature.
+     */
+    public void connect() {
+        synchronized (mLock) {
+            if (mFeatureConnector != null) return;
+            mFeatureConnector = mFeatureFactory.create(mContext, mSlotId, mFeatureConnectorListener,
+                    mContext.getMainExecutor(), LOG_TAG);
+            mFeatureConnector.connect();
+        }
+    }
+
+    /**
+     * Adds a {@link Feature} to be tracked by this FeatureController.
+     */
+    public <T extends Feature> void addFeature(T connector, Class<T> clazz) {
+        synchronized (mLock) {
+            mFeatures.put(clazz, connector);
+        }
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager != null) {
+            connector.onRcsConnected(manager);
+        } else {
+            connector.onRcsDisconnected();
+        }
+    }
+
+    /**
+     * @return The RCS feature implementation tracked by this controller.
+     */
+    @SuppressWarnings("unchecked")
+    public <T> T getFeature(Class<T> clazz) {
+        synchronized (mLock) {
+            return (T) mFeatures.get(clazz);
+        }
+    }
+
+    /**
+     * Removes the feature associated with this class.
+     */
+    public <T> void removeFeature(Class<T> clazz) {
+        synchronized (mLock) {
+            RcsFeatureController.Feature feature = mFeatures.remove(clazz);
+            feature.onDestroy();
+        }
+    }
+
+    /**
+     * @return true if this controller has features it is actively tracking.
+     */
+    public boolean hasActiveFeatures() {
+        synchronized (mLock) {
+            return mFeatures.size() > 0;
+        }
+    }
+
+    /**
+     * Update the subscription associated with this controller.
+     */
+    public void updateAssociatedSubscription(int newSubId) {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager != null) {
+            try {
+                manager.updateCapabilities();
+            } catch (ImsException e) {
+                Log.w(LOG_TAG, "associatedSubscriptionChanged failed:" + e);
+            }
+        }
+        synchronized (mLock) {
+            for (Feature c : mFeatures.values()) {
+                c.onAssociatedSubscriptionUpdated(newSubId);
+            }
+        }
+    }
+
+    /**
+     * Call before this controller is destroyed to tear down associated features.
+     */
+    public void destroy() {
+        synchronized (mLock) {
+            Log.i(LOG_TAG, "destroy: slotId=" + mSlotId);
+            if (mFeatureConnector != null) {
+                mFeatureConnector.disconnect();
+            }
+            for (Feature c : mFeatures.values()) {
+                c.onRcsDisconnected();
+                c.onDestroy();
+            }
+            mFeatures.clear();
+        }
+    }
+
+    @VisibleForTesting
+    public void setFeatureConnectorFactory(FeatureConnectorFactory factory) {
+        mFeatureFactory = factory;
+    }
+
+    /**
+     * Add a {@link RegistrationManager.RegistrationCallback} callback that gets called when IMS
+     * registration has changed for a specific subscription.
+     */
+    public void registerImsRegistrationCallback(int subId, IImsRegistrationCallback callback)
+            throws ImsException {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager == null) {
+            throw new ImsException("Service is not available",
+                    ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
+        }
+        manager.registerImsRegistrationCallback(subId, callback);
+    }
+
+    /**
+     * Removes a previously registered {@link RegistrationManager.RegistrationCallback} callback
+     * that is associated with a specific subscription.
+     */
+    public void unregisterImsRegistrationCallback(int subId, IImsRegistrationCallback callback) {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager != null) {
+            manager.unregisterImsRegistrationCallback(subId, callback);
+        }
+    }
+
+    /**
+     * Register an {@link ImsRcsManager.AvailabilityCallback} with the associated RcsFeature,
+     * which will provide availability updates.
+     */
+    public void registerRcsAvailabilityCallback(int subId, IImsCapabilityCallback callback)
+            throws ImsException {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager == null) {
+            throw new ImsException("Service is not available",
+                    ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
+        }
+        manager.registerRcsAvailabilityCallback(subId, callback);
+    }
+
+    /**
+     * Remove a registered {@link ImsRcsManager.AvailabilityCallback} from the RcsFeature.
+     */
+    public void unregisterRcsAvailabilityCallback(int subId, IImsCapabilityCallback callback) {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager != null) {
+            manager.unregisterRcsAvailabilityCallback(subId, callback);
+        }
+    }
+
+    /**
+     * Query for the specific capability.
+     */
+    public boolean isCapable(int capability, int radioTech)
+            throws android.telephony.ims.ImsException {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager == null) {
+            throw new ImsException("Service is not available",
+                    ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
+        }
+        return manager.isCapable(capability, radioTech);
+    }
+
+    /**
+     * Query the availability of an IMS RCS capability.
+     */
+    public boolean isAvailable(int capability) throws android.telephony.ims.ImsException {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager == null) {
+            throw new ImsException("Service is not available",
+                    ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
+        }
+        return manager.isAvailable(capability);
+    }
+
+    /**
+     * Get the IMS RCS registration technology for this Phone.
+     */
+    public void getRegistrationTech(Consumer<Integer> callback) {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager != null) {
+            manager.getImsRegistrationTech(callback);
+        }
+        callback.accept(ImsRegistrationImplBase.REGISTRATION_TECH_NONE);
+    }
+
+    /**
+     * Retrieve the current RCS registration state.
+     */
+    public void getRegistrationState(Consumer<Integer> callback) {
+        callback.accept(mImsRcsRegistrationHelper.getImsRegistrationState());
+    }
+
+    private void setupConnectionToService(RcsFeatureManager manager) throws ImsException {
+        // Open persistent listener connection, sends RcsFeature#onFeatureReady.
+        manager.openConnection();
+        manager.updateCapabilities();
+        manager.registerImsRegistrationCallback(mImsRcsRegistrationHelper.getCallbackBinder());
+    }
+
+    private void removeConnectionToService() {
+        RcsFeatureManager manager = getFeatureManager();
+        if (manager != null) {
+            manager.unregisterImsRegistrationCallback(
+                    mImsRcsRegistrationHelper.getCallbackBinder());
+            // Remove persistent listener connection.
+            manager.releaseConnection();
+        }
+        mImsRcsRegistrationHelper.reset();
+    }
+
+    private void updateConnectionStatus(RcsFeatureManager manager) {
+        synchronized (mLock) {
+            mFeatureManager = manager;
+            if (mFeatureManager != null) {
+                for (Feature c : mFeatures.values()) {
+                    c.onRcsConnected(manager);
+                }
+            } else {
+                for (Feature c : mFeatures.values()) {
+                    c.onRcsDisconnected();
+                }
+            }
+        }
+    }
+
+    private RcsFeatureManager getFeatureManager() {
+        synchronized (mLock) {
+            return mFeatureManager;
+        }
+    }
+
+    /**
+     * Dump this controller's instance information for usage in dumpsys.
+     */
+    public void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) {
+        IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, "  ");
+        pw.print("slotId=");
+        pw.println(mSlotId);
+        pw.print("RegistrationState=");
+        pw.println(mImsRcsRegistrationHelper.getImsRegistrationState());
+        pw.print("connected=");
+        synchronized (mLock) {
+            pw.println(mFeatureManager != null);
+        }
+    }
+
+    private void logw(String log) {
+        Log.w(LOG_TAG, getLogPrefix().append(log).toString());
+    }
+
+    private StringBuilder getLogPrefix() {
+        StringBuilder sb = new StringBuilder("[");
+        sb.append(mSlotId);
+        sb.append("] ");
+        return sb;
+    }
+}
diff --git a/src/com/android/services/telephony/rcs/TelephonyRcsService.java b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
new file mode 100644
index 0000000..c85e9a9
--- /dev/null
+++ b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
@@ -0,0 +1,284 @@
+/*
+ * 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.rcs;
+
+import android.annotation.AnyThread;
+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.Looper;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+import android.util.Log;
+import android.util.SparseArray;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.PhoneConfigurationManager;
+import com.android.internal.util.IndentingPrintWriter;
+
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
+
+/**
+ * Singleton service setup to manage RCS related services that the platform provides such as User
+ * Capability Exchange.
+ */
+@AnyThread
+public class TelephonyRcsService {
+
+    private static final String LOG_TAG = "TelephonyRcsService";
+
+    /**
+     * Used to inject RcsFeatureController and UserCapabilityExchangeImpl instances for testing.
+     */
+    @VisibleForTesting
+    public interface FeatureFactory {
+        /**
+         * @return an {@link RcsFeatureController} assoicated with the slot specified.
+         */
+        RcsFeatureController createController(Context context, int slotId);
+
+        /**
+         * @return an instance of {@link UserCapabilityExchangeImpl} associated with the slot
+         * specified.
+         */
+        UserCapabilityExchangeImpl createUserCapabilityExchange(Context context, int slotId,
+                int subId);
+    }
+
+    private FeatureFactory mFeatureFactory = new FeatureFactory() {
+        @Override
+        public RcsFeatureController createController(Context context, int slotId) {
+            return new RcsFeatureController(context, slotId);
+        }
+
+        @Override
+        public UserCapabilityExchangeImpl createUserCapabilityExchange(Context context, int slotId,
+                int subId) {
+            return new UserCapabilityExchangeImpl(context, slotId, subId);
+        }
+    };
+
+    // Notifies this service that there has been a change in available slots.
+    private static final int HANDLER_MSIM_CONFIGURATION_CHANGE = 1;
+
+    private final Context mContext;
+    private final Object mLock = new Object();
+    private int mNumSlots;
+
+    // Maps slot ID -> RcsFeatureController.
+    private SparseArray<RcsFeatureController> mFeatureControllers;
+
+    private BroadcastReceiver mCarrierConfigChangedReceiver = 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);
+                updateFeatureControllerSubscription(slotId, subId);
+            }
+        }
+    };
+
+    private Handler mHandler = new Handler(Looper.getMainLooper(), (msg) -> {
+        switch (msg.what) {
+            case HANDLER_MSIM_CONFIGURATION_CHANGE: {
+                AsyncResult result = (AsyncResult) msg.obj;
+                Integer numSlots = (Integer) result.result;
+                if (numSlots == null) {
+                    Log.w(LOG_TAG, "msim config change with null num slots.");
+                    break;
+                }
+                updateFeatureControllerSize(numSlots);
+                break;
+            }
+            default:
+                return false;
+        }
+        return true;
+    });
+
+    public TelephonyRcsService(Context context, int numSlots) {
+        mContext = context;
+        mNumSlots = numSlots;
+        mFeatureControllers = new SparseArray<>(numSlots);
+    }
+
+    /**
+     * @return the {@link RcsFeatureController} associated with the given slot.
+     */
+    public RcsFeatureController getFeatureController(int slotId) {
+        synchronized (mLock) {
+            return mFeatureControllers.get(slotId);
+        }
+    }
+
+    /**
+     * Called after instance creation to initialize internal structures as well as register for
+     * system callbacks.
+     */
+    public void initialize() {
+        updateFeatureControllerSize(mNumSlots);
+
+        PhoneConfigurationManager.registerForMultiSimConfigChange(mHandler,
+                HANDLER_MSIM_CONFIGURATION_CHANGE, null);
+        mContext.registerReceiver(mCarrierConfigChangedReceiver, new IntentFilter(
+                CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED));
+    }
+
+    @VisibleForTesting
+    public void setFeatureFactory(FeatureFactory f) {
+        mFeatureFactory = f;
+    }
+
+    /**
+     * 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) {
+        synchronized (mLock) {
+            int oldNumSlots = mFeatureControllers.size();
+            if (oldNumSlots == newNumSlots) {
+                return;
+            }
+            Log.i(LOG_TAG, "updateFeatureControllers: oldSlots=" + oldNumSlots + ", newNumSlots="
+                    + newNumSlots);
+            mNumSlots = newNumSlots;
+            if (oldNumSlots < newNumSlots) {
+                for (int i = oldNumSlots; i < newNumSlots; i++) {
+                    RcsFeatureController c = constructFeatureController(i);
+                    // Do not add feature controllers for inactive subscriptions
+                    if (c.hasActiveFeatures()) {
+                        mFeatureControllers.put(i, c);
+                    }
+                }
+            } else {
+                for (int i = (oldNumSlots - 1); i > (newNumSlots - 1); i--) {
+                    RcsFeatureController c = mFeatureControllers.get(i);
+                    if (c != null) {
+                        mFeatureControllers.remove(i);
+                        c.destroy();
+                    }
+                }
+            }
+        }
+    }
+
+    private void updateFeatureControllerSubscription(int slotId, int newSubId) {
+        synchronized (mLock) {
+            RcsFeatureController f = mFeatureControllers.get(slotId);
+            Log.i(LOG_TAG, "updateFeatureControllerSubscription: slotId=" + slotId + " newSubId="
+                    + newSubId + ", existing feature=" + (f != null));
+            if (SubscriptionManager.isValidSubscriptionId(newSubId)) {
+                if (f == null) {
+                    // A controller doesn't exist for this slot yet.
+                    f = mFeatureFactory.createController(mContext, slotId);
+                    updateSupportedFeatures(f, slotId, newSubId);
+                    if (f.hasActiveFeatures()) mFeatureControllers.put(slotId, f);
+                } else {
+                    updateSupportedFeatures(f, slotId, newSubId);
+                    // Do not keep an empty container around.
+                    if (!f.hasActiveFeatures()) {
+                        f.destroy();
+                        mFeatureControllers.remove(slotId);
+                    }
+                }
+            }
+            if (f != null) f.updateAssociatedSubscription(newSubId);
+        }
+    }
+
+    private RcsFeatureController constructFeatureController(int slotId) {
+        RcsFeatureController c = mFeatureFactory.createController(mContext, slotId);
+        int subId = getSubscriptionFromSlot(slotId);
+        updateSupportedFeatures(c, slotId, subId);
+        return c;
+    }
+
+    private void updateSupportedFeatures(RcsFeatureController c, int slotId, int subId) {
+        if (doesSubscriptionSupportPresence(subId)) {
+            if (c.getFeature(UserCapabilityExchangeImpl.class) == null) {
+                c.addFeature(mFeatureFactory.createUserCapabilityExchange(mContext, slotId, subId),
+                        UserCapabilityExchangeImpl.class);
+            }
+        } else {
+            if (c.getFeature(UserCapabilityExchangeImpl.class) != null) {
+                c.removeFeature(UserCapabilityExchangeImpl.class);
+            }
+        }
+        // Only start the connection procedure if we have active features.
+        if (c.hasActiveFeatures()) c.connect();
+    }
+
+    private boolean doesSubscriptionSupportPresence(int subId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return false;
+        CarrierConfigManager carrierConfigManager =
+                mContext.getSystemService(CarrierConfigManager.class);
+        if (carrierConfigManager == null) return false;
+        boolean supportsUce = carrierConfigManager.getConfigForSubId(subId).getBoolean(
+                CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL);
+        supportsUce |= carrierConfigManager.getConfigForSubId(subId).getBoolean(
+                CarrierConfigManager.KEY_USE_RCS_SIP_OPTIONS_BOOL);
+        return supportsUce;
+    }
+
+
+    private int getSubscriptionFromSlot(int slotId) {
+        SubscriptionManager manager = mContext.getSystemService(SubscriptionManager.class);
+        if (manager == null) {
+            Log.w(LOG_TAG, "Couldn't find SubscriptionManager for slotId=" + slotId);
+            return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        }
+        int[] subIds = manager.getSubscriptionIds(slotId);
+        if (subIds != null && subIds.length > 0) {
+            return subIds[0];
+        }
+        return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+    }
+
+    /**
+     * Dump this instance into a readable format for dumpsys usage.
+     */
+    public void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) {
+        IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, "  ");
+        pw.println("RcsFeatureControllers:");
+        pw.increaseIndent();
+        synchronized (mLock) {
+            for (int i = 0; i < mNumSlots; i++) {
+                RcsFeatureController f = mFeatureControllers.get(i);
+                pw.increaseIndent();
+                f.dump(fd, printWriter, args);
+                pw.decreaseIndent();
+            }
+        }
+        pw.decreaseIndent();
+    }
+}
diff --git a/src/com/android/services/telephony/rcs/UserCapabilityExchangeImpl.java b/src/com/android/services/telephony/rcs/UserCapabilityExchangeImpl.java
new file mode 100644
index 0000000..ac8f9bf
--- /dev/null
+++ b/src/com/android/services/telephony/rcs/UserCapabilityExchangeImpl.java
@@ -0,0 +1,293 @@
+/*
+ * 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.rcs;
+
+import android.content.Context;
+import android.net.Uri;
+import android.os.RemoteException;
+import android.telephony.ims.RcsContactUceCapability;
+import android.telephony.ims.RcsUceAdapter;
+import android.telephony.ims.aidl.IRcsUceControllerCallback;
+import android.util.Log;
+
+import com.android.ims.RcsFeatureManager;
+import com.android.ims.ResultCode;
+import com.android.phone.R;
+import com.android.service.ims.presence.ContactCapabilityResponse;
+import com.android.service.ims.presence.PresenceBase;
+import com.android.service.ims.presence.PresencePublication;
+import com.android.service.ims.presence.PresencePublisher;
+import com.android.service.ims.presence.PresenceSubscriber;
+import com.android.service.ims.presence.SubscribePublisher;
+
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
+
+/**
+ * Implements User Capability Exchange using Presence.
+ */
+public class UserCapabilityExchangeImpl implements RcsFeatureController.Feature, SubscribePublisher,
+        PresencePublisher {
+
+    private static final String LOG_TAG = "RcsUceImpl";
+
+    private int mSlotId;
+    private int mSubId;
+
+    private final PresencePublication mPresencePublication;
+    private final PresenceSubscriber mPresenceSubscriber;
+
+    private final ConcurrentHashMap<Integer, IRcsUceControllerCallback> mPendingCapabilityRequests =
+            new ConcurrentHashMap<>();
+
+    UserCapabilityExchangeImpl(Context context, int slotId, int subId) {
+        mSlotId = slotId;
+        mSubId = subId;
+        logi("created");
+
+        String[] volteError = context.getResources().getStringArray(
+                R.array.config_volte_provision_error_on_publish_response);
+        String[] rcsError = context.getResources().getStringArray(
+                R.array.config_rcs_provision_error_on_publish_response);
+
+        // Initialize PresencePublication
+        mPresencePublication = new PresencePublication(null /*PresencePublisher*/, context,
+                volteError, rcsError);
+        // Initialize PresenceSubscriber
+        mPresenceSubscriber = new PresenceSubscriber(null /*SubscribePublisher*/, context,
+                volteError, rcsError);
+
+        onAssociatedSubscriptionUpdated(mSubId);
+    }
+
+
+    // Runs on main thread.
+    @Override
+    public void onRcsConnected(RcsFeatureManager rcsFeatureManager) {
+        logi("onRcsConnected");
+        mPresencePublication.updatePresencePublisher(this);
+        mPresenceSubscriber.updatePresenceSubscriber(this);
+    }
+
+    // Runs on main thread.
+    @Override
+    public void onRcsDisconnected() {
+        logi("onRcsDisconnected");
+        mPresencePublication.removePresencePublisher();
+        mPresenceSubscriber.removePresenceSubscriber();
+    }
+
+    // Runs on main thread.
+    @Override
+    public void onAssociatedSubscriptionUpdated(int subId) {
+        mPresencePublication.handleAssociatedSubscriptionChanged(subId);
+        mPresenceSubscriber.handleAssociatedSubscriptionChanged(subId);
+    }
+
+    /**
+     * Should be called before destroying this instance.
+     * This instance is not usable after this method is called.
+     */
+    // Called on main thread.
+    public void onDestroy() {
+        onRcsDisconnected();
+    }
+
+    /**
+     * @return the UCE Publish state.
+     */
+    // May happen on a Binder thread, PresencePublication locks to get result.
+    public int getUcePublishState() {
+        int publishState = mPresencePublication.getPublishState();
+        return toUcePublishState(publishState);
+    }
+
+    /**
+     * Perform a capabilities request and call {@link IRcsUceControllerCallback} with the result.
+     */
+    // May happen on a Binder thread, PresenceSubscriber locks when requesting Capabilities.
+    public void requestCapabilities(List<Uri> contactNumbers, IRcsUceControllerCallback c) {
+        List<String> numbers = contactNumbers.stream()
+                .map(UserCapabilityExchangeImpl::getNumberFromUri).collect(Collectors.toList());
+        int taskId = mPresenceSubscriber.requestCapability(numbers,
+                new ContactCapabilityResponse() {
+                    @Override
+                    public void onSuccess(int reqId) {
+                        logi("onSuccess called for reqId:" + reqId);
+                    }
+
+                    @Override
+                    public void onError(int reqId, int resultCode) {
+                        IRcsUceControllerCallback c = mPendingCapabilityRequests.remove(reqId);
+                        try {
+                            if (c != null) {
+                                c.onError(toUceError(resultCode));
+                            } else {
+                                logw("onError called for unknown reqId:" + reqId);
+                            }
+                        } catch (RemoteException e) {
+                            logi("Calling back to dead service");
+                        }
+                    }
+
+                    @Override
+                    public void onFinish(int reqId) {
+                        logi("onFinish called for reqId:" + reqId);
+                    }
+
+                    @Override
+                    public void onTimeout(int reqId) {
+                        IRcsUceControllerCallback c = mPendingCapabilityRequests.remove(reqId);
+                        try {
+                            if (c != null) {
+                                c.onError(RcsUceAdapter.ERROR_REQUEST_TIMEOUT);
+                            } else {
+                                logw("onTimeout called for unknown reqId:" + reqId);
+                            }
+                        } catch (RemoteException e) {
+                            logi("Calling back to dead service");
+                        }
+                    }
+
+                    @Override
+                    public void onCapabilitiesUpdated(int reqId,
+                            List<RcsContactUceCapability> contactCapabilities,
+                            boolean updateLastTimestamp) {
+                        IRcsUceControllerCallback c = mPendingCapabilityRequests.remove(reqId);
+                        try {
+                            if (c != null) {
+                                c.onCapabilitiesReceived(contactCapabilities);
+                            } else {
+                                logw("onCapabilitiesUpdated, unknown reqId:" + reqId);
+                            }
+                        } catch (RemoteException e) {
+                            logw("onCapabilitiesUpdated on dead service");
+                        }
+                    }
+                });
+        if (taskId < 0) {
+            try {
+                c.onError(toUceError(taskId));
+                return;
+            } catch (RemoteException e) {
+                logi("Calling back to dead service");
+            }
+        }
+        mPendingCapabilityRequests.put(taskId, c);
+    }
+
+    @Override
+    public int getPublisherState() {
+        return 0;
+    }
+
+    @Override
+    public int requestPublication(RcsContactUceCapability capabilities, String contactUri,
+            int taskId) {
+        return 0;
+    }
+
+    @Override
+    public int requestCapability(String[] formatedContacts, int taskId) {
+        return 0;
+    }
+
+    @Override
+    public int requestAvailability(String formattedContact, int taskId) {
+        return 0;
+    }
+
+    @Override
+    public int getStackStatusForCapabilityRequest() {
+        return 0;
+    }
+
+    @Override
+    public void updatePublisherState(int publishState) {
+
+    }
+
+    private static String getNumberFromUri(Uri uri) {
+        String number = uri.getSchemeSpecificPart();
+        String[] numberParts = number.split("[@;:]");
+
+        if (numberParts.length == 0) {
+            return null;
+        }
+        return numberParts[0];
+    }
+
+    private static int toUcePublishState(int publishState) {
+        switch (publishState) {
+            case PresenceBase.PUBLISH_STATE_200_OK:
+                return RcsUceAdapter.PUBLISH_STATE_OK;
+            case PresenceBase.PUBLISH_STATE_NOT_PUBLISHED:
+                return RcsUceAdapter.PUBLISH_STATE_NOT_PUBLISHED;
+            case PresenceBase.PUBLISH_STATE_VOLTE_PROVISION_ERROR:
+                return RcsUceAdapter.PUBLISH_STATE_VOLTE_PROVISION_ERROR;
+            case PresenceBase.PUBLISH_STATE_RCS_PROVISION_ERROR:
+                return RcsUceAdapter.PUBLISH_STATE_RCS_PROVISION_ERROR;
+            case PresenceBase.PUBLISH_STATE_REQUEST_TIMEOUT:
+                return RcsUceAdapter.PUBLISH_STATE_REQUEST_TIMEOUT;
+            case PresenceBase.PUBLISH_STATE_OTHER_ERROR:
+                return RcsUceAdapter.PUBLISH_STATE_OTHER_ERROR;
+            default:
+                return RcsUceAdapter.PUBLISH_STATE_OTHER_ERROR;
+        }
+    }
+
+    private static int toUceError(int resultCode) {
+        switch (resultCode) {
+            case ResultCode.SUBSCRIBE_NOT_REGISTERED:
+                return RcsUceAdapter.ERROR_NOT_REGISTERED;
+            case ResultCode.SUBSCRIBE_REQUEST_TIMEOUT:
+                return RcsUceAdapter.ERROR_REQUEST_TIMEOUT;
+            case ResultCode.SUBSCRIBE_FORBIDDEN:
+                return RcsUceAdapter.ERROR_FORBIDDEN;
+            case ResultCode.SUBSCRIBE_NOT_FOUND:
+                return RcsUceAdapter.ERROR_NOT_FOUND;
+            case ResultCode.SUBSCRIBE_TOO_LARGE:
+                return RcsUceAdapter.ERROR_REQUEST_TOO_LARGE;
+            case ResultCode.SUBSCRIBE_INSUFFICIENT_MEMORY:
+                return RcsUceAdapter.ERROR_INSUFFICIENT_MEMORY;
+            case ResultCode.SUBSCRIBE_LOST_NETWORK:
+                return RcsUceAdapter.ERROR_LOST_NETWORK;
+            case ResultCode.SUBSCRIBE_ALREADY_IN_QUEUE:
+                return RcsUceAdapter.ERROR_ALREADY_IN_QUEUE;
+            default:
+                return RcsUceAdapter.ERROR_GENERIC_FAILURE;
+        }
+    }
+
+    private void logi(String log) {
+        Log.i(LOG_TAG, getLogPrefix().append(log).toString());
+    }
+
+    private void logw(String log) {
+        Log.w(LOG_TAG, getLogPrefix().append(log).toString());
+    }
+
+    private StringBuilder getLogPrefix() {
+        StringBuilder builder = new StringBuilder("[");
+        builder.append(mSlotId);
+        builder.append("->");
+        builder.append(mSubId);
+        builder.append("] ");
+        return builder;
+    }
+}
diff --git a/testapps/Android.mk b/testapps/Android.mk
deleted file mode 100644
index 5053e7d..0000000
--- a/testapps/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(call all-subdir-makefiles)
diff --git a/testapps/EmbmsServiceTestApp/Android.bp b/testapps/EmbmsServiceTestApp/Android.bp
new file mode 100644
index 0000000..e4a54cb
--- /dev/null
+++ b/testapps/EmbmsServiceTestApp/Android.bp
@@ -0,0 +1,11 @@
+// Build the Sample Embms Services
+android_app {
+    name: "EmbmsTestService",
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    privileged: true,
+    // Uncomment the following line to build the EmbmsTestService
+    // into the userdebug build:
+    // LOCAL_MODULE_TAGS := debug
+}
diff --git a/testapps/EmbmsServiceTestApp/Android.mk b/testapps/EmbmsServiceTestApp/Android.mk
deleted file mode 100644
index 29b8112..0000000
--- a/testapps/EmbmsServiceTestApp/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-# Build the Sample Embms Services
-include $(CLEAR_VARS)
-
-src_dirs := src
-res_dirs := res
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-
-LOCAL_PACKAGE_NAME := EmbmsTestService
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_PRIVILEGED_MODULE := true
-# Uncomment the following line to build the EmbmsTestService into the userdebug build.
-# LOCAL_MODULE_TAGS := debug
-
-include $(BUILD_PACKAGE)
diff --git a/testapps/EmbmsTestDownloadApp/Android.bp b/testapps/EmbmsTestDownloadApp/Android.bp
new file mode 100644
index 0000000..63f4e83
--- /dev/null
+++ b/testapps/EmbmsTestDownloadApp/Android.bp
@@ -0,0 +1,12 @@
+src_dirs = ["src"]
+res_dirs = ["res"]
+android_test {
+    name: "EmbmsTestDownloadApp",
+    static_libs: [
+        "androidx.recyclerview_recyclerview",
+        "androidx.legacy_legacy-support-v4",
+    ],
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+}
diff --git a/testapps/EmbmsTestDownloadApp/Android.mk b/testapps/EmbmsTestDownloadApp/Android.mk
deleted file mode 100644
index bd53d79..0000000
--- a/testapps/EmbmsTestDownloadApp/Android.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-# Build the Sample Embms Download frontend
-include $(CLEAR_VARS)
-LOCAL_USE_AAPT2 := true
-LOCAL_STATIC_ANDROID_LIBRARIES := \
-        androidx.recyclerview_recyclerview \
-        androidx.legacy_legacy-support-v4
-
-src_dirs := src
-res_dirs := res
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-
-LOCAL_PACKAGE_NAME := EmbmsTestDownloadApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/testapps/EmbmsTestStreamingApp/Android.bp b/testapps/EmbmsTestStreamingApp/Android.bp
new file mode 100644
index 0000000..814c5ca
--- /dev/null
+++ b/testapps/EmbmsTestStreamingApp/Android.bp
@@ -0,0 +1,7 @@
+android_test {
+    name: "EmbmsTestStreamingApp",
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    //LOCAL_MODULE_TAGS := debug
+}
diff --git a/testapps/EmbmsTestStreamingApp/Android.mk b/testapps/EmbmsTestStreamingApp/Android.mk
deleted file mode 100644
index f574990..0000000
--- a/testapps/EmbmsTestStreamingApp/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-# Build the Sample Embms Streaming frontend
-include $(CLEAR_VARS)
-
-src_dirs := src
-res_dirs := res
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-
-LOCAL_PACKAGE_NAME := EmbmsTestStreamingApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_MODULE_TAGS := tests
-#LOCAL_MODULE_TAGS := debug
-
-include $(BUILD_PACKAGE)
diff --git a/testapps/ImsTestService/Android.bp b/testapps/ImsTestService/Android.bp
new file mode 100644
index 0000000..a0b4edb
--- /dev/null
+++ b/testapps/ImsTestService/Android.bp
@@ -0,0 +1,13 @@
+android_app {
+    name: "ImsTestApp",
+    static_libs: [
+        "androidx.legacy_legacy-support-v4",
+        "androidx.appcompat_appcompat",
+        "androidx.recyclerview_recyclerview",
+        "androidx.cardview_cardview",
+    ],
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    privileged: true,
+}
diff --git a/testapps/ImsTestService/Android.mk b/testapps/ImsTestService/Android.mk
deleted file mode 100644
index 2869c86..0000000
--- a/testapps/ImsTestService/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_STATIC_ANDROID_LIBRARIES := \
-    androidx.legacy_legacy-support-v4 \
-    androidx.appcompat_appcompat \
-    androidx.recyclerview_recyclerview \
-    androidx.cardview_cardview
-
-LOCAL_USE_AAPT2 := true
-
-src_dirs := src
-res_dirs := res
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-
-LOCAL_PACKAGE_NAME := ImsTestApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_PRIVILEGED_MODULE := true
-
-include $(BUILD_PACKAGE)
diff --git a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java
index 4ee9355..5c0416b 100644
--- a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java
+++ b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsRegistrationActivity.java
@@ -24,6 +24,7 @@
 import android.telephony.ims.ImsException;
 import android.telephony.ims.ImsMmTelManager;
 import android.telephony.ims.ImsReasonInfo;
+import android.telephony.ims.RegistrationManager;
 import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.util.ArrayMap;
 import android.util.Log;
@@ -103,8 +104,8 @@
     }
 
 
-    private final ImsMmTelManager.RegistrationCallback mRegistrationCallback =
-            new ImsMmTelManager.RegistrationCallback() {
+    private final RegistrationManager.RegistrationCallback mRegistrationCallback =
+            new RegistrationManager.RegistrationCallback() {
 
         @Override
         public void onRegistered(int imsRadioTech) {
diff --git a/testapps/SmsManagerTestApp/Android.bp b/testapps/SmsManagerTestApp/Android.bp
new file mode 100644
index 0000000..5333eab
--- /dev/null
+++ b/testapps/SmsManagerTestApp/Android.bp
@@ -0,0 +1,5 @@
+android_app {
+    name: "SmsManagerTestApp",
+    srcs: ["src/**/*.java"],
+    sdk_version: "current",
+}
diff --git a/testapps/SmsManagerTestApp/Android.mk b/testapps/SmsManagerTestApp/Android.mk
deleted file mode 100644
index 307366b..0000000
--- a/testapps/SmsManagerTestApp/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-src_dirs := src
-res_dirs := res
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-
-LOCAL_PACKAGE_NAME := SmsManagerTestApp
-
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/testapps/TelephonyManagerTestApp/Android.bp b/testapps/TelephonyManagerTestApp/Android.bp
new file mode 100644
index 0000000..8a37c99
--- /dev/null
+++ b/testapps/TelephonyManagerTestApp/Android.bp
@@ -0,0 +1,7 @@
+android_test {
+    name: "TelephonyManagerTestApp",
+    srcs: ["src/**/*.java"],
+    javacflags: ["-parameters"],
+    platform_apis: true,
+    certificate: "platform",
+}
diff --git a/testapps/TelephonyManagerTestApp/Android.mk b/testapps/TelephonyManagerTestApp/Android.mk
deleted file mode 100644
index 290b261..0000000
--- a/testapps/TelephonyManagerTestApp/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-src_dirs := src
-res_dirs := res
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-
-LOCAL_JAVACFLAGS := -parameters
-
-LOCAL_PACKAGE_NAME := TelephonyManagerTestApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
index 097c90a..ccb5639 100644
--- a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
+++ b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
@@ -19,12 +19,19 @@
 import android.content.Context;
 import android.telephony.NumberVerificationCallback;
 import android.telephony.PhoneNumberRange;
+import android.telephony.RadioAccessSpecifier;
+import android.text.TextUtils;
 import android.widget.Toast;
 
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executor;
+import java.util.function.Consumer;
 import java.util.function.Function;
+import java.util.stream.Collectors;
 
 class ParameterParser {
     private static ParameterParser sInstance;
@@ -42,6 +49,9 @@
                 put(PhoneNumberRange.class, ParameterParser::parsePhoneNumberRange);
                 put(Executor.class, s -> parseExecutor(s));
                 put(NumberVerificationCallback.class, s -> parseNumberVerificationCallback(s));
+                put(Consumer.class, s -> parseConsumer(s));
+                put(List.class, s -> parseList(s));
+                put(RadioAccessSpecifier.class, s -> parseRadioAccessSpecifier(s));
             }};
 
     private ParameterParser(Context context) {
@@ -49,6 +59,7 @@
     }
 
     Object executeParser(Class type, String input) {
+        if ("null".equals(input)) return null;
         return mParsers.getOrDefault(type, s -> null).apply(input);
     }
 
@@ -64,6 +75,57 @@
         return mContext.getMainExecutor();
     }
 
+    private Consumer parseConsumer(String input) {
+        return o -> Toast.makeText(mContext, "Consumer: " + String.valueOf(o), Toast.LENGTH_SHORT)
+                .show();
+    }
+
+    /**
+     * input format: (ran)/(band1)+(band2)+.../(chan1)+(chan2)+...
+     * @return
+     */
+    private RadioAccessSpecifier parseRadioAccessSpecifier(String input) {
+        String[] parts = input.split("/");
+        int ran = Integer.parseInt(parts[0]);
+        String[] bandStrings = parts[1].split("\\+");
+        int[] bands = new int[bandStrings.length];
+        String[] chanStrings = parts[2].split("\\+");
+        int[] chans = new int[chanStrings.length];
+
+        for (int i = 0; i < bands.length; i++) {
+            bands[i] = Integer.parseInt(bandStrings[i]);
+        }
+
+        for (int i = 0; i < chans.length; i++) {
+            chans[i] = Integer.parseInt(chanStrings[i]);
+        }
+        return new RadioAccessSpecifier(ran, bands, chans);
+    }
+
+    private List parseList(String input) {
+        if (TextUtils.isEmpty(input)) {
+            return Collections.emptyList();
+        }
+        String[] components = input.split(" ");
+        String className = components[0];
+        Class c;
+        try {
+            c = mContext.getClassLoader().loadClass(className);
+        } catch (ClassNotFoundException e) {
+            Toast.makeText(mContext, "Invalid class " + className,
+                    Toast.LENGTH_SHORT).show();
+            return null;
+        }
+        if (!mParsers.containsKey(c)) {
+            Toast.makeText(mContext, "Cannot parse " + className,
+                    Toast.LENGTH_SHORT).show();
+            return null;
+        }
+        return Arrays.stream(components).skip(1)
+                .map(mParsers.get(c))
+                .collect(Collectors.toList());
+    }
+
     private NumberVerificationCallback parseNumberVerificationCallback(String input) {
         return new NumberVerificationCallback() {
             @Override
diff --git a/testapps/TelephonyRegistryTestApp/Android.bp b/testapps/TelephonyRegistryTestApp/Android.bp
new file mode 100644
index 0000000..fec5286
--- /dev/null
+++ b/testapps/TelephonyRegistryTestApp/Android.bp
@@ -0,0 +1,7 @@
+android_test {
+    name: "TelephonyRegistryTestApp",
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    //LOCAL_MODULE_TAGS := debug
+}
diff --git a/testapps/TelephonyRegistryTestApp/Android.mk b/testapps/TelephonyRegistryTestApp/Android.mk
deleted file mode 100644
index 8c0d286..0000000
--- a/testapps/TelephonyRegistryTestApp/Android.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-src_dirs := src
-res_dirs := res
-
-LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
-LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
-
-LOCAL_PACKAGE_NAME := TelephonyRegistryTestApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_MODULE_TAGS := tests
-#LOCAL_MODULE_TAGS := debug
-
-include $(BUILD_PACKAGE)
diff --git a/tests/Android.bp b/tests/Android.bp
new file mode 100644
index 0000000..7ed234e
--- /dev/null
+++ b/tests/Android.bp
@@ -0,0 +1,47 @@
+//
+// Copyright (C) 2009 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.
+//
+
+android_test {
+    name: "TeleServiceTests",
+
+    srcs: ["src/**/*.java"],
+
+    libs: [
+        "android.test.mock",
+        "android.test.runner",
+        "telephony-common",
+        "android.test.base",
+        "ims-common",
+        "android.test.mock",
+    ],
+    platform_apis: true,
+    certificate: "platform",
+
+    instrumentation_for: "TeleService",
+
+    static_libs: [
+        "androidx.test.rules",
+        "mockito-target-minus-junit4",
+        "androidx.test.espresso.core",
+        "truth-prebuilt",
+    ],
+
+    test_suites: [
+        "device-tests",
+        "mts",
+    ],
+
+}
diff --git a/tests/Android.mk b/tests/Android.mk
deleted file mode 100644
index 76140ac..0000000
--- a/tests/Android.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2009 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.
-#
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_PACKAGE_NAME := TeleServiceTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_JAVA_LIBRARIES := telephony-common android.test.base
-
-LOCAL_INSTRUMENTATION_FOR := TeleService
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-        android.test.mock \
-        androidx.test.rules \
-        mockito-target-minus-junit4 \
-        androidx.test.espresso.core \
-        truth-prebuilt
-
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/src/com/android/TelephonyTestBase.java b/tests/src/com/android/TelephonyTestBase.java
index 01267d8..132d893 100644
--- a/tests/src/com/android/TelephonyTestBase.java
+++ b/tests/src/com/android/TelephonyTestBase.java
@@ -16,10 +16,14 @@
 
 package com.android;
 
+import static org.mockito.Mockito.spy;
+
 import android.os.Handler;
 import android.os.Looper;
 import android.util.Log;
 
+import com.android.internal.telephony.PhoneConfigurationManager;
+
 import org.mockito.MockitoAnnotations;
 
 import java.util.concurrent.CountDownLatch;
@@ -34,7 +38,7 @@
 
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
-        mContext = new TestContext();
+        mContext = spy(new TestContext());
         // Set up the looper if it does not exist on the test thread.
         if (Looper.myLooper() == null) {
             Looper.prepare();
@@ -50,6 +54,8 @@
     }
 
     public void tearDown() throws Exception {
+        // Ensure there are no static references to handlers after test completes.
+        PhoneConfigurationManager.unregisterAllMultiSimConfigChangeRegistrants();
     }
 
     protected final void waitForHandlerAction(Handler h, long timeoutMillis) {
diff --git a/tests/src/com/android/TestContext.java b/tests/src/com/android/TestContext.java
index 4868647..c5b9b1e 100644
--- a/tests/src/com/android/TestContext.java
+++ b/tests/src/com/android/TestContext.java
@@ -23,7 +23,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.res.Resources;
 import android.os.Handler;
 import android.os.PersistableBundle;
 import android.telecom.TelecomManager;
@@ -35,20 +34,26 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.concurrent.Executor;
+
 public class TestContext extends MockContext {
 
     @Mock CarrierConfigManager mMockCarrierConfigManager;
     @Mock TelecomManager mMockTelecomManager;
     @Mock TelephonyManager mMockTelephonyManager;
     @Mock SubscriptionManager mMockSubscriptionManager;
-    @Mock Resources mMockResources;
 
     private PersistableBundle mCarrierConfig = new PersistableBundle();
 
     public TestContext() {
         MockitoAnnotations.initMocks(this);
         doReturn(mCarrierConfig).when(mMockCarrierConfigManager).getConfigForSubId(anyInt());
-        doReturn("test").when(mMockResources).getText(anyInt());
+    }
+
+    @Override
+    public Executor getMainExecutor() {
+        // Just run on current thread
+        return Runnable::run;
     }
 
     @Override
@@ -62,6 +67,11 @@
     }
 
     @Override
+    public String getAttributionTag() {
+        return "";
+    }
+
+    @Override
     public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
         return null;
     }
@@ -72,11 +82,6 @@
     }
 
     @Override
-    public Resources getResources() {
-        return mMockResources;
-    }
-
-    @Override
     public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
             String broadcastPermission, Handler scheduler) {
         return null;
diff --git a/tests/src/com/android/phone/CallFeaturesSettingTest.java b/tests/src/com/android/phone/CallFeaturesSettingTest.java
index 2468de4..7c7d6f8 100644
--- a/tests/src/com/android/phone/CallFeaturesSettingTest.java
+++ b/tests/src/com/android/phone/CallFeaturesSettingTest.java
@@ -21,8 +21,13 @@
 import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
 import static androidx.test.espresso.matcher.ViewMatchers.withText;
 
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
+import android.app.KeyguardManager;
+import android.content.Context;
+
+import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.FlakyTest;
 import androidx.test.rule.ActivityTestRule;
 
@@ -46,13 +51,16 @@
     IccCard mMockIccCard;
     @Rule
     public ActivityTestRule<CallFeaturesSetting> mRule =
-            new ActivityTestRule<>(CallFeaturesSetting.class);
+            new ActivityTestRule<>(CallFeaturesSetting.class, false, true);
     private CallFeaturesSetting mActivity;
 
     @Before
-    public void setUp() {
+    public void setUp() throws Throwable {
         MockitoAnnotations.initMocks(this);
         mActivity = mRule.getActivity();
+        Context targetContext = InstrumentationRegistry.getTargetContext();
+        doReturn(targetContext).when(mMockPhone).getContext();
+        keepScreenOn(mRule, mActivity);
     }
 
     @Ignore
@@ -65,7 +73,7 @@
         when(mMockIccCard.getIccFdnAvailable()).thenReturn(true);
         getField("mPhone").set(mActivity, mMockPhone);
 
-        mActivity.onResume();
+        mActivity.runOnUiThread(() -> mActivity.onResume());
 
         // Check the FDN menu is displayed.
         onView(withText(R.string.fdn)).check(matches(isDisplayed()));
@@ -80,7 +88,7 @@
         when(mMockPhone.getIccCard()).thenReturn(null);
         getField("mPhone").set(mActivity, mMockPhone);
 
-        mActivity.onResume();
+        mActivity.runOnUiThread(() -> mActivity.onResume());
 
         // Check the FDN menu is not displayed.
         onView(withText(R.string.fdn)).check(doesNotExist());
@@ -96,7 +104,7 @@
         when(mMockIccCard.getIccFdnAvailable()).thenReturn(false);
         getField("mPhone").set(mActivity, mMockPhone);
 
-        mActivity.onResume();
+        mActivity.runOnUiThread(() -> mActivity.onResume());
 
         // Check the FDN menu is not displayed.
         onView(withText(R.string.fdn)).check(doesNotExist());
@@ -107,4 +115,19 @@
         field.setAccessible(true);
         return field;
     }
+
+    /**
+     * Automatically wake up device to perform tests.
+     */
+    private static void keepScreenOn(ActivityTestRule activityTestRule,
+            final CallFeaturesSetting activity) throws Throwable {
+        activityTestRule.runOnUiThread(() -> {
+            activity.setTurnScreenOn(true);
+            activity.setShowWhenLocked(true);
+            KeyguardManager keyguardManager =
+                    activity.getSystemService(KeyguardManager.class);
+            keyguardManager.requestDismissKeyguard(activity, null);
+        });
+        InstrumentationRegistry.getInstrumentation().waitForIdleSync();
+    }
 }
diff --git a/tests/src/com/android/phone/CdmaOptionsTest.java b/tests/src/com/android/phone/CdmaOptionsTest.java
deleted file mode 100644
index 1a1516c..0000000
--- a/tests/src/com/android/phone/CdmaOptionsTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2018 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 com.google.common.truth.Truth.assertThat;
-
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.internal.telephony.PhoneConstants;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class CdmaOptionsTest {
-    @Test
-    public void shouldAddApnExpandPreference_doesNotExpandOnGsm() {
-        PersistableBundle bundle = new PersistableBundle();
-        bundle.putBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL, true);
-        assertThat(CdmaOptions.shouldAddApnExpandPreference(PhoneConstants.PHONE_TYPE_GSM, bundle))
-                .isFalse();
-    }
-
-    @Test
-    public void shouldAddApnExpandPreference_showExpandOnCdma() {
-        PersistableBundle bundle = new PersistableBundle();
-        bundle.putBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL, true);
-        assertThat(CdmaOptions.shouldAddApnExpandPreference(PhoneConstants.PHONE_TYPE_CDMA, bundle))
-                .isTrue();
-    }
-
-    @Test
-    public void shouldAddApnExpandPreference_doesNotExpandOnCdmaIfCarrierConfigDisabled() {
-        PersistableBundle bundle = new PersistableBundle();
-        bundle.putBoolean(CarrierConfigManager.KEY_SHOW_APN_SETTING_CDMA_BOOL, false);
-        assertThat(CdmaOptions.shouldAddApnExpandPreference(PhoneConstants.PHONE_TYPE_CDMA, bundle))
-                .isFalse();
-    }
-}
diff --git a/tests/src/com/android/phone/CnapTest.java b/tests/src/com/android/phone/CnapTest.java
deleted file mode 100644
index 7161ba8..0000000
--- a/tests/src/com/android/phone/CnapTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-// Need to be in this package to access package methods.
-package com.android.phone;
-import android.content.Context;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-import android.util.Log;
-import com.android.internal.telephony.CallerInfo;
-import com.android.phone.PhoneUtils;
-import static com.android.internal.telephony.PhoneConstants.PRESENTATION_ALLOWED;
-import static com.android.internal.telephony.PhoneConstants.PRESENTATION_PAYPHONE;
-import static com.android.internal.telephony.PhoneConstants.PRESENTATION_RESTRICTED;
-import static com.android.internal.telephony.PhoneConstants.PRESENTATION_UNKNOWN;
-
-// Test suite for the Caller Name Presentation (CNAP) handling.
-// See AndroidManifest.xml how to run these tests.
-public class CnapTest extends AndroidTestCase {
-    private static final String TAG = "CnapTest";
-    private Context mContext;
-    private CallerInfo mCallerInfo;
-    // TODO: This string should be loaded from the phone package and
-    // not hardcoded.
-    private String mUnknown = "Unknown";
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mContext = getContext();
-        mCallerInfo = new CallerInfo();
-    }
-
-    // Checks the cnap 'ABSENT NUMBER' is mapped to the unknown presentation.
-    @SmallTest
-    public void testAbsentNumberIsMappedToUnknown() throws Exception {
-        String num = modifyForSpecialCnapCases("ABSENT NUMBER", PRESENTATION_ALLOWED);
-        assertIsUnknown(num);
-    }
-
-    // HELPERS
-
-    /**
-     * Checks the number and CallerInfo structure indicate the number
-     * is unknown.
-     */
-    private void assertIsUnknown(String number) {
-        assertEquals(mUnknown, number);
-        assertEquals(PRESENTATION_UNKNOWN, mCallerInfo.numberPresentation);
-        // TODO: cnapName and name presentation should be set to
-        // unknown. At least I cannot see why it shouldn't be the case
-        // assertEquals(mUnknown, mCallerInfo.cnapName);
-        // assertEquals(PRESENTATION_UNKNOWN, mCallerInfo.namePresentation);
-    }
-
-    /**
-     * Shorthand for PhoneUtils.modifyForSpecialCnapCases(mContext, mCallerInfo, ...)
-     */
-    private String modifyForSpecialCnapCases(String number, int presentation) {
-        return PhoneUtils.modifyForSpecialCnapCases(
-            mContext, mCallerInfo, number, presentation);
-    }
-}
diff --git a/tests/src/com/android/phone/LocationAccessPolicyTest.java b/tests/src/com/android/phone/LocationAccessPolicyTest.java
index 77ff158..b2489e7 100644
--- a/tests/src/com/android/phone/LocationAccessPolicyTest.java
+++ b/tests/src/com/android/phone/LocationAccessPolicyTest.java
@@ -21,6 +21,7 @@
 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.when;
 
 import android.Manifest;
@@ -190,11 +191,11 @@
                 anyInt(), anyInt())).thenReturn(s.appHasCoarseManifest
                 ? PackageManager.PERMISSION_GRANTED : PackageManager.PERMISSION_DENIED);
 
-        when(mAppOpsManager.noteOpNoThrow(eq(AppOpsManager.OP_FINE_LOCATION),
-                anyInt(), anyString()))
+        when(mAppOpsManager.noteOpNoThrow(eq(AppOpsManager.OPSTR_FINE_LOCATION),
+                anyInt(), anyString(), nullable(String.class), nullable(String.class)))
                 .thenReturn(s.fineAppOp);
-        when(mAppOpsManager.noteOpNoThrow(eq(AppOpsManager.OP_COARSE_LOCATION),
-                anyInt(), anyString()))
+        when(mAppOpsManager.noteOpNoThrow(eq(AppOpsManager.OPSTR_COARSE_LOCATION),
+                anyInt(), anyString(), nullable(String.class), nullable(String.class)))
                 .thenReturn(s.coarseAppOp);
 
         // set this permission to denied by default, and only allow for the proper pid/uid
@@ -226,6 +227,7 @@
         return new LocationAccessPolicy.LocationPermissionQuery.Builder()
                 .setMethod("test")
                 .setCallingPackage("com.android.test")
+                .setCallingFeatureId(null)
                 .setCallingPid(TESTING_PID)
                 .setCallingUid(TESTING_UID);
     }
diff --git a/tests/src/com/android/phone/NumberVerificationManagerTest.java b/tests/src/com/android/phone/NumberVerificationManagerTest.java
index d476ba5..f7914ab 100644
--- a/tests/src/com/android/phone/NumberVerificationManagerTest.java
+++ b/tests/src/com/android/phone/NumberVerificationManagerTest.java
@@ -57,7 +57,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         ServiceState ss = mock(ServiceState.class);
-        when(ss.getVoiceRegState()).thenReturn(ServiceState.STATE_IN_SERVICE);
+        when(ss.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
         when(mPhone1.getServiceState()).thenReturn(ss);
         when(mPhone1.getForegroundCall()).thenReturn(mForegroundCall);
         when(mPhone1.getRingingCall()).thenReturn(mRingingCall);
@@ -107,7 +107,7 @@
     @Test
     public void testNoPhoneInServiceFailure() throws Exception {
         ServiceState ss = mock(ServiceState.class);
-        when(ss.getVoiceRegState()).thenReturn(ServiceState.STATE_POWER_OFF);
+        when(ss.getState()).thenReturn(ServiceState.STATE_POWER_OFF);
         when(mPhone1.getServiceState()).thenReturn(ss);
         when(mPhone2.getServiceState()).thenReturn(ss);
         NumberVerificationManager manager =
@@ -138,7 +138,7 @@
     @Test
     public void testVerificationWorksWithOnePhoneInService() throws Exception {
         ServiceState ss = mock(ServiceState.class);
-        when(ss.getVoiceRegState()).thenReturn(ServiceState.STATE_POWER_OFF);
+        when(ss.getState()).thenReturn(ServiceState.STATE_POWER_OFF);
         when(mPhone1.getServiceState()).thenReturn(ss);
         NumberVerificationManager manager =
                 new NumberVerificationManager(() -> new Phone[]{mPhone1, mPhone2});
diff --git a/tests/src/com/android/phone/PhoneGlobalsTest.java b/tests/src/com/android/phone/PhoneGlobalsTest.java
new file mode 100644
index 0000000..d45a890
--- /dev/null
+++ b/tests/src/com/android/phone/PhoneGlobalsTest.java
@@ -0,0 +1,71 @@
+/*
+ * 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.phone;
+
+import static org.junit.Assert.assertEquals;
+
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.TelephonyTestBase;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.Locale;
+
+
+@RunWith(AndroidJUnit4.class)
+public class PhoneGlobalsTest extends TelephonyTestBase {
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    @Test
+    public void testGetImsResources() throws Exception {
+        // Do not use test context here, we are testing that overlaying for different locales works
+        // correctly
+        Context realContext = InstrumentationRegistry.getTargetContext();
+        String defaultImsMmtelPackage = getResourcesForLocale(realContext, Locale.US).getString(
+                R.string.config_ims_mmtel_package);
+        String defaultImsMmtelPackageUk = getResourcesForLocale(realContext, Locale.UK).getString(
+                R.string.config_ims_mmtel_package);
+        assertEquals("locales changed IMS package configuration!", defaultImsMmtelPackage,
+                defaultImsMmtelPackageUk);
+    }
+
+    private Resources getResourcesForLocale(Context context, Locale locale) {
+        Configuration config = new Configuration();
+        config.setToDefaults();
+        config.setLocale(locale);
+        Context localeContext = context.createConfigurationContext(config);
+        return localeContext.getResources();
+    }
+}
diff --git a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java b/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
deleted file mode 100644
index 9f8de9e..0000000
--- a/tests/src/com/android/phone/PhoneInterfaceManagerTest.java
+++ /dev/null
@@ -1,83 +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.phone;
-
-import static junit.framework.TestCase.fail;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-
-import android.content.pm.PackageManager;
-import android.os.Binder;
-import android.util.Log;
-
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.TelephonyTestBase;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-
-@RunWith(AndroidJUnit4.class)
-public class PhoneInterfaceManagerTest extends TelephonyTestBase {
-
-    private static final String PRIVILEGED_PACKAGE_NAME = "test.package.name";
-
-    private static final String TAG = "PhoneInterfaceManagerTest";
-
-    private PhoneInterfaceManager mPhoneInterfaceManager;
-    private PhoneGlobals mMockPhoneGlobals;
-
-    @Before
-    public void setUp() throws Exception {
-        super.setUp();
-        mMockPhoneGlobals = mock(PhoneGlobals.class);
-        //PhoneGlobals phoneGlobals = new PhoneGlobals(mContext);
-        mPhoneInterfaceManager = new PhoneInterfaceManager(mMockPhoneGlobals);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        super.tearDown();
-    }
-
-    @Test
-    public void testGetUiccCardsInfoSecurity() {
-        // Set up mocks so that the supplied package UID does not equal the calling UID
-        PackageManager mockPackageManager = mock(PackageManager.class);
-        try {
-            doReturn(Binder.getCallingUid() + 1).when(mockPackageManager)
-                    .getPackageUid(eq(PRIVILEGED_PACKAGE_NAME), anyInt());
-        } catch (Exception e) {
-            Log.d(TAG, "testGetUiccCardsInfoSecurity unable to setup mocks");
-            fail();
-        }
-        doReturn(mockPackageManager).when(mContext).getPackageManager();
-        doReturn(mockPackageManager).when(mMockPhoneGlobals).getPackageManager();
-        try {
-            mPhoneInterfaceManager.getUiccCardsInfo(PRIVILEGED_PACKAGE_NAME);
-            fail();
-        } catch (SecurityException e) {
-            Log.d(TAG, "testGetUiccCardsInfoSecurity e = " + e);
-        }
-    }
-}
diff --git a/tests/src/com/android/phone/RoamingDialogFragmentTest.java b/tests/src/com/android/phone/RoamingDialogFragmentTest.java
deleted file mode 100644
index a9b32ea..0000000
--- a/tests/src/com/android/phone/RoamingDialogFragmentTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2016 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 androidx.test.espresso.Espresso.onData;
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
-import static androidx.test.espresso.matcher.ViewMatchers.isChecked;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withId;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Activity;
-import android.content.pm.ActivityInfo;
-import android.provider.Settings.Global;
-import android.provider.Settings.SettingNotFoundException;
-
-import androidx.test.espresso.matcher.PreferenceMatchers;
-import androidx.test.filters.FlakyTest;
-import androidx.test.rule.ActivityTestRule;
-
-import junit.framework.AssertionFailedError;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-
-/**
- * Espresso tests to check some properties of the dialog that appears when a user
- * tries to turn on data roaming.
- */
-public class RoamingDialogFragmentTest {
-
-    @Rule
-    public ActivityTestRule<MobileNetworkSettings> mRule =
-            new ActivityTestRule<>(MobileNetworkSettings.class);
-    private Activity mActivity;
-
-    /**
-     * Make sure roaming is off before we start a test since this checks the dialog that only
-     * shows up when we try to turn it on.
-     */
-    @Before
-    public void disableRoaming() {
-        mActivity = mRule.getActivity();
-
-        // turn off data roaming if it is on
-        try {
-            onData(PreferenceMatchers.withTitle(R.string.roaming))
-                    .check(matches(hasDescendant(isChecked())))
-                    .perform(click());
-        } catch (AssertionFailedError e) {
-            // don't click the switch if it is already off.
-        }
-    }
-
-    @FlakyTest
-    @Test
-    public void dataRoamingDialogPersistsOnRotation() {
-        // click on the data roaming preference to trigger warning dialog
-        onData(PreferenceMatchers.withTitle(R.string.roaming)).perform(click());
-
-        // request both orientations to ensure at least one rotation occurs
-        mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
-        mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
-
-        // verify the title of the dialog is visible
-        onView(withText(R.string.roaming_alert_title)).check(matches(isDisplayed()));
-
-    }
-
-    @FlakyTest
-    @Test
-    public void dataRoamingEnabledWhenPositiveButtonClicked() throws SettingNotFoundException {
-        // click on the data roaming preference to trigger warning dialog
-        onData(PreferenceMatchers.withTitle(R.string.roaming)).perform(click());
-
-        // click to confirm we want to turn on data roaming
-        onView(withId(android.R.id.button1)).perform(click());
-
-        // verify that the the setting has actually been changed
-        assertThat(Global.getInt(mActivity.getApplicationContext().getContentResolver(),
-                Global.DATA_ROAMING)).isEqualTo(1);
-    }
-
-    @FlakyTest
-    @Test
-    public void dialogDismissedOnNegativeButtonClicked() {
-        // click on the data roaming preference to trigger warning dialog
-        onData(PreferenceMatchers.withTitle(R.string.roaming)).perform(click());
-
-        // click to cancel turning on data roaming
-        onView(withId(android.R.id.button2)).perform(click());
-
-        // verify the title of the dialog is gone
-        onView(withText(R.string.roaming_alert_title)).check(doesNotExist());
-    }
-
-    @FlakyTest
-    @Test
-    public void dataRoamingStaysDisabledWhenDialogCanceled() throws SettingNotFoundException {
-        // click on the data roaming preference to trigger warning dialog
-        onData(PreferenceMatchers.withTitle(R.string.roaming)).perform(click());
-
-        // click to cancel turning on data roaming
-        onView(withId(android.R.id.button2)).perform(click());
-
-        // verify that the the setting has not been changed
-        assertThat(Global.getInt(mActivity.getApplicationContext().getContentResolver(),
-                Global.DATA_ROAMING)).isEqualTo(0);
-
-    }
-}
diff --git a/tests/src/com/android/phone/ServiceStateProviderTest.java b/tests/src/com/android/phone/ServiceStateProviderTest.java
new file mode 100644
index 0000000..32e5f26
--- /dev/null
+++ b/tests/src/com/android/phone/ServiceStateProviderTest.java
@@ -0,0 +1,307 @@
+/*
+ * 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 com.android.phone;
+
+import static android.provider.Telephony.ServiceStateTable;
+import static android.provider.Telephony.ServiceStateTable.getUriForSubscriptionId;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+
+import android.content.Context;
+import android.content.pm.ProviderInfo;
+import android.database.ContentObserver;
+import android.database.Cursor;
+import android.net.Uri;
+import android.telephony.ServiceState;
+import android.telephony.SubscriptionManager;
+import android.test.mock.MockContentResolver;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * Tests for simple queries of ServiceStateProvider.
+ *
+ * Build, install and run the tests by running the commands below:
+ *     runtest --path <dir or file>
+ *     runtest --path <dir or file> --test-method <testMethodName>
+ *     e.g.)
+ *         runtest --path tests/src/com/android/phone/ServiceStateProviderTest.java \
+ *                 --test-method testGetServiceState
+ */
+public class ServiceStateProviderTest {
+    private static final String TAG = "ServiceStateProviderTest";
+
+    private Context mContext;
+    private MockContentResolver mContentResolver;
+    private ServiceState mTestServiceState;
+    private ServiceState mTestServiceStateForSubId1;
+
+    private final String[] mTestProjection =
+    {
+        ServiceStateTable.VOICE_REG_STATE,
+        ServiceStateProvider.DATA_REG_STATE,
+        ServiceStateProvider.VOICE_OPERATOR_ALPHA_LONG,
+        ServiceStateProvider.VOICE_OPERATOR_ALPHA_SHORT,
+        ServiceStateTable.VOICE_OPERATOR_NUMERIC,
+        ServiceStateProvider.DATA_OPERATOR_ALPHA_LONG,
+        ServiceStateProvider.DATA_OPERATOR_ALPHA_SHORT,
+        ServiceStateProvider.DATA_OPERATOR_NUMERIC,
+        ServiceStateTable.IS_MANUAL_NETWORK_SELECTION,
+        ServiceStateProvider.RIL_VOICE_RADIO_TECHNOLOGY,
+        ServiceStateProvider.RIL_DATA_RADIO_TECHNOLOGY,
+        ServiceStateProvider.CSS_INDICATOR,
+        ServiceStateProvider.NETWORK_ID,
+        ServiceStateProvider.SYSTEM_ID,
+        ServiceStateProvider.CDMA_ROAMING_INDICATOR,
+        ServiceStateProvider.CDMA_DEFAULT_ROAMING_INDICATOR,
+        ServiceStateProvider.CDMA_ERI_ICON_INDEX,
+        ServiceStateProvider.CDMA_ERI_ICON_MODE,
+        ServiceStateProvider.IS_EMERGENCY_ONLY,
+        ServiceStateProvider.IS_USING_CARRIER_AGGREGATION,
+        ServiceStateProvider.OPERATOR_ALPHA_LONG_RAW,
+        ServiceStateProvider.OPERATOR_ALPHA_SHORT_RAW,
+    };
+
+    @Before
+    public void setUp() throws Exception {
+        mContext = mock(Context.class);
+        mContentResolver = new MockContentResolver() {
+            @Override
+            public void notifyChange(Uri uri, ContentObserver observer, boolean syncToNetwork) {
+                throw new RuntimeException("notifyChange!");
+            }
+        };
+        doReturn(mContentResolver).when(mContext).getContentResolver();
+
+        mTestServiceState = new ServiceState();
+        mTestServiceState.setStateOutOfService();
+        mTestServiceStateForSubId1 = new ServiceState();
+        mTestServiceStateForSubId1.setStateOff();
+
+        // Mock out the actual phone state
+        ServiceStateProvider provider = new ServiceStateProvider() {
+            @Override
+            public ServiceState getServiceState(int subId) {
+                if (subId == 1) {
+                    return mTestServiceStateForSubId1;
+                } else {
+                    return mTestServiceState;
+                }
+            }
+
+            @Override
+            public int getDefaultSubId() {
+                return 0;
+            }
+        };
+        ProviderInfo providerInfo = new ProviderInfo();
+        providerInfo.authority = "service-state";
+        provider.attachInfoForTesting(mContext, providerInfo);
+        mContentResolver.addProvider("service-state", provider);
+    }
+
+    @Test
+    @SmallTest
+    public void testQueryServiceStateWithNoSubId() {
+        // Verify that when calling query with no subId in the uri the default ServiceState is
+        // returned.
+        // In this case the subId is set to 0 and the expected service state is
+        // mTestServiceState.
+        verifyServiceStateForSubId(ServiceStateTable.CONTENT_URI, mTestServiceState);
+    }
+
+    @Test
+    @SmallTest
+    public void testGetServiceStateWithDefaultSubId() {
+        // Verify that when calling with the DEFAULT_SUBSCRIPTION_ID the correct ServiceState is
+        // returned
+        // In this case the subId is set to 0 and the expected service state is
+        // mTestServiceState.
+        verifyServiceStateForSubId(
+                getUriForSubscriptionId(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID),
+                mTestServiceState);
+    }
+
+    /**
+     * Test querying the service state for a given subId
+     */
+    @Test
+    @SmallTest
+    public void testGetServiceStateForSubId() {
+        // Verify that when calling with a specific subId the correct ServiceState is returned
+        // In this case the subId is set to 1 and the expected service state is
+        // mTestServiceStateForSubId1
+        verifyServiceStateForSubId(getUriForSubscriptionId(1), mTestServiceStateForSubId1);
+    }
+
+    private void verifyServiceStateForSubId(Uri uri, ServiceState ss) {
+        Cursor cursor = mContentResolver.query(uri, mTestProjection, "",
+                null, null);
+        assertNotNull(cursor);
+        cursor.moveToFirst();
+
+        final int voiceRegState = ss.getState();
+        final int dataRegState = ss.getDataRegistrationState();
+        final String voiceOperatorAlphaLong = ss.getOperatorAlphaLong();
+        final String voiceOperatorAlphaShort = ss.getOperatorAlphaShort();
+        final String voiceOperatorNumeric = ss.getOperatorNumeric();
+        final String dataOperatorAlphaLong = ss.getOperatorAlphaLong();
+        final String dataOperatorAlphaShort = ss.getOperatorAlphaShort();
+        final String dataOperatorNumeric = ss.getOperatorNumeric();
+        final int isManualNetworkSelection = (ss.getIsManualSelection()) ? 1 : 0;
+        final int rilVoiceRadioTechnology = ss.getRilVoiceRadioTechnology();
+        final int rilDataRadioTechnology = ss.getRilDataRadioTechnology();
+        final int cssIndicator = ss.getCssIndicator();
+        final int networkId = ss.getCdmaNetworkId();
+        final int systemId = ss.getCdmaSystemId();
+        final int cdmaRoamingIndicator = ss.getCdmaRoamingIndicator();
+        final int cdmaDefaultRoamingIndicator = ss.getCdmaDefaultRoamingIndicator();
+        final int cdmaEriIconIndex = ss.getCdmaEriIconIndex();
+        final int cdmaEriIconMode = ss.getCdmaEriIconMode();
+        final int isEmergencyOnly = (ss.isEmergencyOnly()) ? 1 : 0;
+        final int isUsingCarrierAggregation = (ss.isUsingCarrierAggregation()) ? 1 : 0;
+        final String operatorAlphaLongRaw = ss.getOperatorAlphaLongRaw();
+        final String operatorAlphaShortRaw = ss.getOperatorAlphaShortRaw();
+
+        assertEquals(voiceRegState, cursor.getInt(0));
+        assertEquals(dataRegState, cursor.getInt(1));
+        assertEquals(voiceOperatorAlphaLong, cursor.getString(2));
+        assertEquals(voiceOperatorAlphaShort, cursor.getString(3));
+        assertEquals(voiceOperatorNumeric, cursor.getString(4));
+        assertEquals(dataOperatorAlphaLong, cursor.getString(5));
+        assertEquals(dataOperatorAlphaShort, cursor.getString(6));
+        assertEquals(dataOperatorNumeric, cursor.getString(7));
+        assertEquals(isManualNetworkSelection, cursor.getInt(8));
+        assertEquals(rilVoiceRadioTechnology, cursor.getInt(9));
+        assertEquals(rilDataRadioTechnology, cursor.getInt(10));
+        assertEquals(cssIndicator, cursor.getInt(11));
+        assertEquals(networkId, cursor.getInt(12));
+        assertEquals(systemId, cursor.getInt(13));
+        assertEquals(cdmaRoamingIndicator, cursor.getInt(14));
+        assertEquals(cdmaDefaultRoamingIndicator, cursor.getInt(15));
+        assertEquals(cdmaEriIconIndex, cursor.getInt(16));
+        assertEquals(cdmaEriIconMode, cursor.getInt(17));
+        assertEquals(isEmergencyOnly, cursor.getInt(18));
+        assertEquals(isUsingCarrierAggregation, cursor.getInt(19));
+        assertEquals(operatorAlphaLongRaw, cursor.getString(20));
+        assertEquals(operatorAlphaShortRaw, cursor.getString(21));
+    }
+
+    /**
+     * Test that we don't notify for certain field changes. (e.g. we don't notify when the NetworkId
+     * or SystemId change) This is an intentional behavior change from the broadcast.
+     */
+    @Test
+    @SmallTest
+    public void testNoNotify() {
+        int subId = 0;
+
+        ServiceState oldSS = new ServiceState();
+        oldSS.setStateOutOfService();
+        oldSS.setCdmaSystemAndNetworkId(1, 1);
+
+        ServiceState newSS = new ServiceState();
+        newSS.setStateOutOfService();
+        newSS.setCdmaSystemAndNetworkId(0, 0);
+
+        // Test that notifyChange is not called for these fields
+        boolean notifyChangeWasCalled = false;
+        try {
+            ServiceStateProvider.notifyChangeForSubIdAndField(mContext, oldSS, newSS, subId);
+        } catch (RuntimeException e) {
+            final String message = e.getMessage();
+            if (message != null &&  message.equals("notifyChange!")) {
+                notifyChangeWasCalled = true;
+            }
+        }
+        assertFalse(notifyChangeWasCalled);
+    }
+
+    @Test
+    @SmallTest
+    public void testNotifyChanged() {
+        int subId = 0;
+
+        ServiceState oldSS = new ServiceState();
+        oldSS.setStateOutOfService();
+        oldSS.setVoiceRegState(ServiceState.STATE_OUT_OF_SERVICE);
+
+        ServiceState copyOfOldSS = new ServiceState();
+        copyOfOldSS.setStateOutOfService();
+        copyOfOldSS.setVoiceRegState(ServiceState.STATE_OUT_OF_SERVICE);
+
+        ServiceState newSS = new ServiceState();
+        newSS.setStateOutOfService();
+        newSS.setVoiceRegState(ServiceState.STATE_POWER_OFF);
+
+        // Test that notifyChange is not called with no change in notifyChangeForSubIdAndField
+        boolean notifyChangeWasCalled = false;
+        try {
+            ServiceStateProvider.notifyChangeForSubIdAndField(mContext, oldSS, copyOfOldSS, subId);
+        } catch (RuntimeException e) {
+            final String message = e.getMessage();
+            if (message != null &&  message.equals("notifyChange!")) {
+                notifyChangeWasCalled = true;
+            }
+        }
+        assertFalse(notifyChangeWasCalled);
+
+        // Test that notifyChange is not called with no change in notifyChangeForSubId
+        notifyChangeWasCalled = false;
+        try {
+            ServiceStateProvider.notifyChangeForSubId(mContext, oldSS, copyOfOldSS, subId);
+        } catch (RuntimeException e) {
+            final String message = e.getMessage();
+            if (message != null &&  message.equals("notifyChange!")) {
+                notifyChangeWasCalled = true;
+            }
+        }
+        assertFalse(notifyChangeWasCalled);
+
+        // Test that notifyChange is called by notifyChangeForSubIdAndField when the voice_reg_state
+        // changes
+        notifyChangeWasCalled = false;
+        try {
+            ServiceStateProvider.notifyChangeForSubIdAndField(mContext, oldSS, newSS, subId);
+        } catch (RuntimeException e) {
+            final String message = e.getMessage();
+            if (message != null &&  message.equals("notifyChange!")) {
+                notifyChangeWasCalled = true;
+            }
+        }
+        assertTrue(notifyChangeWasCalled);
+
+        // Test that notifyChange is called by notifyChangeForSubId when the voice_reg_state changes
+        notifyChangeWasCalled = false;
+        try {
+            ServiceStateProvider.notifyChangeForSubId(mContext, oldSS, newSS, subId);
+        } catch (RuntimeException e) {
+            final String message = e.getMessage();
+            if (message != null &&  message.equals("notifyChange!")) {
+                notifyChangeWasCalled = true;
+            }
+        }
+        assertTrue(notifyChangeWasCalled);
+    }
+}
diff --git a/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java b/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
index b8f2ec1..85dba51 100644
--- a/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
+++ b/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
@@ -121,7 +121,7 @@
         }
 
         @Override
-        protected void grantDefaultPermissionsToActiveLuiApp(ActivityInfo activityInfo) {}
+        protected void grantDefaultPermissionsToLuiApp(ActivityInfo activityInfo) {}
 
         @Override
         protected void revokePermissionFromLuiApps(Intent intent) {}
diff --git a/tests/src/com/android/phone/tests/CallDialTest.java b/tests/src/com/android/phone/tests/CallDialTest.java
index b30f5b2..6e78be0 100644
--- a/tests/src/com/android/phone/tests/CallDialTest.java
+++ b/tests/src/com/android/phone/tests/CallDialTest.java
@@ -22,9 +22,9 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.telecom.PhoneAccount;
 import android.telephony.PhoneNumberUtils;
+import android.telephony.TelephonyFrameworkInitializer;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
@@ -155,7 +155,11 @@
         log("==> number: '" + number + "'");
 
         try {
-            ITelephony phone = ITelephony.Stub.asInterface(ServiceManager.checkService("phone"));
+            ITelephony phone = ITelephony.Stub.asInterface(
+                    TelephonyFrameworkInitializer
+                            .getTelephonyServiceManager()
+                            .getTelephonyServiceRegisterer()
+                            .get());
             log("- phone: " + phone);
             log("- calling call()...");
             phone.call(getPackageName(), number);
@@ -173,7 +177,11 @@
         log("==> number: '" + number + "'");
 
         try {
-            ITelephony phone = ITelephony.Stub.asInterface(ServiceManager.checkService("phone"));
+            ITelephony phone = ITelephony.Stub.asInterface(
+                    TelephonyFrameworkInitializer
+                            .getTelephonyServiceManager()
+                            .getTelephonyServiceRegisterer()
+                            .get());
             log("- phone: " + phone);
             log("- calling dial()...");
             phone.dial(number);
diff --git a/tests/src/com/android/services/telephony/ConferenceParticipantConnectionTest.java b/tests/src/com/android/services/telephony/ConferenceParticipantConnectionTest.java
index 4336a20..ede0965 100644
--- a/tests/src/com/android/services/telephony/ConferenceParticipantConnectionTest.java
+++ b/tests/src/com/android/services/telephony/ConferenceParticipantConnectionTest.java
@@ -16,7 +16,7 @@
 
 package com.android.services.telephony;
 
-import static android.telecom.ConferenceParticipant.getParticipantAddress;
+import static com.android.ims.internal.ConferenceParticipant.getParticipantAddress;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
new file mode 100644
index 0000000..7f9efdc
--- /dev/null
+++ b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
@@ -0,0 +1,46 @@
+/*
+ * 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;
+
+import static android.media.ToneGenerator.TONE_PROP_PROMPT;
+
+import static junit.framework.Assert.assertNotNull;
+import static junit.framework.TestCase.assertEquals;
+
+import android.telephony.DisconnectCause;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class DisconnectCauseUtilTest {
+    /**
+     * Verifies that a call drop due to loss of WIFI results in a disconnect cause of error and that
+     * the label, description and tone are all present.
+     */
+    @Test
+    public void testDropDueToWifiLoss() {
+        android.telecom.DisconnectCause tcCause = DisconnectCauseUtil.toTelecomDisconnectCause(
+                DisconnectCause.WIFI_LOST);
+        assertEquals(android.telecom.DisconnectCause.ERROR, tcCause.getCode());
+        assertEquals(TONE_PROP_PROMPT, tcCause.getTone());
+        assertNotNull(tcCause.getDescription());
+        assertNotNull(tcCause.getReason());
+    }
+}
diff --git a/tests/src/com/android/services/telephony/ImsConferenceControllerTest.java b/tests/src/com/android/services/telephony/ImsConferenceControllerTest.java
index aa832aa..edfc34f 100644
--- a/tests/src/com/android/services/telephony/ImsConferenceControllerTest.java
+++ b/tests/src/com/android/services/telephony/ImsConferenceControllerTest.java
@@ -16,14 +16,13 @@
 
 package com.android.services.telephony;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.times;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
 
 import android.os.Looper;
 import android.test.suitebuilder.annotation.SmallTest;
@@ -32,7 +31,6 @@
 
 import org.junit.Before;
 import org.junit.Test;
-
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
@@ -85,7 +83,7 @@
         mControllerTest.add(mTestTelephonyConnectionA);
 
         mTestTelephonyConnectionA.setActive();
-        mTestTelephonyConnectionB.setOnHold();
+        mTestTelephonyConnectionB.setTelephonyConnectionOnHold();
 
         assertTrue(mTestTelephonyConnectionA.getConferenceables()
                 .contains(mTestTelephonyConnectionB));
@@ -125,10 +123,9 @@
         mControllerTest.add(mTestTelephonyConnectionA);
 
         mTestTelephonyConnectionA.setActive();
-        mTestTelephonyConnectionB.setOnHold();
+        mTestTelephonyConnectionB.setTelephonyConnectionOnHold();
 
         verify(mMockTelephonyConnectionServiceProxy, times(2))
                 .addConference(any(ImsConference.class));
-
     }
 }
diff --git a/tests/src/com/android/services/telephony/ImsConferenceTest.java b/tests/src/com/android/services/telephony/ImsConferenceTest.java
index eaec5b6..f13d709 100644
--- a/tests/src/com/android/services/telephony/ImsConferenceTest.java
+++ b/tests/src/com/android/services/telephony/ImsConferenceTest.java
@@ -16,40 +16,40 @@
 
 package com.android.services.telephony;
 
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.times;
-
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.net.Uri;
+import android.os.Bundle;
 import android.os.Looper;
 import android.telecom.Call;
 import android.telecom.Conference;
-import android.telecom.ConferenceParticipant;
 import android.telecom.Connection;
 import android.telecom.PhoneAccountHandle;
+import android.telecom.StatusHints;
+import android.telecom.TelecomManager;
+import android.telephony.TelephonyManager;
 import android.test.suitebuilder.annotation.SmallTest;
 
-import com.android.internal.telephony.PhoneConstants;
+import com.android.ims.internal.ConferenceParticipant;
 
 import org.junit.Before;
 import org.junit.Test;
-
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
 
 public class ImsConferenceTest {
     @Mock
@@ -71,6 +71,53 @@
         when(mMockTelecomAccountRegistry.getAddress(any(PhoneAccountHandle.class)))
                 .thenReturn(null);
     }
+    @Test
+    @SmallTest
+    public void testPropertyPropagation() {
+        when(mMockTelecomAccountRegistry.isUsingSimCallManager(any(PhoneAccountHandle.class)))
+                .thenReturn(false);
+        mConferenceHost.setConnectionProperties(Connection.PROPERTY_ASSISTED_DIALING
+                | Connection.PROPERTY_WIFI);
+        Bundle extras = new Bundle();
+        extras.putInt(TelecomManager.EXTRA_CALL_NETWORK_TYPE, TelephonyManager.NETWORK_TYPE_IWLAN);
+        mConferenceHost.putTelephonyExtras(extras);
+        mConferenceHost.setStatusHints(new StatusHints("WIFIs", null, null));
+
+        ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
+                mMockTelephonyConnectionServiceProxy, mConferenceHost,
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
+
+        ConferenceParticipant participant1 = new ConferenceParticipant(
+                Uri.parse("tel:6505551212"),
+                "A",
+                Uri.parse("sip:6505551212@testims.com"),
+                Connection.STATE_ACTIVE,
+                Call.Details.DIRECTION_OUTGOING);
+        ConferenceParticipant participant2 = new ConferenceParticipant(
+                Uri.parse("tel:6505551213"),
+                "A",
+                Uri.parse("sip:6505551213@testims.com"),
+                Connection.STATE_ACTIVE,
+                Call.Details.DIRECTION_INCOMING);
+        imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
+                Arrays.asList(participant1, participant2));
+        assertEquals(2, imsConference.getNumberOfParticipants());
+        ArgumentCaptor<Connection> captor = ArgumentCaptor.forClass(Connection.class);
+        verify(mMockTelephonyConnectionServiceProxy, times(2)).addExistingConnection(
+                any(PhoneAccountHandle.class), captor.capture(),
+                eq(imsConference));
+
+        // Make sure they're set on the initially created participants.
+        for (Connection c : captor.getAllValues()) {
+            assertEquals(0, c.getConnectionProperties() & Connection.PROPERTY_ASSISTED_DIALING);
+            assertEquals(Connection.PROPERTY_WIFI,
+                    c.getConnectionProperties() & Connection.PROPERTY_WIFI);
+            assertNotNull(c.getStatusHints());
+            assertEquals(TelephonyManager.NETWORK_TYPE_IWLAN, c.getExtras().getInt(
+                    TelecomManager.EXTRA_CALL_NETWORK_TYPE));
+        }
+    }
 
     @Test
     @SmallTest
@@ -80,14 +127,15 @@
 
         ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
                 mMockTelephonyConnectionServiceProxy, mConferenceHost,
-                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */);
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
 
         ConferenceParticipant participant1 = new ConferenceParticipant(
                 Uri.parse("tel:6505551212"),
                 "A",
                 Uri.parse("sip:6505551212@testims.com"),
                 Connection.STATE_ACTIVE,
-                Call.Details.DIRECTION_INCOMING);
+                Call.Details.DIRECTION_OUTGOING);
         ConferenceParticipant participant2 = new ConferenceParticipant(
                 Uri.parse("tel:6505551213"),
                 "A",
@@ -105,8 +153,8 @@
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
                 Arrays.asList(participant1));
         assertEquals(0, imsConference.getNumberOfParticipants());
-        verify(mMockTelephonyConnectionServiceProxy, times(2)).removeConnection(
-                any(Connection.class));
+        // Ensure the call direction is set correctly during emulation
+        assertEquals(Call.Details.DIRECTION_OUTGOING, imsConference.getCallDirection());
         reset(mMockTelephonyConnectionServiceProxy);
 
         // Back to 2!
@@ -129,7 +177,8 @@
 
         ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
                 mMockTelephonyConnectionServiceProxy, mConferenceHost,
-                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */);
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
 
         // Start off with 3 participants.
         ConferenceParticipant participant1 = new ConferenceParticipant(
@@ -169,8 +218,6 @@
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
                 Arrays.asList(participant1, participant2, participant3Disconnected));
         assertEquals(2, imsConference.getNumberOfParticipants());
-        verify(mMockTelephonyConnectionServiceProxy, times(1)).removeConnection(
-                any(Connection.class));
         reset(mMockTelephonyConnectionServiceProxy);
 
         // Now remove it from another CEP update; should still be the same number of participants
@@ -178,8 +225,6 @@
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
                 Arrays.asList(participant1, participant2));
         assertEquals(2, imsConference.getNumberOfParticipants());
-        verify(mMockTelephonyConnectionServiceProxy, never()).removeConnection(
-                any(Connection.class));
         verify(mMockTelephonyConnectionServiceProxy, never()).addExistingConnection(
                 any(PhoneAccountHandle.class), any(Connection.class),
                 any(Conference.class));
@@ -196,7 +241,8 @@
 
         ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
                 mMockTelephonyConnectionServiceProxy, mConferenceHost,
-                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */);
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
 
         // Start off with 3 participants.
         ConferenceParticipant participant1 = new ConferenceParticipant(
@@ -230,8 +276,6 @@
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
                 Arrays.asList(participant1, participant2));
         assertEquals(2, imsConference.getNumberOfParticipants());
-        verify(mMockTelephonyConnectionServiceProxy, times(1)).removeConnection(
-                any(Connection.class));
         verify(mMockTelephonyConnectionServiceProxy, never()).addExistingConnection(
                 any(PhoneAccountHandle.class), any(Connection.class),
                 any(Conference.class));
@@ -255,7 +299,8 @@
 
         ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
                 mMockTelephonyConnectionServiceProxy, mConferenceHost,
-                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */);
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
 
         // Setup the initial conference state with 2 participants.
         ConferenceParticipant participant1 = new ConferenceParticipant(
@@ -288,8 +333,6 @@
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
                 Arrays.asList(participant1, participant2Disconnected));
         assertEquals(0, imsConference.getNumberOfParticipants());
-        verify(mMockTelephonyConnectionServiceProxy, times(2)).removeConnection(
-                any(Connection.class));
         reset(mMockTelephonyConnectionServiceProxy);
 
         // Pretend to merge someone else into the conference.
@@ -315,17 +358,18 @@
 
         ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
                 mMockTelephonyConnectionServiceProxy, mConferenceHost,
-                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */);
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
 
         final boolean[] isConferenceState = new boolean[1];
-        Conference.Listener conferenceListener = new Conference.Listener() {
+        TelephonyConferenceBase.TelephonyConferenceListener conferenceListener =
+                new TelephonyConferenceBase.TelephonyConferenceListener() {
             @Override
-            public void onConferenceStateChanged(Conference c, boolean isConference) {
-                super.onConferenceStateChanged(c, isConference);
-                isConferenceState[0] = isConference;
+            public void onConferenceMembershipChanged(Connection connection) {
+                isConferenceState[0] = connection.getConference() != null;
             }
         };
-        imsConference.addListener(conferenceListener);
+        imsConference.addTelephonyConferenceListener(conferenceListener);
 
         ConferenceParticipant participant1 = new ConferenceParticipant(
                 Uri.parse("tel:6505551212"),
@@ -350,8 +394,6 @@
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
                 Arrays.asList(participant1));
         assertEquals(0, imsConference.getNumberOfParticipants());
-        verify(mMockTelephonyConnectionServiceProxy, times(2)).removeConnection(
-                any(Connection.class));
 
         // Emulate a pre-disconnect conference event package; there will be zero participants.
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
@@ -362,6 +404,62 @@
     }
 
     /**
+     * Verify that the single party emulate correctly when the conference start with only
+     * one participant.
+     */
+    @Test
+    @SmallTest
+    public void testSinglePartyEmulationWithOneParticipantAtBeginning() {
+        when(mMockTelecomAccountRegistry.isUsingSimCallManager(any(PhoneAccountHandle.class)))
+                .thenReturn(false);
+
+        ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
+                mMockTelephonyConnectionServiceProxy, mConferenceHost,
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
+
+        ConferenceParticipant participant1 = new ConferenceParticipant(
+                Uri.parse("tel:6505551212"),
+                "A",
+                Uri.parse("sip:6505551212@testims.com"),
+                Connection.STATE_ACTIVE,
+                Call.Details.DIRECTION_INCOMING);
+        imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
+                Arrays.asList(participant1));
+        assertFalse(imsConference.isMultiparty());
+    }
+
+    /**
+     * Verify that the single party emulate correctly when the conference starts with a single
+     * party as part of the initial setup.  This mimics how an ImsCall can get CEP data prior to the
+     * ImsConference being created.
+     */
+    @Test
+    @SmallTest
+    public void testSinglePartyEmulationWithSinglePartyAtCreation() {
+        when(mMockTelecomAccountRegistry.isUsingSimCallManager(any(PhoneAccountHandle.class)))
+                .thenReturn(false);
+
+        ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
+                mMockTelephonyConnectionServiceProxy, mConferenceHost,
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
+
+        ConferenceParticipant participant1 = new ConferenceParticipant(
+                Uri.parse("tel:6505551214"),
+                "A",
+                Uri.parse("sip:6505551214@testims.com"),
+                Connection.STATE_ACTIVE,
+                Call.Details.DIRECTION_INCOMING);
+        List<ConferenceParticipant> cps = Arrays.asList(participant1);
+        when(mConferenceHost.mMockRadioConnection.getConferenceParticipants())
+                .thenReturn(cps);
+        imsConference.updateConferenceParticipantsAfterCreation();
+
+        assertFalse(imsConference.isMultiparty());
+    }
+
+    /**
      * Verify that we do not use single party emulation when a sim call manager is in use.
      */
     @Test
@@ -373,7 +471,8 @@
 
         ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
                 mMockTelephonyConnectionServiceProxy, mConferenceHost,
-                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */);
+                null /* phoneAccountHandle */, () -> true /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
 
         ConferenceParticipant participant1 = new ConferenceParticipant(
                 Uri.parse("tel:6505551212"),
@@ -404,13 +503,14 @@
 
     @Test
     @SmallTest
-    public void testNormalConference() {
+    public void testNormalConference() throws Exception {
         when(mMockTelecomAccountRegistry.isUsingSimCallManager(any(PhoneAccountHandle.class)))
                 .thenReturn(false);
 
         ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
                 mMockTelephonyConnectionServiceProxy, mConferenceHost,
-                null /* phoneAccountHandle */, () -> false /* featureFlagProxy */);
+                null /* phoneAccountHandle */, () -> false /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder().build());
 
         ConferenceParticipant participant1 = new ConferenceParticipant(
                 Uri.parse("tel:6505551212"),
@@ -432,5 +532,45 @@
         imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
                 Arrays.asList(participant1));
         assertEquals(1, imsConference.getNumberOfParticipants());
+
+        // Drop to 0 participants; should not hangup the conf now
+        imsConference.handleConferenceParticipantsUpdate(mConferenceHost, Collections.emptyList());
+        assertEquals(0, imsConference.getNumberOfParticipants());
+        verify(mConferenceHost.mMockCall, never()).hangup();
+    }
+
+    @Test
+    @SmallTest
+    public void testLocalDisconnectOnEmptyConference() throws Exception {
+        when(mMockTelecomAccountRegistry.isUsingSimCallManager(any(PhoneAccountHandle.class)))
+                .thenReturn(false);
+
+        ImsConference imsConference = new ImsConference(mMockTelecomAccountRegistry,
+                mMockTelephonyConnectionServiceProxy, mConferenceHost,
+                null /* phoneAccountHandle */, () -> false /* featureFlagProxy */,
+                new ImsConference.CarrierConfiguration.Builder()
+                        .setShouldLocalDisconnectEmptyConference(true)
+                        .build());
+
+        ConferenceParticipant participant1 = new ConferenceParticipant(
+                Uri.parse("tel:6505551212"),
+                "A",
+                Uri.parse("sip:6505551212@testims.com"),
+                Connection.STATE_ACTIVE,
+                Call.Details.DIRECTION_INCOMING);
+        ConferenceParticipant participant2 = new ConferenceParticipant(
+                Uri.parse("tel:6505551213"),
+                "A",
+                Uri.parse("sip:6505551213@testims.com"),
+                Connection.STATE_ACTIVE,
+                Call.Details.DIRECTION_INCOMING);
+        imsConference.handleConferenceParticipantsUpdate(mConferenceHost,
+                Arrays.asList(participant1, participant2));
+        assertEquals(2, imsConference.getNumberOfParticipants());
+
+        // Drop to 0 participants; should have a hangup request.
+        imsConference.handleConferenceParticipantsUpdate(mConferenceHost, Collections.emptyList());
+        assertEquals(0, imsConference.getNumberOfParticipants());
+        verify(mConferenceHost.mMockCall).hangup();
     }
 }
diff --git a/tests/src/com/android/services/telephony/RadioOnStateListenerTest.java b/tests/src/com/android/services/telephony/RadioOnStateListenerTest.java
index 8b46bf0..d55a2fa 100644
--- a/tests/src/com/android/services/telephony/RadioOnStateListenerTest.java
+++ b/tests/src/com/android/services/telephony/RadioOnStateListenerTest.java
@@ -34,6 +34,7 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.TelephonyTestBase;
+import com.android.internal.telephony.CommandsInterface;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
 
@@ -55,6 +56,7 @@
 
     @Mock Phone mMockPhone;
     @Mock RadioOnStateListener.Callback mCallback;
+    @Mock CommandsInterface mMockCi;
     RadioOnStateListener mListener;
 
     @Override
@@ -67,9 +69,11 @@
     @Override
     @After
     public void tearDown() throws Exception {
+        mListener.setTimeBetweenRetriesMillis(5000);
+        mListener.setMaxNumRetries(5);
+        mListener.getHandler().removeCallbacksAndMessages(null);
         // Wait for the queue to clear...
         waitForHandlerAction(mListener.getHandler(), TIMEOUT_MS /*ms timeout*/);
-        mListener.getHandler().removeCallbacksAndMessages(null);
         mListener = null;
         super.tearDown();
     }
@@ -80,13 +84,17 @@
     @Test
     @SmallTest
     public void testRegisterForCallback() {
-        mListener.waitForRadioOn(mMockPhone, mCallback);
+        mMockPhone.mCi = mMockCi;
+        mListener.waitForRadioOn(mMockPhone, mCallback, false, false);
 
         waitForHandlerAction(mListener.getHandler(), TIMEOUT_MS);
 
         verify(mMockPhone).unregisterForServiceStateChanged(any(Handler.class));
         verify(mMockPhone).registerForServiceStateChanged(any(Handler.class),
                 eq(RadioOnStateListener.MSG_SERVICE_STATE_CHANGED), isNull());
+
+        verify(mMockCi).registerForOffOrNotAvailable(any(Handler.class),
+                eq(RadioOnStateListener.MSG_RADIO_OFF_OR_NOT_AVAILABLE), isNull());
     }
 
     /**
@@ -99,9 +107,11 @@
     public void testPhoneChangeState_OkToCallTrue() {
         ServiceState state = new ServiceState();
         state.setState(ServiceState.STATE_IN_SERVICE);
+        when(mMockPhone.getServiceState()).thenReturn(state);
         when(mMockPhone.getState()).thenReturn(PhoneConstants.State.IDLE);
         when(mCallback.isOkToCall(eq(mMockPhone), anyInt())).thenReturn(true);
-        mListener.waitForRadioOn(mMockPhone, mCallback);
+        mMockPhone.mCi = mMockCi;
+        mListener.waitForRadioOn(mMockPhone, mCallback, false, false);
         waitForHandlerAction(mListener.getHandler(), TIMEOUT_MS);
 
         mListener.getHandler().obtainMessage(RadioOnStateListener.MSG_SERVICE_STATE_CHANGED,
@@ -124,7 +134,8 @@
         when(mMockPhone.getState()).thenReturn(PhoneConstants.State.IDLE);
         when(mCallback.isOkToCall(eq(mMockPhone), anyInt())).thenReturn(false);
         when(mMockPhone.getServiceState()).thenReturn(state);
-        mListener.waitForRadioOn(mMockPhone, mCallback);
+        mMockPhone.mCi = mMockCi;
+        mListener.waitForRadioOn(mMockPhone, mCallback, false, false);
         waitForHandlerAction(mListener.getHandler(), TIMEOUT_MS);
 
         mListener.getHandler().obtainMessage(RadioOnStateListener.MSG_SERVICE_STATE_CHANGED,
@@ -152,10 +163,33 @@
         mListener.setMaxNumRetries(2);
 
         // Wait for the timer to expire and check state manually in onRetryTimeout
-        mListener.waitForRadioOn(mMockPhone, mCallback);
+        mMockPhone.mCi = mMockCi;
+        mListener.waitForRadioOn(mMockPhone, mCallback, false, false);
         waitForHandlerActionDelayed(mListener.getHandler(), TIMEOUT_MS, TIMEOUT_MS /*delay*/);
 
         verify(mCallback).onComplete(eq(mListener), eq(false));
-        verify(mMockPhone, times(2)).setRadioPower(eq(true));
+        verify(mMockPhone, times(2)).setRadioPower(eq(true),
+                eq(false), eq(false), eq(false));
+    }
+
+    @Test
+    @SmallTest
+    public void testTimeout_RetryFailure_ForEmergency() {
+        ServiceState state = new ServiceState();
+        state.setState(ServiceState.STATE_POWER_OFF);
+        when(mMockPhone.getState()).thenReturn(PhoneConstants.State.IDLE);
+        when(mMockPhone.getServiceState()).thenReturn(state);
+        when(mCallback.isOkToCall(eq(mMockPhone), anyInt())).thenReturn(false);
+        mListener.setTimeBetweenRetriesMillis(0/*ms*/);
+        mListener.setMaxNumRetries(2);
+
+        // Wait for the timer to expire and check state manually in onRetryTimeout
+        mMockPhone.mCi = mMockCi;
+        mListener.waitForRadioOn(mMockPhone, mCallback, true, true);
+        waitForHandlerActionDelayed(mListener.getHandler(), TIMEOUT_MS, TIMEOUT_MS /*delay*/);
+
+        verify(mCallback).onComplete(eq(mListener), eq(false));
+        verify(mMockPhone, times(2)).setRadioPower(eq(true),
+                eq(true), eq(true), eq(false));
     }
 }
diff --git a/tests/src/com/android/services/telephony/TelephonyConferenceControllerTest.java b/tests/src/com/android/services/telephony/TelephonyConferenceControllerTest.java
index 275bcc6..cfdc2fd 100644
--- a/tests/src/com/android/services/telephony/TelephonyConferenceControllerTest.java
+++ b/tests/src/com/android/services/telephony/TelephonyConferenceControllerTest.java
@@ -16,6 +16,13 @@
 
 package com.android.services.telephony;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.os.Looper;
 import android.telecom.Conference;
 import android.telecom.Connection;
@@ -23,18 +30,9 @@
 
 import org.junit.Before;
 import org.junit.Test;
-
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.mockito.ArgumentCaptor;
-
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.any;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -50,7 +48,7 @@
     private TelephonyConnectionServiceProxy mMockTelephonyConnectionServiceProxy;
 
     @Mock
-    private Conference.Listener mMockListener;
+    private TelephonyConferenceBase.TelephonyConferenceListener mMockListener;
 
     private TestTelephonyConnection mTestTelephonyConnectionA;
     private TestTelephonyConnection mTestTelephonyConnectionB;
@@ -94,8 +92,8 @@
         // add telephony connection A
         mControllerTest.add(mTestTelephonyConnectionA);
 
-        mTestTelephonyConnectionA.setActive();
-        mTestTelephonyConnectionB.setOnHold();
+        mTestTelephonyConnectionA.setTelephonyConnectionActive();
+        mTestTelephonyConnectionB.setTelephonyConnectionOnHold();
 
         assertTrue(mTestTelephonyConnectionA.getConferenceables()
                 .contains(mTestTelephonyConnectionB));
@@ -146,8 +144,8 @@
         // add telephony connection A
         mControllerTest.add(mTestTelephonyConnectionA);
 
-        mTestTelephonyConnectionA.setActive();
-        mTestTelephonyConnectionB.setOnHold();
+        mTestTelephonyConnectionA.setTelephonyConnectionActive();
+        mTestTelephonyConnectionB.setTelephonyConnectionOnHold();
 
         assertTrue(mTestTelephonyConnectionA.getConferenceables()
                 .contains(mTestTelephonyConnectionB));
@@ -160,7 +158,7 @@
         verify(mMockTelephonyConnectionServiceProxy).addConference(argumentCaptor.capture());
 
         // add a listener to the added conference
-        argumentCaptor.getValue().addListener(mMockListener);
+        argumentCaptor.getValue().addTelephonyConferenceListener(mMockListener);
 
         verify(mMockListener, never()).onDestroyed(any(Conference.class));
 
diff --git a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
index 583b498..2060e6f 100644
--- a/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
+++ b/tests/src/com/android/services/telephony/TelephonyConnectionServiceTest.java
@@ -16,15 +16,20 @@
 
 package com.android.services.telephony;
 
+import static com.android.internal.telephony.RILConstants.GSM_PHONE;
+
 import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertNotNull;
 import static junit.framework.Assert.assertTrue;
 import static junit.framework.Assert.fail;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -37,6 +42,8 @@
 import android.os.AsyncResult;
 import android.os.Bundle;
 import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Message;
 import android.telecom.ConnectionRequest;
 import android.telecom.DisconnectCause;
 import android.telecom.PhoneAccountHandle;
@@ -55,6 +62,7 @@
 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.emergency.EmergencyNumberTracker;
 import com.android.internal.telephony.gsm.SuppServiceNotification;
 
@@ -90,6 +98,7 @@
     private static final PhoneAccountHandle PHONE_ACCOUNT_HANDLE_2 = new PhoneAccountHandle(
             TEST_COMPONENT_NAME, TEST_ACCOUNT_ID2);
     private static final Uri TEST_ADDRESS = Uri.parse("tel:+16505551212");
+    private android.telecom.Connection mConnection;
 
     @Mock TelephonyConnectionService.TelephonyManagerProxy mTelephonyManagerProxy;
     @Mock TelephonyConnectionService.SubscriptionManagerProxy mSubscriptionManagerProxy;
@@ -98,9 +107,13 @@
     @Mock TelephonyConnectionService.PhoneSwitcherProxy mPhoneSwitcherProxy;
     @Mock TelephonyConnectionService.PhoneNumberUtilsProxy mPhoneNumberUtilsProxy;
     @Mock TelephonyConnectionService.PhoneUtilsProxy mPhoneUtilsProxy;
+    @Mock TelephonyConnectionService.HandlerFactory mHandlerFactory;
     @Mock TelephonyConnectionService.DisconnectCauseFactory mDisconnectCauseFactory;
+    @Mock Handler mMockHandler;
     @Mock EmergencyNumberTracker mEmergencyNumberTracker;
     @Mock PhoneSwitcher mPhoneSwitcher;
+    @Mock RadioOnHelper mRadioOnHelper;
+    @Mock ServiceStateTracker mSST;
 
     private static class TestTelephonyConnectionService extends TelephonyConnectionService {
 
@@ -130,9 +143,17 @@
         doReturn(false).when(mDeviceState).shouldCheckSimStateBeforeOutgoingCall(any());
         mTestConnectionService.setPhoneSwitcherProxy(mPhoneSwitcherProxy);
         doReturn(mPhoneSwitcher).when(mPhoneSwitcherProxy).getPhoneSwitcher();
+        when(mPhoneNumberUtilsProxy.convertToEmergencyNumber(any(), anyString()))
+                .thenAnswer(invocation -> invocation.getArgument(1));
         mTestConnectionService.setPhoneNumberUtilsProxy(mPhoneNumberUtilsProxy);
         mTestConnectionService.setPhoneUtilsProxy(mPhoneUtilsProxy);
+        HandlerThread mockHandlerThread = mock(HandlerThread.class);
+        doReturn(mockHandlerThread).when(mHandlerFactory).createHandlerThread(anyString());
+        doReturn(null).when(mockHandlerThread).getLooper();
+        doReturn(mMockHandler).when(mHandlerFactory).createHandler(any());
+        mTestConnectionService.setHandlerFactory(mHandlerFactory);
         mTestConnectionService.setDeviceState(mDeviceState);
+        mTestConnectionService.setRadioOnHelper(mRadioOnHelper);
         doReturn(new DisconnectCause(DisconnectCause.UNKNOWN)).when(mDisconnectCauseFactory)
                 .toTelecomDisconnectCause(anyInt(), any());
         doReturn(new DisconnectCause(DisconnectCause.UNKNOWN)).when(mDisconnectCauseFactory)
@@ -336,6 +357,37 @@
 
     /**
      * Prerequisites:
+     * - MSIM Device, only slot 1 inserted and PUK locked
+     * - slot 1 has higher capabilities
+     *
+     * Result: getFirstPhoneForEmergencyCall returns the slot 1 phone because it is the only one
+     * with a SIM inserted (even if it is PUK locked)
+     */
+    @Test
+    @SmallTest
+    public void testSlot1PinLockedAndSlot0Absent() {
+        Phone slot0Phone = makeTestPhone(SLOT_0_PHONE_ID, ServiceState.STATE_OUT_OF_SERVICE,
+                false /*isEmergencyOnly*/);
+        Phone slot1Phone = makeTestPhone(SLOT_1_PHONE_ID, ServiceState.STATE_OUT_OF_SERVICE,
+                false /*isEmergencyOnly*/);
+        setDefaultPhone(slot0Phone);
+        setupDeviceConfig(slot0Phone, slot1Phone, SLOT_0_PHONE_ID);
+        setPhoneSlotState(SLOT_0_PHONE_ID, TelephonyManager.SIM_STATE_ABSENT);
+        setPhoneSlotState(SLOT_1_PHONE_ID, TelephonyManager.SIM_STATE_PIN_REQUIRED);
+        // Slot 1 has more capabilities
+        setPhoneRadioAccessFamily(slot0Phone, RadioAccessFamily.RAF_GSM);
+        setPhoneRadioAccessFamily(slot1Phone, RadioAccessFamily.RAF_LTE);
+        // Slot 1 has SIM inserted.
+        setSlotHasIccCard(SLOT_0_PHONE_ID, false /*isInserted*/);
+        setSlotHasIccCard(SLOT_1_PHONE_ID, true /*isInserted*/);
+
+        Phone resultPhone = mTestConnectionService.getFirstPhoneForEmergencyCall();
+
+        assertEquals(slot1Phone, resultPhone);
+    }
+
+    /**
+     * Prerequisites:
      * - MSIM Device, two slots with SIMs inserted
      * - Slot 1 is LTE capable, Slot 0 is GSM capable
      *
@@ -879,11 +931,9 @@
     @Test
     @SmallTest
     public void testCreateOutgoingEmergencyConnection_delayDial_carrierconfig_dds() {
-        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
-                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
-                .setAddress(TEST_ADDRESS)
-                .build();
         Phone testPhone = setupConnectionServiceForDelayDial();
+        Runnable delayDialRunnable = verifyRunnablePosted();
+
         // Setup test to not support SUPL on the non-DDS subscription
         doReturn(true).when(mDeviceState).isSuplDdsSwitchRequiredForEmergencyCall(any());
         getTestContext().getCarrierConfig().putStringArray(
@@ -895,27 +945,80 @@
                 CarrierConfigManager.Gps.SUPL_EMERGENCY_MODE_TYPE_DP_ONLY);
         getTestContext().getCarrierConfig().putString(
                 CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, "150");
-
-        android.telecom.Connection testConnection = mTestConnectionService
-                .onCreateOutgoingConnection(PHONE_ACCOUNT_HANDLE_1, connectionRequest);
-        assertNotNull("test connection was not set up correctly.", testConnection);
+        delayDialRunnable.run();
 
         verify(mPhoneSwitcher).overrideDefaultDataForEmergency(eq(0) /*phoneId*/ ,
                 eq(150) /*extensionTime*/, any());
     }
 
     /**
+     * Test that the TelephonyConnectionService successfully turns radio on before placing the
+     * emergency call.
+     */
+    @Test
+    @SmallTest
+    public void testCreateOutgoingEmerge_exitingApm_disconnected() {
+        when(mDeviceState.isAirplaneModeOn(any())).thenReturn(true);
+        Phone testPhone = setupConnectionServiceInApm();
+
+        ArgumentCaptor<RadioOnStateListener.Callback> callback =
+                ArgumentCaptor.forClass(RadioOnStateListener.Callback.class);
+        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true),
+                eq(testPhone));
+
+        assertFalse(callback.getValue().isOkToCall(testPhone, ServiceState.STATE_OUT_OF_SERVICE));
+        when(mSST.isRadioOn()).thenReturn(true);
+        assertTrue(callback.getValue().isOkToCall(testPhone, ServiceState.STATE_OUT_OF_SERVICE));
+
+        mConnection.setDisconnected(null);
+        callback.getValue().onComplete(null, true);
+        for (Phone phone : mPhoneFactoryProxy.getPhones()) {
+            verify(phone).setRadioPower(true, false, false, true);
+        }
+    }
+
+    /**
+     * Test that the TelephonyConnectionService successfully turns radio on before placing the
+     * emergency call.
+     */
+    @Test
+    @SmallTest
+    public void testCreateOutgoingEmergencyConnection_exitingApm_placeCall() {
+        when(mDeviceState.isAirplaneModeOn(any())).thenReturn(true);
+        Phone testPhone = setupConnectionServiceInApm();
+
+        ArgumentCaptor<RadioOnStateListener.Callback> callback =
+                ArgumentCaptor.forClass(RadioOnStateListener.Callback.class);
+        verify(mRadioOnHelper).triggerRadioOnAndListen(callback.capture(), eq(true),
+                eq(testPhone));
+
+        assertFalse(callback.getValue().isOkToCall(testPhone, ServiceState.STATE_OUT_OF_SERVICE));
+        when(mSST.isRadioOn()).thenReturn(true);
+        assertTrue(callback.getValue().isOkToCall(testPhone, ServiceState.STATE_OUT_OF_SERVICE));
+
+        callback.getValue().onComplete(null, true);
+        Runnable delayDialRunnable = verifyRunnablePosted();
+
+        try {
+            doAnswer(invocation -> null).when(mContext).startActivity(any());
+            delayDialRunnable.run();
+            verify(testPhone).dial(anyString(), any());
+        } catch (CallStateException e) {
+            // This shouldn't happen
+            fail();
+        }
+    }
+
+    /**
      * Test that the TelephonyConnectionService does not perform a DDS switch when the carrier
      * supports control-plane fallback.
      */
     @Test
     @SmallTest
     public void testCreateOutgoingEmergencyConnection_delayDial_nocarrierconfig() {
-        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
-                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
-                .setAddress(TEST_ADDRESS)
-                .build();
         Phone testPhone = setupConnectionServiceForDelayDial();
+        Runnable delayDialRunnable = verifyRunnablePosted();
+
         // Setup test to not support SUPL on the non-DDS subscription
         doReturn(true).when(mDeviceState).isSuplDdsSwitchRequiredForEmergencyCall(any());
         getTestContext().getCarrierConfig().putStringArray(
@@ -927,10 +1030,7 @@
                 CarrierConfigManager.Gps.SUPL_EMERGENCY_MODE_TYPE_CP_FALLBACK);
         getTestContext().getCarrierConfig().putString(
                 CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, "0");
-
-        android.telecom.Connection testConnection = mTestConnectionService
-                .onCreateOutgoingConnection(PHONE_ACCOUNT_HANDLE_1, connectionRequest);
-        assertNotNull("test connection was not set up correctly.", testConnection);
+        delayDialRunnable.run();
 
         verify(mPhoneSwitcher, never()).overrideDefaultDataForEmergency(anyInt(), anyInt(), any());
     }
@@ -942,11 +1042,9 @@
     @Test
     @SmallTest
     public void testCreateOutgoingEmergencyConnection_delayDial_supportsuplondds() {
-        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
-                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
-                .setAddress(TEST_ADDRESS)
-                .build();
         Phone testPhone = setupConnectionServiceForDelayDial();
+        Runnable delayDialRunnable = verifyRunnablePosted();
+
         // If the non-DDS supports SUPL, dont switch data
         doReturn(false).when(mDeviceState).isSuplDdsSwitchRequiredForEmergencyCall(any());
         getTestContext().getCarrierConfig().putStringArray(
@@ -958,10 +1056,7 @@
                 CarrierConfigManager.Gps.SUPL_EMERGENCY_MODE_TYPE_DP_ONLY);
         getTestContext().getCarrierConfig().putString(
                 CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, "0");
-
-        android.telecom.Connection testConnection = mTestConnectionService
-                .onCreateOutgoingConnection(PHONE_ACCOUNT_HANDLE_1, connectionRequest);
-        assertNotNull("test connection was not set up correctly.", testConnection);
+        delayDialRunnable.run();
 
         verify(mPhoneSwitcher, never()).overrideDefaultDataForEmergency(anyInt(), anyInt(), any());
     }
@@ -973,11 +1068,9 @@
     @Test
     @SmallTest
     public void testCreateOutgoingEmergencyConnection_delayDial_roaming_nocarrierconfig() {
-        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
-                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
-                .setAddress(TEST_ADDRESS)
-                .build();
         Phone testPhone = setupConnectionServiceForDelayDial();
+        Runnable delayDialRunnable = verifyRunnablePosted();
+
         // Setup test to not support SUPL on the non-DDS subscription
         doReturn(true).when(mDeviceState).isSuplDdsSwitchRequiredForEmergencyCall(any());
         getTestContext().getCarrierConfig().putStringArray(
@@ -989,10 +1082,7 @@
                 CarrierConfigManager.Gps.SUPL_EMERGENCY_MODE_TYPE_DP_ONLY);
         getTestContext().getCarrierConfig().putString(
                 CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, "0");
-
-        android.telecom.Connection testConnection = mTestConnectionService
-                .onCreateOutgoingConnection(PHONE_ACCOUNT_HANDLE_1, connectionRequest);
-        assertNotNull("test connection was not set up correctly.", testConnection);
+        delayDialRunnable.run();
 
         verify(mPhoneSwitcher, never()).overrideDefaultDataForEmergency(anyInt(), anyInt(), any());
     }
@@ -1005,11 +1095,9 @@
     @Test
     @SmallTest
     public void testCreateOutgoingEmergencyConnection_delayDial_roamingcarrierconfig() {
-        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
-                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
-                .setAddress(TEST_ADDRESS)
-                .build();
         Phone testPhone = setupConnectionServiceForDelayDial();
+        Runnable delayDialRunnable = verifyRunnablePosted();
+
         // Setup voice roaming scenario
         String testRoamingOperator = "001001";
         // In some roaming conditions, we are not technically "roaming"
@@ -1027,10 +1115,7 @@
                 CarrierConfigManager.Gps.SUPL_EMERGENCY_MODE_TYPE_CP_FALLBACK);
         getTestContext().getCarrierConfig().putString(
                 CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, "0");
-
-        android.telecom.Connection testConnection = mTestConnectionService
-                .onCreateOutgoingConnection(PHONE_ACCOUNT_HANDLE_1, connectionRequest);
-        assertNotNull("test connection was not set up correctly.", testConnection);
+        delayDialRunnable.run();
 
         verify(mPhoneSwitcher).overrideDefaultDataForEmergency(eq(0) /*phoneId*/ ,
                 eq(0) /*extensionTime*/, any());
@@ -1044,11 +1129,9 @@
     @Test
     @SmallTest
     public void testCreateOutgoingEmergencyConnection_delayDial__roaming_roamingcarrierconfig() {
-        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
-                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
-                .setAddress(TEST_ADDRESS)
-                .build();
         Phone testPhone = setupConnectionServiceForDelayDial();
+        Runnable delayDialRunnable = verifyRunnablePosted();
+
         // Setup voice roaming scenario
         String testRoamingOperator = "001001";
         testPhone.getServiceState().setRoaming(true);
@@ -1065,10 +1148,7 @@
                 CarrierConfigManager.Gps.SUPL_EMERGENCY_MODE_TYPE_CP_FALLBACK);
         getTestContext().getCarrierConfig().putString(
                 CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, "0");
-
-        android.telecom.Connection testConnection = mTestConnectionService
-                .onCreateOutgoingConnection(PHONE_ACCOUNT_HANDLE_1, connectionRequest);
-        assertNotNull("test connection was not set up correctly.", testConnection);
+        delayDialRunnable.run();
 
         verify(mPhoneSwitcher).overrideDefaultDataForEmergency(eq(0) /*phoneId*/ ,
                 eq(0) /*extensionTime*/, any());
@@ -1079,6 +1159,10 @@
      * @return the Phone associated with slot 0.
      */
     private Phone setupConnectionServiceForDelayDial() {
+        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
+                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
+                .setAddress(TEST_ADDRESS)
+                .build();
         Phone testPhone0 = makeTestPhone(0 /*phoneId*/, ServiceState.STATE_IN_SERVICE,
                 false /*isEmergencyOnly*/);
         Phone testPhone1 = makeTestPhone(1 /*phoneId*/, ServiceState.STATE_OUT_OF_SERVICE,
@@ -1100,9 +1184,62 @@
         doReturn(emergencyNumbers).when(mTelephonyManagerProxy).getCurrentEmergencyNumberList();
         doReturn(2).when(mTelephonyManagerProxy).getPhoneCount();
 
+        mConnection = mTestConnectionService.onCreateOutgoingConnection(
+                PHONE_ACCOUNT_HANDLE_1, connectionRequest);
+        assertNotNull("test connection was not set up correctly.", mConnection);
+
         return testPhone0;
     }
 
+
+    /**
+     * Set up a mock MSIM device with TEST_ADDRESS set as an emergency number in airplane mode.
+     * @return the Phone associated with slot 0.
+     */
+    private Phone setupConnectionServiceInApm() {
+        ConnectionRequest connectionRequest = new ConnectionRequest.Builder()
+                .setAccountHandle(PHONE_ACCOUNT_HANDLE_1)
+                .setAddress(TEST_ADDRESS)
+                .build();
+        Phone testPhone0 = makeTestPhone(0 /*phoneId*/, ServiceState.STATE_POWER_OFF,
+                false /*isEmergencyOnly*/);
+        Phone testPhone1 = makeTestPhone(1 /*phoneId*/, ServiceState.STATE_POWER_OFF,
+                false /*isEmergencyOnly*/);
+        doReturn(GSM_PHONE).when(testPhone0).getPhoneType();
+        doReturn(GSM_PHONE).when(testPhone1).getPhoneType();
+        List<Phone> phones = new ArrayList<>(2);
+        doReturn(false).when(testPhone0).isRadioOn();
+        doReturn(false).when(testPhone1).isRadioOn();
+        phones.add(testPhone0);
+        phones.add(testPhone1);
+        setPhones(phones);
+        setupHandleToPhoneMap(PHONE_ACCOUNT_HANDLE_1, testPhone0);
+        setupDeviceConfig(testPhone0, testPhone1, 0);
+        doReturn(true).when(mTelephonyManagerProxy).isCurrentEmergencyNumber(
+                TEST_ADDRESS.getSchemeSpecificPart());
+        HashMap<Integer, List<EmergencyNumber>> emergencyNumbers = new HashMap<>(1);
+        List<EmergencyNumber> numbers = new ArrayList<>();
+        numbers.add(setupEmergencyNumber(TEST_ADDRESS));
+        emergencyNumbers.put(0 /*subId*/, numbers);
+        doReturn(emergencyNumbers).when(mTelephonyManagerProxy).getCurrentEmergencyNumberList();
+        doReturn(2).when(mTelephonyManagerProxy).getPhoneCount();
+
+        mConnection = mTestConnectionService.onCreateOutgoingConnection(
+                PHONE_ACCOUNT_HANDLE_1, connectionRequest);
+        assertNotNull("test connection was not set up correctly.", mConnection);
+
+        return testPhone0;
+    }
+
+    private Runnable verifyRunnablePosted() {
+        ArgumentCaptor<Message> runnableCaptor = ArgumentCaptor.forClass(Message.class);
+        verify(mMockHandler).sendMessageDelayed(runnableCaptor.capture(), anyLong());
+        assertNotNull("Invalid Message created", runnableCaptor.getValue());
+        Runnable runnable = runnableCaptor.getValue().getCallback();
+        assertNotNull("sendMessageDelayed never occurred.", runnableCaptor);
+        return runnable;
+    }
+
     private EmergencyNumber setupEmergencyNumber(Uri address) {
         return new EmergencyNumber(address.getSchemeSpecificPart(), "", "",
         EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED,
@@ -1134,6 +1271,9 @@
         when(phone.getServiceState()).thenReturn(testServiceState);
         when(phone.getPhoneId()).thenReturn(phoneId);
         when(phone.getDefaultPhone()).thenReturn(phone);
+        when(phone.getEmergencyNumberTracker()).thenReturn(mEmergencyNumberTracker);
+        when(phone.getServiceStateTracker()).thenReturn(mSST);
+        when(mEmergencyNumberTracker.getEmergencyNumber(anyString())).thenReturn(null);
         return phone;
     }
 
@@ -1163,6 +1303,7 @@
 
     private void setPhones(List<Phone> phones) {
         when(mPhoneFactoryProxy.getPhones()).thenReturn(phones.toArray(new Phone[phones.size()]));
+        when(mPhoneFactoryProxy.getDefaultPhone()).thenReturn(phones.get(0));
     }
 
     private void setPhonesDialConnection(Phone phone, Connection c) {
diff --git a/tests/src/com/android/services/telephony/TelephonyConnectionTest.java b/tests/src/com/android/services/telephony/TelephonyConnectionTest.java
new file mode 100644
index 0000000..7d15680
--- /dev/null
+++ b/tests/src/com/android/services/telephony/TelephonyConnectionTest.java
@@ -0,0 +1,25 @@
+package com.android.services.telephony;
+
+import static junit.framework.Assert.assertEquals;
+
+import android.os.Bundle;
+import android.telecom.Connection;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import androidx.test.runner.AndroidJUnit4;
+
+@RunWith(AndroidJUnit4.class)
+public class TelephonyConnectionTest {
+
+    @Test
+    public void testCodecInIms() {
+        TestTelephonyConnection c = new TestTelephonyConnection();
+        c.updateState();
+        Bundle extras = c.getExtras();
+        int codec = extras.getInt(Connection.EXTRA_AUDIO_CODEC, Connection.AUDIO_CODEC_NONE);
+        assertEquals(codec, Connection.AUDIO_CODEC_AMR);
+    }
+
+}
diff --git a/tests/src/com/android/services/telephony/TestTelephonyConnection.java b/tests/src/com/android/services/telephony/TestTelephonyConnection.java
index c4d6568..09cec17 100644
--- a/tests/src/com/android/services/telephony/TestTelephonyConnection.java
+++ b/tests/src/com/android/services/telephony/TestTelephonyConnection.java
@@ -24,14 +24,17 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 import com.android.internal.telephony.Call;
+import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
+import com.android.internal.telephony.emergency.EmergencyNumberTracker;
 
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
@@ -57,6 +60,9 @@
     @Mock
     Resources mMockResources;
 
+    @Mock
+    EmergencyNumberTracker mEmergencyNumberTracker;
+
     private Phone mMockPhone;
     private int mNotifyPhoneAccountChangedCount = 0;
     private List<String> mLastConnectionEvents = new ArrayList<>();
@@ -67,20 +73,30 @@
         return mMockRadioConnection;
     }
 
+    @Override
+    protected Call getCall() {
+        return mMockCall;
+    }
+
     public TestTelephonyConnection() {
-        super(null, null, false);
+        super(null, null, android.telecom.Call.Details.DIRECTION_INCOMING);
         MockitoAnnotations.initMocks(this);
 
         mMockPhone = mock(Phone.class);
         mMockContext = mock(Context.class);
-        mOriginalConnection = mock(Connection.class);
+        mOriginalConnection = mMockRadioConnection;
         // Set up mMockRadioConnection and mMockPhone to contain an active call
         when(mMockRadioConnection.getState()).thenReturn(Call.State.ACTIVE);
+        when(mOriginalConnection.getState()).thenReturn(Call.State.ACTIVE);
+        when(mMockRadioConnection.getAudioCodec()).thenReturn(
+                android.telecom.Connection.AUDIO_CODEC_AMR);
         when(mMockRadioConnection.getCall()).thenReturn(mMockCall);
         when(mMockRadioConnection.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_IMS);
         doNothing().when(mMockRadioConnection).addListener(any(Connection.Listener.class));
         doNothing().when(mMockRadioConnection).addPostDialListener(
                 any(Connection.PostDialListener.class));
+        when(mEmergencyNumberTracker.getEmergencyNumber(anyString())).thenReturn(null);
+        when(mMockPhone.getEmergencyNumberTracker()).thenReturn(mEmergencyNumberTracker);
         when(mMockPhone.getRingingCall()).thenReturn(mMockCall);
         when(mMockPhone.getContext()).thenReturn(mMockContext);
         when(mMockPhone.getCurrentSubscriberUris()).thenReturn(null);
@@ -90,6 +106,11 @@
         when(mMockPhone.getPhoneType()).thenReturn(PhoneConstants.PHONE_TYPE_IMS);
         when(mMockCall.getState()).thenReturn(Call.State.ACTIVE);
         when(mMockCall.getPhone()).thenReturn(mMockPhone);
+        try {
+            doNothing().when(mMockCall).hangup();
+        } catch (CallStateException e) {
+            e.printStackTrace();
+        }
     }
 
     @Override
@@ -134,6 +155,16 @@
     }
 
     @Override
+    public CharSequence getResourceText(int messageId) {
+        return "TEST";
+    }
+
+    @Override
+    public String getResourceString(int id) {
+        return "TEST";
+    }
+
+    @Override
     void refreshConferenceSupported() {
         // Requires ImsManager dependencies, do not implement during testing.
     }
diff --git a/tests/src/com/android/services/telephony/rcs/RcsFeatureControllerTest.java b/tests/src/com/android/services/telephony/rcs/RcsFeatureControllerTest.java
new file mode 100644
index 0000000..fbb270d
--- /dev/null
+++ b/tests/src/com/android/services/telephony/rcs/RcsFeatureControllerTest.java
@@ -0,0 +1,283 @@
+/*
+ * 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.rcs;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.telephony.AccessNetworkConstants;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.ImsReasonInfo;
+import android.telephony.ims.RegistrationManager;
+import android.telephony.ims.aidl.IImsCapabilityCallback;
+import android.telephony.ims.aidl.IImsRegistrationCallback;
+import android.telephony.ims.feature.RcsFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.TelephonyTestBase;
+import com.android.ims.FeatureConnector;
+import com.android.ims.RcsFeatureManager;
+import com.android.internal.telephony.imsphone.ImsRegistrationCallbackHelper;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+
+import java.util.concurrent.Executor;
+
+@RunWith(AndroidJUnit4.class)
+public class RcsFeatureControllerTest extends TelephonyTestBase {
+
+    private static final ImsReasonInfo REASON_DISCONNECTED = new ImsReasonInfo(
+            ImsReasonInfo.CODE_LOCAL_IMS_SERVICE_DOWN, 0, "test");
+
+    @Mock RcsFeatureManager mFeatureManager;
+    @Mock RcsFeatureController.FeatureConnectorFactory<RcsFeatureManager> mFeatureFactory;
+    @Mock ImsRegistrationCallbackHelper.ImsRegistrationUpdate mRegistrationCallback;
+    @Mock FeatureConnector<RcsFeatureManager> mFeatureConnector;
+    @Mock RcsFeatureController.Feature mMockFeature;
+    @Captor ArgumentCaptor<FeatureConnector.Listener<RcsFeatureManager>> mConnectorListener;
+
+    private RcsFeatureController.RegistrationHelperFactory mRegistrationFactory =
+            new RcsFeatureController.RegistrationHelperFactory() {
+                @Override
+                public ImsRegistrationCallbackHelper create(
+                        ImsRegistrationCallbackHelper.ImsRegistrationUpdate cb, Executor executor) {
+                    // Run on current thread for testing.
+                    return new ImsRegistrationCallbackHelper(mRegistrationCallback, Runnable::run);
+                }
+            };
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    @Test
+    public void testRcsFeatureManagerConnectDisconnect() throws Exception {
+        RcsFeatureController controller = createFeatureController();
+        controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
+        verify(mMockFeature).onRcsDisconnected();
+        // Connect the RcsFeatureManager
+        mConnectorListener.getValue().connectionReady(mFeatureManager);
+
+        verify(mFeatureManager).updateCapabilities();
+        verify(mFeatureManager).registerImsRegistrationCallback(any());
+        verify(mMockFeature).onRcsConnected(mFeatureManager);
+
+        // Disconnect
+        mConnectorListener.getValue().connectionUnavailable();
+
+        verify(mFeatureManager).unregisterImsRegistrationCallback(any());
+        verify(mMockFeature, times(2)).onRcsDisconnected();
+    }
+
+    @Test
+    public void testFeatureManagerConnectedAddRemoveFeature() throws Exception {
+        RcsFeatureController controller = createFeatureController();
+        // Connect the RcsFeatureManager
+        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
+
+        verify(mMockFeature).onRcsConnected(mFeatureManager);
+        assertEquals(mMockFeature, controller.getFeature(RcsFeatureController.Feature.class));
+
+        controller.removeFeature(RcsFeatureController.Feature.class);
+        verify(mMockFeature).onDestroy();
+        assertNull(controller.getFeature(RcsFeatureController.Feature.class));
+    }
+
+    @Test
+    public void testFeatureManagerConnectedRegister() throws Exception {
+        RcsFeatureController controller = createFeatureController();
+        IImsRegistrationCallback regCb = mock(IImsRegistrationCallback.class);
+        IImsCapabilityCallback capCb = mock(IImsCapabilityCallback.class);
+        // Connect the RcsFeatureManager
+        mConnectorListener.getValue().connectionReady(mFeatureManager);
+
+        try {
+            controller.registerImsRegistrationCallback(0 /*subId*/, regCb);
+            controller.registerRcsAvailabilityCallback(0 /*subId*/, capCb);
+            controller.isCapable(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE,
+                    ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+            controller.isAvailable(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE);
+            controller.getRegistrationTech(integer -> {
+            });
+            verify(mFeatureManager).registerImsRegistrationCallback(0, regCb);
+            verify(mFeatureManager).registerRcsAvailabilityCallback(0, capCb);
+            verify(mFeatureManager).isCapable(
+                    RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE,
+                    ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+            verify(mFeatureManager).isAvailable(
+                    RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE);
+            verify(mFeatureManager).getImsRegistrationTech(any());
+        } catch (ImsException e) {
+            fail("ImsException not expected.");
+        }
+
+        controller.unregisterImsRegistrationCallback(0, regCb);
+        controller.unregisterRcsAvailabilityCallback(0, capCb);
+        verify(mFeatureManager).unregisterImsRegistrationCallback(0, regCb);
+        verify(mFeatureManager).unregisterRcsAvailabilityCallback(0, capCb);
+    }
+
+    @Test
+    public void testFeatureManagerConnectedHelper() throws Exception {
+        RcsFeatureController controller = createFeatureController();
+        // Connect the RcsFeatureManager
+        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        ArgumentCaptor<IImsRegistrationCallback> captor =
+                ArgumentCaptor.forClass(IImsRegistrationCallback.class);
+        verify(mFeatureManager).registerImsRegistrationCallback(captor.capture());
+        assertNotNull(captor.getValue());
+
+        captor.getValue().onDeregistered(REASON_DISCONNECTED);
+        controller.getRegistrationState(result -> {
+            assertNotNull(result);
+            assertEquals(RegistrationManager.REGISTRATION_STATE_NOT_REGISTERED, result.intValue());
+        });
+        verify(mRegistrationCallback).handleImsUnregistered(REASON_DISCONNECTED);
+
+        captor.getValue().onRegistering(ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+        controller.getRegistrationState(result -> {
+            assertNotNull(result);
+            assertEquals(RegistrationManager.REGISTRATION_STATE_REGISTERING, result.intValue());
+        });
+        verify(mRegistrationCallback).handleImsRegistering(
+                AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
+
+        captor.getValue().onRegistered(ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+        controller.getRegistrationState(result -> {
+            assertNotNull(result);
+            assertEquals(RegistrationManager.REGISTRATION_STATE_REGISTERED, result.intValue());
+        });
+        verify(mRegistrationCallback).handleImsRegistered(
+                AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
+    }
+
+    @Test
+    public void testFeatureManagerDisconnectedAddFeature() {
+        RcsFeatureController controller = createFeatureController();
+        // Disconnect the RcsFeatureManager
+        mConnectorListener.getValue().connectionUnavailable();
+        controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
+
+        verify(mMockFeature).onRcsDisconnected();
+    }
+
+    @Test
+    public void testFeatureManagerDisconnectedException() {
+        RcsFeatureController controller = createFeatureController();
+        IImsRegistrationCallback regCb = mock(IImsRegistrationCallback.class);
+        IImsCapabilityCallback capCb = mock(IImsCapabilityCallback.class);
+        // Disconnect the RcsFeatureManager
+        mConnectorListener.getValue().connectionUnavailable();
+
+        try {
+            controller.registerImsRegistrationCallback(0 /*subId*/, null /*callback*/);
+            fail("ImsException expected for IMS registration.");
+        } catch (ImsException e) {
+            //expected
+        }
+        try {
+            controller.registerRcsAvailabilityCallback(0 /*subId*/, null /*callback*/);
+            fail("ImsException expected for availability");
+        } catch (ImsException e) {
+            //expected
+        }
+        try {
+            controller.isCapable(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE,
+                    ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+            fail("ImsException expected for capability check");
+        } catch (ImsException e) {
+            //expected
+        }
+        try {
+            controller.isAvailable(RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE);
+            fail("ImsException expected for availability check");
+        } catch (ImsException e) {
+            //expected
+        }
+        controller.getRegistrationTech(integer -> {
+            assertNotNull(integer);
+            assertEquals(ImsRegistrationImplBase.REGISTRATION_TECH_NONE, integer.intValue());
+        });
+        controller.unregisterImsRegistrationCallback(0, regCb);
+        controller.unregisterRcsAvailabilityCallback(0, capCb);
+        verify(mFeatureManager, never()).unregisterImsRegistrationCallback(0, regCb);
+        verify(mFeatureManager, never()).unregisterRcsAvailabilityCallback(0, capCb);
+    }
+
+    @Test
+    public void testChangeSubId() throws Exception {
+        RcsFeatureController controller = createFeatureController();
+        // Connect the RcsFeatureManager
+        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        verify(mFeatureManager).updateCapabilities();
+        controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
+
+        controller.updateAssociatedSubscription(1 /*new sub id*/);
+
+        verify(mFeatureManager, times(2)).updateCapabilities();
+        verify(mMockFeature).onAssociatedSubscriptionUpdated(1 /*new sub id*/);
+    }
+
+    @Test
+    public void testDestroy() throws Exception {
+        RcsFeatureController controller = createFeatureController();
+        // Connect the RcsFeatureManager
+        mConnectorListener.getValue().connectionReady(mFeatureManager);
+        controller.addFeature(mMockFeature, RcsFeatureController.Feature.class);
+        controller.destroy();
+
+        verify(mFeatureConnector).disconnect();
+        verify(mMockFeature).onRcsDisconnected();
+        verify(mMockFeature).onDestroy();
+        assertNull(controller.getFeature(RcsFeatureController.Feature.class));
+    }
+
+    private RcsFeatureController createFeatureController() {
+        RcsFeatureController controller = new RcsFeatureController(mContext, 0 /*slotId*/,
+                mRegistrationFactory);
+        controller.setFeatureConnectorFactory(mFeatureFactory);
+        doReturn(mFeatureConnector).when(mFeatureFactory).create(any(), anyInt(),
+                mConnectorListener.capture(), any(), any());
+        controller.connect();
+        assertNotNull(mConnectorListener.getValue());
+        return controller;
+    }
+}
diff --git a/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java b/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
new file mode 100644
index 0000000..cfb68b7
--- /dev/null
+++ b/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
@@ -0,0 +1,249 @@
+/*
+ * 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.rcs;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.content.BroadcastReceiver;
+import android.content.Intent;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.TelephonyTestBase;
+import com.android.ims.FeatureConnector;
+import com.android.ims.RcsFeatureManager;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+
+@RunWith(AndroidJUnit4.class)
+public class TelephonyRcsServiceTest extends TelephonyTestBase {
+
+    @Captor ArgumentCaptor<BroadcastReceiver> mReceiverCaptor;
+    @Mock TelephonyRcsService.FeatureFactory mFeatureFactory;
+    @Mock UserCapabilityExchangeImpl mMockUceSlot0;
+    @Mock UserCapabilityExchangeImpl mMockUceSlot1;
+    @Mock RcsFeatureController.RegistrationHelperFactory mRegistrationFactory;
+    @Mock RcsFeatureController.FeatureConnectorFactory<RcsFeatureManager> mFeatureConnectorFactory;
+    @Mock FeatureConnector<RcsFeatureManager> mFeatureConnector;
+
+    private RcsFeatureController mFeatureControllerSlot0;
+    private RcsFeatureController mFeatureControllerSlot1;
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        doReturn(mFeatureConnector).when(mFeatureConnectorFactory).create(any(), anyInt(),
+                any(), any(), any());
+        mFeatureControllerSlot0 = createFeatureController(0 /*slotId*/);
+        mFeatureControllerSlot1 = createFeatureController(1 /*slotId*/);
+        doReturn(mFeatureControllerSlot0).when(mFeatureFactory).createController(any(), eq(0));
+        doReturn(mFeatureControllerSlot1).when(mFeatureFactory).createController(any(), eq(1));
+        doReturn(mMockUceSlot0).when(mFeatureFactory).createUserCapabilityExchange(any(), eq(0),
+                anyInt());
+        doReturn(mMockUceSlot1).when(mFeatureFactory).createUserCapabilityExchange(any(), eq(1),
+                anyInt());
+        //set up default slot-> sub ID mappings.
+        setSlotToSubIdMapping(0 /*slotId*/, 1/*subId*/);
+        setSlotToSubIdMapping(1 /*slotId*/, 2/*subId*/);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    @Test
+    public void testUserCapabilityExchangePresenceConnected() {
+        setCarrierConfig(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, true /*isEnabled*/);
+        createRcsService(1 /*numSlots*/);
+        verify(mFeatureControllerSlot0).addFeature(mMockUceSlot0, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0).connect();
+    }
+
+    @Test
+    public void testUserCapabilityExchangeOptionsConnected() {
+        setCarrierConfig(CarrierConfigManager.KEY_USE_RCS_SIP_OPTIONS_BOOL, true /*isEnabled*/);
+        createRcsService(1 /*numSlots*/);
+        verify(mFeatureControllerSlot0).addFeature(mMockUceSlot0, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0).connect();
+    }
+
+    @Test
+    public void testNoFeaturesEnabled() {
+        createRcsService(1 /*numSlots*/);
+        // No carrier config set for UCE.
+        verify(mFeatureControllerSlot0, never()).addFeature(mMockUceSlot0,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0, never()).connect();
+    }
+
+    @Test
+    public void testNoFeaturesEnabledCarrierConfigChanged() {
+        createRcsService(1 /*numSlots*/);
+        // No carrier config set for UCE.
+
+        sendCarrierConfigChanged(0, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+        verify(mFeatureControllerSlot0, never()).addFeature(mMockUceSlot0,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0, never()).connect();
+        verify(mFeatureControllerSlot0, never()).updateAssociatedSubscription(anyInt());
+    }
+
+
+    @Test
+    public void testSlotUpdates() {
+        setCarrierConfig(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, true /*isEnabled*/);
+        TelephonyRcsService service = createRcsService(1 /*numSlots*/);
+        verify(mFeatureControllerSlot0).addFeature(mMockUceSlot0, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0).connect();
+
+        // there should be no changes if the new num slots = old num
+        service.updateFeatureControllerSize(1 /*newNumSlots*/);
+        verify(mFeatureControllerSlot0, times(1)).addFeature(mMockUceSlot0,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0, times(1)).connect();
+
+        // Add a new slot.
+        verify(mFeatureControllerSlot1, never()).addFeature(mMockUceSlot1,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot1, never()).connect();
+        service.updateFeatureControllerSize(2 /*newNumSlots*/);
+        // This shouldn't have changed for slot 0.
+        verify(mFeatureControllerSlot0, times(1)).addFeature(mMockUceSlot0,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0, times(1)).connect();
+        verify(mFeatureControllerSlot1).addFeature(mMockUceSlot1, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot1, times(1)).connect();
+
+        // Remove a slot.
+        verify(mFeatureControllerSlot0, never()).destroy();
+        verify(mFeatureControllerSlot1, never()).destroy();
+        service.updateFeatureControllerSize(1 /*newNumSlots*/);
+        // addFeature/connect shouldn't have been called again
+        verify(mFeatureControllerSlot0, times(1)).addFeature(mMockUceSlot0,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0, times(1)).connect();
+        verify(mFeatureControllerSlot1, times(1)).addFeature(mMockUceSlot1,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot1, times(1)).connect();
+        // Verify destroy is only called for slot 1.
+        verify(mFeatureControllerSlot0, never()).destroy();
+        verify(mFeatureControllerSlot1, times(1)).destroy();
+    }
+
+    @Test
+    public void testCarrierConfigUpdate() {
+        setCarrierConfig(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, true /*isEnabled*/);
+        createRcsService(2 /*numSlots*/);
+        verify(mFeatureControllerSlot0).addFeature(mMockUceSlot0, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot1).addFeature(mMockUceSlot1, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0).connect();
+        verify(mFeatureControllerSlot1).connect();
+
+
+        // Send carrier config update for each slot.
+        sendCarrierConfigChanged(0 /*slotId*/, 1 /*subId*/);
+        verify(mFeatureControllerSlot0).updateAssociatedSubscription(1);
+        verify(mFeatureControllerSlot1, never()).updateAssociatedSubscription(1);
+        sendCarrierConfigChanged(1 /*slotId*/, 2 /*subId*/);
+        verify(mFeatureControllerSlot0, never()).updateAssociatedSubscription(2);
+        verify(mFeatureControllerSlot1, times(1)).updateAssociatedSubscription(2);
+    }
+
+    @Test
+    public void testCarrierConfigUpdateUceToNoUce() {
+        setCarrierConfig(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, true /*isEnabled*/);
+        createRcsService(1 /*numSlots*/);
+        verify(mFeatureControllerSlot0).addFeature(mMockUceSlot0, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0).connect();
+
+
+        // Send carrier config update for each slot.
+        setCarrierConfig(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, false /*isEnabled*/);
+        sendCarrierConfigChanged(0 /*slotId*/, 1 /*subId*/);
+        verify(mFeatureControllerSlot0).removeFeature(UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0).updateAssociatedSubscription(1);
+    }
+
+    @Test
+    public void testCarrierConfigUpdateNoUceToUce() {
+        createRcsService(1 /*numSlots*/);
+        verify(mFeatureControllerSlot0, never()).addFeature(mMockUceSlot0,
+                UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0, never()).connect();
+
+
+        // Send carrier config update for each slot.
+        setCarrierConfig(CarrierConfigManager.KEY_USE_RCS_PRESENCE_BOOL, true /*isEnabled*/);
+        sendCarrierConfigChanged(0 /*slotId*/, 1 /*subId*/);
+        verify(mFeatureControllerSlot0).addFeature(mMockUceSlot0, UserCapabilityExchangeImpl.class);
+        verify(mFeatureControllerSlot0).connect();
+        verify(mFeatureControllerSlot0).updateAssociatedSubscription(1);
+    }
+
+    private void sendCarrierConfigChanged(int slotId, int subId) {
+        Intent intent = new Intent(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
+        intent.putExtra(CarrierConfigManager.EXTRA_SLOT_INDEX, slotId);
+        intent.putExtra(CarrierConfigManager.EXTRA_SUBSCRIPTION_INDEX, subId);
+        mReceiverCaptor.getValue().onReceive(mContext, intent);
+    }
+
+    private void setCarrierConfig(String key, boolean value) {
+        PersistableBundle bundle = mContext.getCarrierConfig();
+        bundle.putBoolean(key, value);
+    }
+
+    private void setSlotToSubIdMapping(int slotId, int loadedSubId) {
+        SubscriptionManager m = mContext.getSystemService(SubscriptionManager.class);
+        int [] subIds = new int[1];
+        subIds[0] = loadedSubId;
+        doReturn(subIds).when(m).getSubscriptionIds(eq(slotId));
+    }
+
+    private TelephonyRcsService createRcsService(int numSlots) {
+        TelephonyRcsService service = new TelephonyRcsService(mContext, numSlots);
+        service.setFeatureFactory(mFeatureFactory);
+        service.initialize();
+        verify(mContext).registerReceiver(mReceiverCaptor.capture(), any());
+        return service;
+    }
+
+    private RcsFeatureController createFeatureController(int slotId) {
+        // Create a spy instead of a mock because TelephonyRcsService relies on state provided by
+        // RcsFeatureController.
+        RcsFeatureController controller = spy(new RcsFeatureController(mContext, slotId,
+                mRegistrationFactory));
+        controller.setFeatureConnectorFactory(mFeatureConnectorFactory);
+        return controller;
+    }
+}