Merge "CROSS_SIM: Use extras to trigger update to properties"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index afa507e..5a3c017 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -23,95 +23,6 @@
 >
 
     <original-package android:name="com.android.phone" />
-
-    <protected-broadcast android:name="android.telecom.action.CURRENT_TTY_MODE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.SERVICE_STATE" />
-    <protected-broadcast android:name="android.intent.action.RADIO_TECHNOLOGY" />
-    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.EMERGENCY_CALL_STATE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.SIG_STR" />
-    <protected-broadcast android:name="android.intent.action.ANY_DATA_STATE" />
-    <protected-broadcast android:name="android.intent.action.DATA_STALL_DETECTED" />
-    <protected-broadcast android:name="android.intent.action.SIM_STATE_CHANGED" />
-    <protected-broadcast android:name="android.intent.action.USER_ACTIVITY_NOTIFICATION" />
-    <protected-broadcast android:name="android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS" />
-    <protected-broadcast android:name="android.intent.action.ACTION_MDN_STATE_CHANGED" />
-    <protected-broadcast android:name="android.telephony.action.SERVICE_PROVIDERS_UPDATED" />
-    <protected-broadcast android:name="android.provider.Telephony.SIM_FULL" />
-    <protected-broadcast android:name="com.android.internal.telephony.carrier_key_download_alarm" />
-    <protected-broadcast android:name="com.android.internal.telephony.data-restart-trysetup" />
-    <protected-broadcast android:name="com.android.internal.telephony.data-stall" />
-    <protected-broadcast android:name="com.android.internal.telephony.provisioning_apn_alarm" />
-    <protected-broadcast android:name="android.intent.action.DATA_SMS_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_DELIVER" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_REJECTED" />
-    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
-    <protected-broadcast android:name="android.provider.Telephony.WAP_PUSH_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_CB_RECEIVED" />
-    <protected-broadcast android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" />
-    <protected-broadcast android:name="android.provider.Telephony.SECRET_CODE" />
-    <protected-broadcast android:name= "com.android.internal.stk.command" />
-    <protected-broadcast android:name= "com.android.internal.stk.session_end" />
-    <protected-broadcast android:name= "com.android.internal.stk.icc_status_change" />
-    <protected-broadcast android:name= "com.android.internal.stk.alpha_notify" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_REDIRECTED" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_RESET" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
-    <protected-broadcast android:name= "com.android.internal.telephony.PROVISION" />
-    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_LINE1_NUMBER_ERROR_DETECTED" />
-    <protected-broadcast android:name= "com.android.internal.provider.action.VOICEMAIL_SMS_RECEIVED" />
-    <protected-broadcast android:name= "com.android.intent.isim_refresh" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_AVAILABLE" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_UNAVAILABLE" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_RCS_SERVICE_DIED" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_PRESENCE_CHANGED" />
-    <protected-broadcast android:name= "com.android.ims.ACTION_PUBLISH_STATUS_CHANGED" />
-    <protected-broadcast android:name= "com.android.ims.IMS_SERVICE_UP" />
-    <protected-broadcast android:name= "com.android.ims.IMS_SERVICE_DOWN" />
-    <protected-broadcast android:name= "com.android.ims.IMS_INCOMING_CALL" />
-    <protected-broadcast android:name= "com.android.ims.internal.uce.UCE_SERVICE_UP" />
-    <protected-broadcast android:name= "com.android.ims.internal.uce.UCE_SERVICE_DOWN" />
-    <protected-broadcast android:name= "com.android.imsconnection.DISCONNECTED" />
-    <protected-broadcast android:name= "com.android.intent.action.IMS_FEATURE_CHANGED" />
-    <protected-broadcast android:name= "com.android.intent.action.IMS_CONFIG_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR" />
-    <protected-broadcast android:name= "com.android.phone.vvm.omtp.sms.REQUEST_SENT" />
-    <protected-broadcast android:name= "com.android.phone.vvm.ACTION_VISUAL_VOICEMAIL_SERVICE_EVENT" />
-    <protected-broadcast android:name= "com.android.internal.telephony.CARRIER_VVM_PACKAGE_INSTALLED" />
-    <protected-broadcast android:name= "com.android.cellbroadcastreceiver.GET_LATEST_CB_AREA_INFO" />
-    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_CARRIER_CERTIFICATE_DOWNLOAD" />
-    <protected-broadcast android:name= "com.android.internal.telephony.action.COUNTRY_OVERRIDE" />
-    <protected-broadcast android:name= "com.android.internal.telephony.OPEN_DEFAULT_SMS_APP" />
-    <protected-broadcast android:name= "com.android.internal.telephony.ACTION_TEST_OVERRIDE_CARRIER_ID" />
-    <protected-broadcast android:name= "android.telephony.action.SIM_CARD_STATE_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SIM_APPLICATION_STATE_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SIM_SLOT_STATUS_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.TOGGLE_PROVISION" />
-    <protected-broadcast android:name= "android.telephony.action.NETWORK_COUNTRY_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.MULTI_SIM_CONFIG_CHANGED" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_RESET" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_PCO_VALUE" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_REDIRECTED" />
-    <protected-broadcast android:name= "android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" />
-
-    <protected-broadcast android:name= "com.android.phone.settings.CARRIER_PROVISIONING" />
-    <protected-broadcast android:name= "com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING" />
-
-    <!-- For Vendor Debugging in Telephony -->
-    <protected-broadcast android:name="android.telephony.action.ANOMALY_REPORTED" />
-
-    <protected-broadcast android:name= "android.intent.action.SUBSCRIPTION_INFO_RECORD_ADDED" />
-    <protected-broadcast android:name= "android.intent.action.ACTION_MANAGED_ROAMING_IND" />
-    <protected-broadcast android:name= "android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE" />
-
     <!-- Allows granting runtime permissions to telephony related components. -->
     <uses-permission android:name="android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS" />
 
@@ -147,7 +58,6 @@
     <uses-permission android:name="android.permission.WRITE_SMS" />
     <uses-permission android:name="android.permission.SEND_SMS" />
     <uses-permission android:name="android.permission.SEND_RESPOND_VIA_MESSAGE" />
-    <uses-permission android:name="android.permission.SET_TIME_ZONE" />
     <uses-permission android:name="android.permission.SUGGEST_TELEPHONY_TIME_AND_ZONE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
@@ -156,7 +66,6 @@
     <uses-permission android:name="android.permission.DEVICE_POWER" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
     <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
@@ -189,8 +98,6 @@
     <uses-permission android:name="android.permission.REGISTER_SIM_SUBSCRIPTION" />
     <uses-permission android:name="android.permission.BIND_IMS_SERVICE" />
     <uses-permission android:name="android.permission.BIND_CARRIER_SERVICES" />
-    <!-- BIND_CARRIER_MESSAGING_SERVICE has been deprecated in favor of BIND_CARRIER_SERVICES. -->
-    <uses-permission android:name="android.permission.BIND_CARRIER_MESSAGING_SERVICE" />
     <uses-permission android:name="android.permission.BIND_EUICC_SERVICE" />
     <uses-permission android:name="android.permission.BIND_TELEPHONY_NETWORK_SERVICE" />
     <uses-permission android:name="android.permission.BIND_CELL_BROADCAST_SERVICE" />
@@ -207,6 +114,7 @@
     <uses-permission android:name="android.permission.LOCAL_MAC_ADDRESS" />
     <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
     <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
+    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
     <!-- Needed to block messages. -->
     <uses-permission android:name="android.permission.READ_BLOCKED_NUMBERS" />
     <!-- Needed for emergency contact notification. -->
@@ -241,6 +149,9 @@
 
     <!-- Needed to listen to changes in projection state. -->
     <uses-permission android:name="android.permission.READ_PROJECTION_STATE"/>
+    <!-- Needed to access TelephonyProvider SIMINFO table. -->
+    <uses-permission android:name="android.permission.ACCESS_TELEPHONY_SIMINFO_DB"/>
+    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
 
     <permission android:name="com.android.phone.permission.ACCESS_LAST_KNOWN_CELL_ID"
                 android:label="Access last known cell identity."
@@ -354,7 +265,7 @@
                 android:label="@string/labelCF"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -364,7 +275,7 @@
                 android:label="@string/labelCF"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -384,7 +295,7 @@
                 android:label="@string/labelGSMMore"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -394,7 +305,7 @@
         <activity android:name="com.android.phone.settings.fdn.FdnSetting"
                 android:label="@string/fdn"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -442,7 +353,7 @@
                 android:label="@string/call_settings"
                 android:configChanges="orientation|screenSize|keyboardHidden"
                 android:exported="true"
-                android:theme="@style/DialerSettingsLight">
+                android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter android:priority="1">
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.telecom.action.SHOW_CALL_SETTINGS" />
@@ -597,7 +508,7 @@
             android:configChanges="orientation|screenSize|keyboardHidden|screenLayout"
             android:screenOrientation="portrait"
             android:exported="true"
-            android:theme="@style/DialerSettingsLight">
+            android:theme="@style/CallSettingsWithoutDividerTheme">
             <intent-filter >
                 <!-- DO NOT RENAME. There are existing apps which use this string. -->
                 <action android:name="com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL" />
diff --git a/TEST_MAPPING b/TEST_MAPPING
index da61c80..3831b6b 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -12,14 +12,6 @@
       "name": "CarrierAppIntegrationTestCases"
     },
     {
-      "name": "CtsTelephonySdk28TestCases",
-      "options": [
-        {
-          "exclude-annotation": "androidx.test.filters.FlakyTest"
-        }
-      ]
-    },
-    {
       "name": "CtsSimRestrictedApisTestCases",
       "options": [
         {
diff --git a/ecc/input/OWNERS b/ecc/input/OWNERS
index d9ecbb7..5685875 100644
--- a/ecc/input/OWNERS
+++ b/ecc/input/OWNERS
@@ -1,5 +1,4 @@
 set noparent
 
-djkrause@google.com
-satk@google.com
-somakala@google.com
\ No newline at end of file
+tgunn@google.com
+chinmayd@google.com
\ No newline at end of file
diff --git a/ecc/output/OWNERS b/ecc/output/OWNERS
index d9ecbb7..5685875 100644
--- a/ecc/output/OWNERS
+++ b/ecc/output/OWNERS
@@ -1,5 +1,4 @@
 set noparent
 
-djkrause@google.com
-satk@google.com
-somakala@google.com
\ No newline at end of file
+tgunn@google.com
+chinmayd@google.com
\ No newline at end of file
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index ab32c62..3eaeb19 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -66,94 +66,7 @@
             android:layout_gravity="bottom"
             android:orientation="vertical">
 
-            <!-- FrameLayout -->
-            <com.android.phone.EmergencyActionGroup
-                android:id="@+id/emergency_action_group"
-                android:layout_height="64dp"
-                android:layout_width="match_parent"
-                android:layout_marginHorizontal="36dp"
-                android:layout_marginTop="16dp"
-                android:layout_marginBottom="24dp">
-
-                <!-- Button that says: Emergency Information -->
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent">
-                    <Button android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="@drawable/btn_emergency"
-                            android:id="@+id/action1" />
-                    <Button android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="@drawable/btn_emergency"
-                            android:id="@+id/action2" />
-                    <Button android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1"
-                            android:background="@drawable/btn_emergency"
-                            android:id="@+id/action3" />
-                </LinearLayout>
-
-                <!-- View that shows up on top of "emergency information" button
-                and asks you to tap again to confirm the action -->
-                <FrameLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:id="@+id/selected_container"
-                    android:visibility="invisible"
-                    android:focusable="true"
-                    android:clickable="true">
-
-                    <View
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:backgroundTint="#ffe32926"
-                        android:focusable="false"
-                        android:clickable="false"
-                        style="?android:attr/buttonStyle"/>
-
-                    <View
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:id="@+id/ripple_view"
-                        android:backgroundTint="#22ffffff"
-                        android:visibility="invisible"
-                        android:focusable="false"
-                        android:clickable="false"
-                        style="?android:attr/buttonStyle"/>
-
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
-                        android:orientation="vertical"
-                        android:focusable="false"
-                        android:clickable="false"
-                        android:backgroundTint="#00000000"
-                        style="?android:attr/buttonStyle">
-                        <TextView
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:gravity="center"
-                            android:maxLines="1"
-                            android:id="@+id/selected_label"
-                            android:textColor="@android:color/white"
-                            android:textAppearance="?android:attr/textAppearanceButton" />
-                        <TextView
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:id="@+id/launch_hint"
-                            android:maxLines="1"
-                            android:autoSizeTextType="uniform"
-                            android:text="@string/emergency_action_launch_hint"
-                            android:textColor="@android:color/white"
-                            android:textStyle="italic" />
-                    </LinearLayout>
-
-                </FrameLayout>
-
-            </com.android.phone.EmergencyActionGroup>
+            <include layout="@layout/emergency_information"/>
             <Space
                 android:id="@+id/emergency_info_dialpad_spacer"
                 android:layout_width="match_parent"
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index 1f137b0..2a2ad89 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -258,6 +258,15 @@
                 android:layout_height="wrap_content"
                 android:text="@string/dsds_switch_string" />
 
+        <!-- Set removable eSIM as default eUICC. -->
+        <Switch android:id="@+id/removable_esim_switch"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:enabled="false"
+                android:text="@string/removable_esim_string" />
+
         <!-- Horizontal Rule -->
         <View
             android:layout_width="fill_parent"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 7d98490..bf10c79 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Toeganklikheid"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-oproep vanaf"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-oproep"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tik weer om oop te maak"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Kon nie die boodskap dekodeer nie."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"\'n SIM-kaart het jou diens geaktiveer en jou foon se swerwingvermoëns opgedateer."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Daar is te veel aktiewe oproepe. Beëindig of voeg asseblief bestaande oproepe saam voordat jy \'n nuwe een maak."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Jy moet jou toestel herbegin om dié instelling te verander."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Herbegin"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Kanselleer"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Stel Verwyderbare-e-SIM as Verstek"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobieleradiokrag"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Bekyk SIM-adresboek"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Kyk na vaste skakelnommers"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index cce627a..5d19229 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -34,7 +34,7 @@
     <string name="enter_input" msgid="6193628663039958990">"የUSSD መልዕክት በ<xliff:g id="MIN_LEN">%1$d</xliff:g> እና <xliff:g id="MAX_LEN">%2$d</xliff:g> ቁምፊዎች መካከል መሆን አለበት። እባክዎ እንደገና ይሞክሩ።"</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"የስብሰባስልክ ጥሪ አደራጅ"</string>
     <string name="ok" msgid="7818974223666140165">"እሺ"</string>
-    <string name="audio_mode_speaker" msgid="243689733219312360">"ድምጽ ማጉያ"</string>
+    <string name="audio_mode_speaker" msgid="243689733219312360">"ድምፅ ማጉያ"</string>
     <string name="audio_mode_earpiece" msgid="2823700267171134282">"የስልክ እጀታ ጆሮማዳመጫ"</string>
     <string name="audio_mode_wired_headset" msgid="5028010823105817443">"ባለ ገመድ የጆሮ ማዳመጫ"</string>
     <string name="audio_mode_bluetooth" msgid="25732183428018809">"ብሉቱዝ"</string>
@@ -623,11 +623,11 @@
     <string name="ota_title_activate_success" msgid="1272135024761004889">"ስልክ አግብረሃል!"</string>
     <string name="ota_title_problem_with_activation" msgid="7019745985413368726">"ከአግብር ጋር ያለ ችግር"</string>
     <string name="ota_listen" msgid="2772252405488894280">"አግብር መጠናቀቁን እስኪሰሙ የተነገሩትን መመሪያዎች ይከተሉ።"</string>
-    <string name="ota_speaker" msgid="1086766980329820528">"ድምጽ ማጉያ"</string>
+    <string name="ota_speaker" msgid="1086766980329820528">"ድምፅ ማጉያ"</string>
     <string name="ota_progress" msgid="8837259285255700132">"ስልክዎን ፕሮግራም በማድረግ ላይ…"</string>
     <string name="ota_failure" msgid="5674217489921481576">"ስልክዎን ፕሮግራም ማድረግ አልተቻለም"</string>
     <string name="ota_successful" msgid="1106825981548107774">"አሁን ስልክዎ አግብሯል።አገልግሎቱ ለመጀመር እስከ 15 ደቂቃዎች ሊፈጅ ይችላል።"</string>
-    <string name="ota_unsuccessful" msgid="8531037653803955754">"ስልክህ አላገበረም።\n ጥሩ ሽፋን ያለበት አካባቢ ማግኘት ያስፈልግሃል (መስኮት፣ ወይም ውጪ አካባቢ)።ለበለጠ አማራጮች የደንበኞች አገልግሎት ደውል ወይም \n\nእንደገና ሞክር።"</string>
+    <string name="ota_unsuccessful" msgid="8531037653803955754">"ስልክህ አላገበረም።\n ጥሩ ሽፋን ያለበት አካባቢ ማግኘት ያስፈልግሃል (መስኮት፣ ወይም ውጭ አካባቢ)።ለበለጠ አማራጮች የደንበኞች አገልግሎት ደውል ወይም \n\nእንደገና ሞክር።"</string>
     <string name="ota_spc_failure" msgid="904092035241370080">"ከልክ ያለፈ የSPC  መታወክ"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"ተመለስ"</string>
     <string name="ota_try_again" msgid="6914781945599998550">"በድጋሚ ሞክር"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ተደራሽነት"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"የWi-Fi ጥሪ ከ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"የWi-Fi ጥሪ"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ለመክፈት ዳግም ነካ ያድርጉ"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"መልዕክቱን በማመሳጠር ላይ ስህተት ነበር።"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"አንድ ሲም ካርድ አገልግሎትዎን ገቢር አድርጎታል፣ እንዲሁም የስልክዎን የማስተላለፍ ችሎታዎችን አዘምኗል።"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"እጅግ በጣም ብዙ ንቁ ጥሪዎች አሉ። እባክዎ አዲስ ከማስቀመጥዎ በፊት ያሉትን ጥሪዎች ይጨርሱ ወይም ያዋህዱ።"</string>
@@ -806,8 +805,8 @@
     <string name="supp_service_outgoing_calls_barred" msgid="5205725332394087112">"ወጪ ጥሪዎች ተከልክለዋል።"</string>
     <string name="supp_service_call_forwarding_active" msgid="7910162960395132464">"ጥሪ ማስተላለፍ ንቁ።"</string>
     <string name="supp_service_additional_call_forwarded" msgid="8772753260008398632">"ተጨማሪ ጥሪ ተላልፏል።"</string>
-    <string name="supp_service_additional_ect_connected" msgid="8525934162945220237">"ግልጽ የጥሪ ማስተላለፍ ተጠናቅቋል።"</string>
-    <string name="supp_service_additional_ect_connecting" msgid="7046240728781222753">"ግልጽ የጥሪ ማስተላለፍ በሂደት ላይ።"</string>
+    <string name="supp_service_additional_ect_connected" msgid="8525934162945220237">"ግልፅ የጥሪ ማስተላለፍ ተጠናቅቋል።"</string>
+    <string name="supp_service_additional_ect_connecting" msgid="7046240728781222753">"ግልፅ የጥሪ ማስተላለፍ በሂደት ላይ።"</string>
     <string name="supp_service_call_on_hold" msgid="2836811319594503059">"ጥሪ በይቆይ ላይ።"</string>
     <string name="supp_service_call_resumed" msgid="3786864005920743546">"ጥሪ ከቆመበት ቀጥሏል።"</string>
     <string name="supp_service_deflected_call" msgid="7565979024562921707">"ጥሪው አቅጣጫው ተቀይሯል።"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ይህን ቅንብር ለመለወጥ መሣሪያዎትን ዳግም ማስጀመር ያስፈልግዎታል።"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ዳግም አስጀምር"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ይቅር"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"የሚወገድን ኢሲም ነባሪ በሚል አቀናብር"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"የሞባይል ሬዲዮ ኃይል"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"የሲም አድራሻ ደብተር አሳይ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"በቋሚነት የሚደወልባቸው ቁጥሮች"</string>
@@ -848,7 +848,7 @@
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"አይገኝም"</string>
     <string name="radio_info_ims_reg_status" msgid="25582845222446390">"የIMS ምዝገባ፦ <xliff:g id="STATUS">%1$s</xliff:g>\n የድምጽ ቅጂ LTE፡ <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nየድምጽ ቅጂ WiFi፡ <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nየቪድዮ ጥሪ፦ <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT በይነገጽ፡ <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="45753418231446400">"በአገልግሎት ውስጥ"</string>
-    <string name="radioInfo_service_out" msgid="287972405416142312">"ከአገልግሎት ውጪ"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"ከአገልግሎት ውጭ"</string>
     <string name="radioInfo_service_emergency" msgid="4763879891415016848">"የአደጋ ጊዜ ጥሪዎች ብቻ"</string>
     <string name="radioInfo_service_off" msgid="3456583511226783064">"ሬዲዮ ጠፍቷል"</string>
     <string name="radioInfo_roaming_in" msgid="3156335577793145965">"በማዘዋወር ላይ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 1cce310..2d0b83b 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -566,7 +566,7 @@
     <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"جارٍ تفعيل اللاسلكي..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"لا تتوفر خدمة. جارٍ إعادة المحاولة…"</string>
     <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"لا يمكن دخول وضع الطيران أثناء إجراء مكالمة طوارئ."</string>
-    <string name="dial_emergency_error" msgid="825822413209026039">"يتعذر الاتصال. لا يعد <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> رقم طوارئ."</string>
+    <string name="dial_emergency_error" msgid="825822413209026039">"يتعذر الاتصال. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ليس رقم طوارئ."</string>
     <string name="dial_emergency_empty_error" msgid="2785803395047793634">"يتعذر الاتصال. يمكنك طلب رقم طوارئ."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"مكالمة الطوارئ غير متوفرة"</string>
     <string name="pin_puk_system_user_only" msgid="1045147220686867922">"‏يمكن لمالك الجهاز فقط إدخال رمزَي PIN/PUK."</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"إعدادات تمكين الوصول"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"‏مكالمة Wi-Fi من"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"‏مكالمة عبر Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"انقر مرة أخرى للفتح."</string>
     <string name="message_decode_error" msgid="1061856591500290887">"حدث خطأ أثناء فك ترميز الرسالة."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"‏نشطت شريحة SIM خدمتك وحدّثت إمكانات التجوال لهاتفك."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"هناك الكثير من المكالمات النشطة. يرجى إنهاء أو دمج المكالمات الموجودة قبل إجراء مكالمة جديدة."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"عليك إعادة تشغيل جهازك لتغيير هذا الإعداد."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"إعادة التشغيل"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"إلغاء"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‏ضبط شريحة eSIM القابلة للإزالة كشريحة تلقائية"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"طاقة اللاسلكي للجوّال"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏عرض دفتر عناوين SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"عرض أرقام الطلب الثابت"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 2e6f16f..583de99 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -144,7 +144,7 @@
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"SS অনুৰোধ USSD অনুৰোধলৈ সলনি কৰা হ’ল"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"নতুন SS অনুৰোধলৈ সলনি কৰা হ’ল"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS অনুৰোধ ভিডিঅ\' কললৈ সলনি কৰা হ’ল"</string>
-    <string name="fdn_check_failure" msgid="1833769746374185247">"আপোনাৰ ফ\'ন এপটোৰ ফিক্সড্ ডায়েলিং নম্বৰ ছেটিঙটো অন কৰি থোৱা আছে। ফলস্বৰূপে, কল সম্পৰ্কীয় কিছুমান সুবিধাই কাম কৰা নাই।"</string>
+    <string name="fdn_check_failure" msgid="1833769746374185247">"আপোনাৰ ফ\'ন এপ্‌টোৰ ফিক্সড্ ডায়েলিং নম্বৰ ছেটিঙটো অন কৰি থোৱা আছে। ফলস্বৰূপে, কল সম্পৰ্কীয় কিছুমান সুবিধাই কাম কৰা নাই।"</string>
     <string name="radio_off_error" msgid="8321564164914232181">"এই ছেটিংসমূহ চোৱাৰ আগতে ৰেডিঅ\' অন কৰক।"</string>
     <string name="close_dialog" msgid="1074977476136119408">"ঠিক"</string>
     <string name="enable" msgid="2636552299455477603">"অন কৰক"</string>
@@ -179,7 +179,7 @@
     <string name="network_query_error" msgid="3862515805115145124">"নেটৱৰ্ক বিচাৰি পোৱা নগ\'ল। আকৌ চেষ্টা কৰক।"</string>
     <string name="register_on_network" msgid="4194770527833960423">"<xliff:g id="NETWORK">%s</xliff:g>ৰ লগত পঞ্জীয়ন কৰি থকা হৈছে…"</string>
     <string name="not_allowed" msgid="8541221928746104798">"আপোনাৰ ছিম কাৰ্ডখনে এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিবলৈ অনুমতি নিদিয়ে।"</string>
-    <string name="connect_later" msgid="1950138106010005425">"এই মুহূৰ্তত এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিব নোৱাৰি। পিছত আকৌ চেষ্টা কৰক।"</string>
+    <string name="connect_later" msgid="1950138106010005425">"এই মুহূৰ্তত এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিব নোৱাৰি। পাছত আকৌ চেষ্টা কৰক।"</string>
     <string name="registration_done" msgid="5337407023566953292">"নেটৱৰ্কৰ লগত পঞ্জীয়ন কৰা হ’ল।"</string>
     <string name="already_auto" msgid="8607068290733079336">"স্বয়ংক্ৰিয় বাছনিত ইতিমধ্যে আছে।"</string>
     <string name="select_automatically" msgid="779750291257872651">"স্বয়ংক্ৰিয়ভাৱে নেটৱৰ্ক বাছনি কৰক"</string>
@@ -613,7 +613,7 @@
     <string name="network_info_message" msgid="7599413947016532355">"নেটৱৰ্ক বাৰ্তা"</string>
     <string name="network_error_message" msgid="4271579424089326618">"আসোঁৱাহ বাৰ্তা"</string>
     <string name="ota_title_activate" msgid="4049645324841263423">"আপোনাৰ ফ\'নটো সক্ৰিয় কৰক"</string>
-    <string name="ota_touch_activate" msgid="838764494319694754">"আপোনাৰ ফ\'নৰ সেৱা সক্ৰিয় কৰিবলৈ এটা বিশেষ কল কৰা প্ৰয়োজন। \n\nআপোনাৰ ফ\'নটো সক্ৰিয় কৰিবলৈ \"সক্ৰিয় কৰক\"ত টিপাৰ পিছত নিৰ্দেশনাসমূহ শুনক।"</string>
+    <string name="ota_touch_activate" msgid="838764494319694754">"আপোনাৰ ফ\'নৰ সেৱা সক্ৰিয় কৰিবলৈ এটা বিশেষ কল কৰা প্ৰয়োজন। \n\nআপোনাৰ ফ\'নটো সক্ৰিয় কৰিবলৈ \"সক্ৰিয় কৰক\"ত টিপাৰ পাছত নিৰ্দেশনাসমূহ শুনক।"</string>
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"সক্ৰিয় কৰি থকা হৈছে..."</string>
     <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"ফ\'নটোৱে আপোনাৰ ম’বাইল ডেটা সেৱা সক্ৰিয় কৰি আছে।\n\nএই কামটো সম্পূৰ্ণ হ\'বলৈ ৫ মিনিট পৰ্যন্ত সময় লাগিব পাৰে।"</string>
     <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"সক্ৰিয়কৰণ এৰি যায় নেকি?"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"সাধ্য সুবিধাসমূহ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"এওঁৰ পৰা ৱাই-ফাই কল আহিছে"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ৱাই-ফাই কল"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"খুলিবলৈ পুনৰাই টিপক"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"বাৰ্তাটো ডিক\'ড কৰোঁতে আসোঁৱাহৰ সৃষ্টি হৈছিল।"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"এখন ছিম কাৰ্ডে আপোনাৰ সেৱাসমূহ সক্ৰিয় কৰিছে আৰু আপোনাৰ ফ\'নটোৰ ৰ\'মিং সক্ষমতাসমূহো আপডে’ট কৰিছে।"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"কেইবাটাও কল ইতিমধ্যে সক্ৰিয় হৈ আছে। নতুন কল এটা কৰাৰ আগেয়ে অনুগ্ৰহ কৰি সেইবোৰ একেলগ কৰক বা সমাপ্ত কৰক।"</string>
@@ -712,7 +711,7 @@
     <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"বাতিল কৰক"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"কল শেষ হ’ল"</string>
     <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"এয়াৰপ্লেইন ম\'ড অন হৈ আছে"</string>
-    <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"ছিম কাৰ্ডত প্ৰৱেশ কৰিব পৰা নাই"</string>
+    <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"ছিম কাৰ্ড এক্সেছ কৰিব নোৱাৰি"</string>
     <string name="clh_incall_error_out_of_service_txt" msgid="2736010617446749869">"ম’বাইল নেটৱৰ্ক উপলব্ধ নহয়"</string>
     <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"আপুনি ডায়েল কৰিব খোজা ফ\'ন নম্বৰত আসোঁৱাহ আছে। আসোঁৱাহ ক\'ড ১।"</string>
     <string name="clh_callFailed_no_route_to_destination_txt" msgid="4805015149822352308">"কলটো সম্পূৰ্ণ কৰিব পৰা নগ\'ল। আসোঁৱাহ ক\'ড ৩।"</string>
@@ -795,7 +794,7 @@
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"পাছৱৰ্ড নিশ্চিত কৰক"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"পাছৱৰ্ড দিয়ক"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"কল প্ৰতিবন্ধক ছেটিংসমূহ"</string>
-    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"নেটৱৰ্ক ব্যস্ত। অনুগ্ৰহ কৰি কিছুসময় পিছত আকৌ কল কৰাৰ চেষ্টা কৰক।"</string>
+    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"নেটৱৰ্ক ব্যস্ত। অনুগ্ৰহ কৰি কিছুসময় পাছত আকৌ কল কৰাৰ চেষ্টা কৰক।"</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"নেটৱর্ক ব্যস্ত আছে। সহায়তাৰ বাবে আপোনাৰ ম\'বাইল অ\'পাৰেটৰৰ সৈতে যোগাযোগ কৰক।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"কলটো বিচ্যুত কৰা হৈছে।"</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"কলটো ফৰৱাৰ্ড কৰা হ’ল।"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"আপুনি এই ছেটিংটো সলনি কৰিবলৈ আপোনাৰ ডিভাইচটো ৰিষ্টার্ট কৰিব লাগিব।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ৰিষ্টাৰ্ট কৰক"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"বাতিল কৰক"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"আঁতৰাব পৰা ই-ছিম ডিফ’ল্ট হিচাপে ছেট কৰক"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ম’বাইলৰ ৰেডিঅ’ পাৱাৰ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ছিম ঠিকনা সূচী চাওক"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ফিক্সড্ ডায়েলিং নম্বৰসমূহ চাওক"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 20ae6f5..9afe3e3 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Keçərlik"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi zəngi"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi zəng"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Açmaq üçün yenidən tıklayın"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Mesaj dekod edilən zaman xəta oldu."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kart xidmətinizi aktivləşdirdi və telefonunuzun rominq imkanlarını güncəlləşdi."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Burada həddindən çox aktiv zəng var. Yeni birini yerləşdirmək üçün mövcud zəngləri sonlandırın və ya birləşdirin."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bu ayarı dəyişmək üçün cihazı yenidən başlatmalısınız."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Yenidən başladın"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Ləğv edin"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Çıxarıla bilən eSIM\'i Defolt olaraq təyin edin"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobil Radio Enerjisi"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM Ünvan Kitabçasına Baxın"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Sabit Yığım Nömrələrinə Baxın"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index c173f2d..c9e8f4c 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pristupačnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi poziv od"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi poziv"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dodirnite ponovo da biste otvorili"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Došlo je do greške pri dekodiranju poruke."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartica je aktivirala uslugu i ažurirala funkcije rominga na telefonu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ima previše aktivnih poziva. Završite ili objedinite postojeće pozive pre nego što uputite novi."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Treba da restartujte uređaj da biste promenili ovo podešavanje."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restartuj"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Otkaži"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Podesi prenosivi eSIM kao podrazumevani"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Napajanje za radio na mobilnim uređajima"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži adresar SIM-a"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži brojeve za fiksno biranje"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index db4d214..3d25a4d 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -20,7 +20,7 @@
     <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Тэлефонныя службы"</string>
     <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Экстраныя выклікі"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"Тэлефон"</string>
-    <string name="fdnListLabel" msgid="4119121875004244097">"Спіс FDN"</string>
+    <string name="fdnListLabel" msgid="4119121875004244097">"Спіс дазволеных нумароў"</string>
     <string name="unknown" msgid="8279698889921830815">"Невядомы"</string>
     <string name="private_num" msgid="4487990167889159992">"Прыватны нумар"</string>
     <string name="payphone" msgid="7936735771836716941">"Таксафон"</string>
@@ -438,18 +438,18 @@
     <string name="carrier_settings_title" msgid="6292869148169850220">"Налады аператара"</string>
     <string name="fdn" msgid="2545904344666098749">"Фіксаваныя нумары"</string>
     <string name="fdn_with_label" msgid="6412087553365709494">"Нумары закрытай абаненцкай групы (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="manage_fdn_list" msgid="3341716430375195441">"Спіс FDN"</string>
-    <string name="fdn_list_with_label" msgid="1409655283510382556">"Спіс закрытай абаненцкай групы (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="fdn_activation" msgid="2178637004710435895">"Актывацыя FDN"</string>
+    <string name="manage_fdn_list" msgid="3341716430375195441">"Спіс дазволеных нумароў"</string>
+    <string name="fdn_list_with_label" msgid="1409655283510382556">"Спіс дазволеных нумароў (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_activation" msgid="2178637004710435895">"Актывацыя дазволеных нумароў"</string>
     <string name="fdn_enabled" msgid="7017355494808056447">"Фіксаваныя нумары ўключаны"</string>
     <string name="fdn_disabled" msgid="6696468878037736600">"Фіксаваныя нумары адключаны"</string>
-    <string name="enable_fdn" msgid="4830555730418033723">"Уключыць FDN"</string>
-    <string name="disable_fdn" msgid="3918794950264647541">"Адключыць FDN"</string>
+    <string name="enable_fdn" msgid="4830555730418033723">"Уключыць дазволеныя нумары"</string>
+    <string name="disable_fdn" msgid="3918794950264647541">"Адключыць дазволеныя нумары"</string>
     <string name="change_pin2" msgid="3110844547237754871">"Змяніць PIN2"</string>
-    <string name="enable_fdn_ok" msgid="5080925177369329827">"Адключыць FDN"</string>
-    <string name="disable_fdn_ok" msgid="3745475926874838676">"Уключыць FDN"</string>
+    <string name="enable_fdn_ok" msgid="5080925177369329827">"Адключыць дазволеныя нумары"</string>
+    <string name="disable_fdn_ok" msgid="3745475926874838676">"Уключыць дазволеныя нумары"</string>
     <string name="sum_fdn" msgid="6152246141642323582">"Кіраванне зафіксаванымі нумарамі"</string>
-    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Змяніць PIN-код для доступу FDN"</string>
+    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Змяніць PIN-код для доступу да дазволеных нумароў"</string>
     <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Кіраванне спісам тэлефонных нумароў"</string>
     <string name="voice_privacy" msgid="7346935172372181951">"Палiтыка прыватнасцi Voice"</string>
     <string name="voice_privacy_summary" msgid="3556460926168473346">"Уключыць пашыраны рэжым прыватнасці"</string>
@@ -475,10 +475,10 @@
     <string name="delete_fdn_contact" msgid="7027405651994507077">"Выдаліць дазволены нумар"</string>
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Выдаленне дазволенага нумару..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Дазволены нумар выдалены."</string>
-    <string name="pin2_invalid" msgid="2313954262684494442">"FDN не быў абноўлены, таму што вы набралі няправільны PIN-код."</string>
-    <string name="fdn_invalid_number" msgid="9067189814657840439">"Фіксаваны нумар не абноўлены, бо не можа складацца больш чым з <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> лічбаў."</string>
+    <string name="pin2_invalid" msgid="2313954262684494442">"Дазволены нумар не быў абноўлены, таму што вы набралі няправільны PIN-код."</string>
+    <string name="fdn_invalid_number" msgid="9067189814657840439">"Дазволены нумар не абноўлены, бо не можа складацца больш чым з <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> лічбаў."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"Cпiс дазволеных нумароў не адноўлены. PIN2 ўведзены няправiльна, або нумар быў адхiлены."</string>
-    <string name="fdn_failed" msgid="216592346853420250">"Аперацыя ў закрытай абаненцкай групе не ўдалася."</string>
+    <string name="fdn_failed" msgid="216592346853420250">"Аперацыя з дазволеным нумарам не ўдалася."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Чытанне з SIM-карты..."</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"На вашай SIM-карце няма кантактаў."</string>
     <string name="simContacts_title" msgid="2714029230160136647">"Выберыце кантакты для імпарту"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Спецыяльныя магчымасці"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Выклік праз Wi-Fi ад"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Выклік праз Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Дакраніцеся яшчэ раз, каб адкрыць"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Памылка расшыфравання паведамлення."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-карта актывавала вашу службу і абнавіла функцыі роўмінгу вашага тэлефона."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Занадта шмат актыўных выклікаў. Скончыце ці аб\'яднайце існуючыя выклікі, перш чым рабіць новы выклік."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Каб змяніць гэту наладу, трэба перазапусціць прыладу."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Перазапусціць"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Скасаваць"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Зрабіць здымную eSIM-карту стандартнай"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Магутнасць радыёсігналу"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Праглядзець адрасную кнігу на SIM-карце"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прагляд фіксаваных нумароў"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index fa5aa28..871438d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Достъпност"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Обаждане през Wi-Fi от"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Обаждане през Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Докоснете отново, за да отворите"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"При декодирането на съобщението възникна грешка."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM картата е активирала клетъчните ви услуги и е актуализирала възможностите за роуминг на телефона ви."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Активните обаждания са твърде много. Моля, завършете или обединете съществуващи обаждания, преди да започнете ново."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"За да промените настройката, трябва да рестартирате устройството си."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Рестартиране"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Отказ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Задаване на електронната SIM карта с изваждащ се чип като основна"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мощност на мобилното радио"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Преглед на указателя на SIM картата"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Преглед на номера за фиксирано набиране"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 6d536ce..1605181 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"অ্যাক্সেসযোগ্যতা"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"এর থেকে Wi-Fi কল"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ওয়াই-ফাই কল"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"খোলার জন্য আবার আলতো চাপুন"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"বার্তাটি ডিকোড করার সময় একটি ত্রুটি ঘটেছে৷"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"একটি সিম কার্ড আপনার পরিষেবা সক্রিয় করেছে এবং আপনার ফোনের রোমিং ক্ষমতা আপডেট করা হয়েছে৷"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"অনেকগুলি কল সক্রিয় রয়েছে। অনুগ্রহ করে একটি নতুন কল করার আগে বিদ্যমান কলগুলি কেটে দিন বা এটিকে সেই কলগুলিতে অন্তর্ভুক্ত করুন।"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"এই সেটিং পরিবর্তন করতে আপনার ডিভাইস রিস্টার্ট করতে হবে।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"রিস্টার্ট করুন"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"বাদ দিন"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"সরিয়ে দেওয়া যায় এমন eSIM ডিফল্ট হিসেবে সেট করুন"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"মোবাইল রেডিওর গুণমান"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"সিম অ্যাড্রেস বুক দেখুন"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"স্থায়ী ডায়াল নম্বরগুলি দেখুন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index ff69b85..fec68b1 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pristupačnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi poziv od"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi poziv"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dodirnite ponovo da otvorite"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Došlo je do greške prilikom dekodiranja poruke."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartica je aktivirala vašu uslugu i ažurirala mogućnosti rominga za telefon."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Previše aktivnih poziva. Prekinite ili spojite postojeće pozive prije upućivanja novog poziva."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Da promijenite ovu postavku, trebate ponovo pokrenuti uređaj."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Ponovo pokreni"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Otkaži"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Postavljanje uklonjive eSim kartice kao zadane"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Snaga mobilnog radija"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži SIM adresar"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži brojeve fiksnog biranja"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 97684cd..ff2ecf8 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilitat"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Trucada per Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Trucada per Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Torna a tocar per obrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"S\'ha produït un error en descodificar el missatge."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una targeta SIM ha activat el servei, i s\'ha actualitzat la funció d\'itinerància del telèfon."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hi ha massa trucades actives. Finalitza\'n alguna o combina-les abans de fer-ne una de nova."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Has de reiniciar el dispositiu per canviar aquesta opció."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reinicia"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel·la"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Defineix l\'eSIM extraïble com a opció predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potència del senyal mòbil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Mostra la llibreta d\'adreces de la SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Mostra els números de marcatge fix"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index e3a4113..590f311 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Přístupnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Hovor přes Wi-Fi:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Volání přes Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Akci provedete opětovným klepnutím"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Při dekódování zprávy došlo k chybě."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM karta aktivovala vaši službu a byly aktualizovány roamingové možnosti telefonu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Máte příliš mnoho aktivních hovorů. Ukončete nebo spojte stávající hovory, než zahájíte nový."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ke změně nastavení je nutné restartovat zařízení."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restartovat"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Zrušit"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nastavit vyjímatelnou eSIM jako výchozí"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Výkon mobilního přijímače"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Zobrazit adresář SIM karty"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Zobrazit povolená telefonní čísla"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 6e39691..8339f6e 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Hjælpefunktioner"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-opkald fra"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-opkald"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tryk igen for at åbne"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Der opstod en fejl under afkodning af beskeden."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Et SIM-kort har aktiveret din tjeneste og opdateret telefonens roamingmuligheder."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Der er for mange aktive opkald. Afslut et opkald, eller flet eksisterende opkald, inden du foretager et nyt."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Genstart enheden for at skifte indstilling."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Genstart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuller"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Konfigurer eSIM, der kan fjernes, som standard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobilsendestyrke"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Vis adressebog på SIM-kortet"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Vis numre til begrænset opkald"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 06372be..c266874 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Bedienungshilfen"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WLAN-Anruf von"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WLAN-Anruf"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Zum Öffnen erneut tippen"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Beim Entschlüsseln der Nachricht ist ein Fehler aufgetreten."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Eine SIM-Karte hat deinen Dienst aktiviert und die Roamingfunktionen deines Smartphones aktualisiert."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Zu viele aktive Anrufe. Beende aktive Anrufe oder führe sie zusammen, bevor du einen neuen Anruf tätigst."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Die Änderung erfordert einen Neustart des Geräts."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Neu starten"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Abbrechen"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Wechsel-eSIM als Standard festlegen"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobilfunkstärke"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM-Adressbuch anzeigen"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Rufnummernbeschränkung ansehen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index fd57b8e..40a39c2 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Προσβασιμότητα"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Κλήση Wi-Fi από"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Κλήση μέσω Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Πατήστε ξανά για άνοιγμα"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Παρουσιάστηκε κάποιο σφάλμα κατά την αποκωδικοποίηση του μηνύματος."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Μια κάρτα SIM ενεργοποίησε την υπηρεσία σας και ενημέρωσε τις δυνατότητες περιαγωγής του τηλεφώνου σας."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Υπάρχουν πάρα πολλές ενεργές κλήσεις. Τερματίστε ή να συγχωνεύστε τις υπάρχουσες κλήσεις πριν πραγματοποιήσετε νέα."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Πρέπει να επανεκκινηθεί η συσκευή για να αλλάξει η ρύθμιση."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Επανεκκίνηση"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Ακύρωση"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ορισμός αφαιρούμενης eSIM ως προεπιλεγμένης"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Ισχύς πομπού κινητής τηλεφωνίας"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Προβολή βιβλίου διευθύνσεων κάρτας SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Προβολή προκαθορισμένων αριθμών κλήσης"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index b8af3fc..eebbbb3 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 08bac75..d8479e7 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -19,8 +19,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
   <string-array name="preferred_network_mode_choices_world_mode">
     <item msgid="8359756926680194770">"Global"</item>
-    <item msgid="7497128470871581354">"LTE/CDMA"</item>
-    <item msgid="1732367262765147258">"LTE/GSM/UMTS"</item>
+    <item msgid="7497128470871581354">"LTE / CDMA"</item>
+    <item msgid="1732367262765147258">"LTE / GSM / UMTS"</item>
   </string-array>
   <string-array name="preferred_network_mode_values_world_mode">
     <item msgid="7956157363792248686">"10"</item>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 4140080..f8b01ea 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -18,7 +18,7 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="phoneAppLabel" product="tablet" msgid="1916019789885839910">"Mobile Data"</string>
     <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Phone Services"</string>
-    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Emergency Dialler"</string>
+    <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Emergency Dialer"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"Phone"</string>
     <string name="fdnListLabel" msgid="4119121875004244097">"FDN list"</string>
     <string name="unknown" msgid="8279698889921830815">"Unknown"</string>
@@ -26,10 +26,10 @@
     <string name="payphone" msgid="7936735771836716941">"Payphone"</string>
     <string name="onHold" msgid="6132725550015899006">"On hold"</string>
     <string name="carrier_mmi_msg_title" msgid="6050165242447507034">"<xliff:g id="MMICARRIER">%s</xliff:g> Message"</string>
-    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Operator message"</string>
+    <string name="default_carrier_mmi_msg_title" msgid="7754317179938537213">"Carrier Message"</string>
     <string name="mmiStarted" msgid="9212975136944568623">"MMI code started"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD code running…"</string>
-    <string name="mmiCancelled" msgid="5339191899200678272">"MMI code cancelled"</string>
+    <string name="mmiCancelled" msgid="5339191899200678272">"MMI code canceled"</string>
     <string name="cancel" msgid="8984206397635155197">"Cancel"</string>
     <string name="enter_input" msgid="6193628663039958990">"USSD message must be between <xliff:g id="MIN_LEN">%1$d</xliff:g> and <xliff:g id="MAX_LEN">%2$d</xliff:g> characters. Please try again."</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"Manage conference call"</string>
@@ -47,7 +47,7 @@
     <string name="no_vm_number" msgid="6623853880546176930">"Missing voicemail number"</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"No voicemail number is stored on the SIM card."</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"Add number"</string>
-    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"Voicemail settings can only be modified by the primary user."</string>
+    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"Voicemail Settings can only be modified by the Primary User."</string>
     <string name="puk_unlocked" msgid="4627340655215746511">"Your SIM card has been unblocked. Your phone is unlocking…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"SIM network unlock PIN"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"SIM locked for operator"</string>
@@ -61,7 +61,7 @@
     <string name="labelGsmMore_with_label" msgid="3206015314393246224">"GSM call settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCDMAMore" msgid="7937441382611224632">"CDMA call settings"</string>
     <string name="labelCdmaMore_with_label" msgid="7759692829160238152">"CDMA call settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="apn_settings" msgid="1978652203074756623">"Access point names"</string>
+    <string name="apn_settings" msgid="1978652203074756623">"Access Point Names"</string>
     <string name="settings_label" msgid="9101778088412567956">"Network settings"</string>
     <string name="phone_accounts" msgid="1216879437523774604">"Calling accounts"</string>
     <string name="phone_accounts_make_calls_with" msgid="16747814788918145">"Make calls with"</string>
@@ -81,16 +81,16 @@
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="7746778673131551185">"VM:"</string>
     <string name="make_and_receive_calls" msgid="4868913166494621109">"Make &amp; receive calls"</string>
-    <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"Smart forwarding"</string>
+    <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"Smart Forwarding"</string>
     <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"When one number isn\'t reachable, always forward calls to your other number"</string>
     <string name="voicemail_notifications_preference_title" msgid="7829238858063382977">"Notifications"</string>
     <string name="cell_broadcast_settings" msgid="8135324242541809924">"Emergency broadcasts"</string>
     <string name="call_settings" msgid="3677282690157603818">"Call settings"</string>
     <string name="additional_gsm_call_settings" msgid="1561980168685658846">"Additional settings"</string>
     <string name="additional_gsm_call_settings_with_label" msgid="7973920539979524908">"Additional settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="sum_gsm_call_settings" msgid="7964692601608878138">"Additional GSM-only call settings"</string>
+    <string name="sum_gsm_call_settings" msgid="7964692601608878138">"Additional GSM only call settings"</string>
     <string name="additional_cdma_call_settings" msgid="2178016561980611304">"Additional CDMA call settings"</string>
-    <string name="sum_cdma_call_settings" msgid="3185825305136993636">"Additional CDMA-only call settings"</string>
+    <string name="sum_cdma_call_settings" msgid="3185825305136993636">"Additional CDMA only call settings"</string>
     <string name="labelNwService" msgid="6015891883487125120">"Network service settings"</string>
     <string name="labelCallerId" msgid="2090540744550903172">"Caller ID"</string>
     <string name="sum_loading_settings" msgid="434063780286688775">"Loading settings…"</string>
@@ -100,7 +100,7 @@
     <string name="labelCW" msgid="8449327023861428622">"Call waiting"</string>
     <string name="sum_cw_enabled" msgid="3977308526187139996">"During a call, notify me of incoming calls"</string>
     <string name="sum_cw_disabled" msgid="3658094589461768637">"During a call, notify me of incoming calls"</string>
-    <string name="call_forwarding_settings" msgid="8937130467468257671">"Call-forwarding settings"</string>
+    <string name="call_forwarding_settings" msgid="8937130467468257671">"Call forwarding settings"</string>
     <string name="call_forwarding_settings_with_label" msgid="2345432813399564272">"Call forwarding settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="3578719437928476078">"Call forwarding"</string>
     <string name="labelCFU" msgid="8870170873036279706">"Always forward"</string>
@@ -123,14 +123,14 @@
     <string name="messageCFNRc" msgid="6980340731313007250">"Number when unreachable"</string>
     <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"Forwarding to <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="739289696796917683">"Off"</string>
-    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Your operator doesn\'t support disabling call forwarding when your phone is unreachable."</string>
-    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Your operator doesn\'t support call forwarding."</string>
+    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Your carrier doesn\'t support disabling call forwarding when your phone is unreachable."</string>
+    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Your carrier doesn\'t support call forwarding."</string>
     <string name="cdma_call_waiting" msgid="4565070960879673216">"Turn on call waiting?"</string>
     <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"During a call, you\'ll be notified about incoming calls"</string>
     <string name="enable_cdma_cw" msgid="811047045863422232">"Turn on"</string>
     <string name="disable_cdma_cw" msgid="7119290446496301734">"Cancel"</string>
-    <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"CDMA call waiting under IMS on"</string>
-    <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"CDMA call waiting under IMS off"</string>
+    <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"CDMA Call Waiting under IMS On"</string>
+    <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"CDMA Call Waiting under IMS Off"</string>
     <string name="updating_title" msgid="6130548922615719689">"Call settings"</string>
     <string name="call_settings_admin_user_only" msgid="7238947387649986286">"Call settings can only be changed by the admin user."</string>
     <string name="call_settings_with_label" msgid="8460230435361579511">"Settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -144,8 +144,8 @@
     <string name="stk_cc_ss_to_ussd_error" msgid="8330749347425752192">"SS request changed to USSD request"</string>
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"Changed to new SS request"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS request changed to video call"</string>
-    <string name="fdn_check_failure" msgid="1833769746374185247">"Your Phone app\'s fixed dialling numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
-    <string name="radio_off_error" msgid="8321564164914232181">"Please turn on the radio before viewing these settings."</string>
+    <string name="fdn_check_failure" msgid="1833769746374185247">"Your Phone app\'s Fixed Dialing Numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"Turn on the radio before viewing these settings."</string>
     <string name="close_dialog" msgid="1074977476136119408">"OK"</string>
     <string name="enable" msgid="2636552299455477603">"Turn on"</string>
     <string name="disable" msgid="1122698860799462116">"Turn off"</string>
@@ -156,22 +156,22 @@
     <item msgid="9150034130629852635">"Show number"</item>
   </string-array>
     <string name="vm_changed" msgid="4739599044379692505">"Voicemail number changed."</string>
-    <string name="vm_change_failed" msgid="7877733929455763566">"Couldn\'t change the voicemail number.\nContact your operator if this problem persists."</string>
-    <string name="fw_change_failed" msgid="9179241823460192148">"Couldn\'t change the forwarding number.\nContact your operator if this problem persists."</string>
+    <string name="vm_change_failed" msgid="7877733929455763566">"Couldn\'t change the voicemail number.\nContact your carrier if this problem persists."</string>
+    <string name="fw_change_failed" msgid="9179241823460192148">"Couldn\'t change the forwarding number.\nContact your carrier if this problem persists."</string>
     <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"Couldn\'t retrieve and save current forwarding number settings.\nSwitch to the new provider anyway?"</string>
     <string name="no_change" msgid="3737264882821031892">"No changes were made."</string>
     <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"Choose voicemail service"</string>
-    <string name="voicemail_default" msgid="6427575113775462077">"Your operator"</string>
+    <string name="voicemail_default" msgid="6427575113775462077">"Your carrier"</string>
     <string name="vm_change_pin_old_pin" msgid="7154951790929009241">"Old PIN"</string>
     <string name="vm_change_pin_new_pin" msgid="2656200418481288069">"New PIN"</string>
     <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Please wait."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"The new PIN is too short."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"The new PIN is too long."</string>
-    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"The new PIN is too weak. A strong password should not have a continuous sequence or repeated digits."</string>
-    <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"The old PIN doesn\'t match."</string>
+    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"The new PIN is too weak. A strong password should not have continuous sequence or repeated digits."</string>
+    <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"The old PIN does not match."</string>
     <string name="vm_change_pin_error_invalid" msgid="5230002671175580674">"The new PIN contains invalid characters."</string>
     <string name="vm_change_pin_error_system_error" msgid="9116483527909681791">"Unable to change PIN"</string>
-    <string name="vvm_unsupported_message_format" msgid="4206402558577739713">"Unsupported message type. Call <xliff:g id="NUMBER">%s</xliff:g> to listen."</string>
+    <string name="vvm_unsupported_message_format" msgid="4206402558577739713">"Unsupported message type, call <xliff:g id="NUMBER">%s</xliff:g> to listen."</string>
     <string name="network_settings_title" msgid="7560807107123171541">"Mobile network"</string>
     <string name="label_available" msgid="1316084116670821258">"Available networks"</string>
     <string name="load_networks_progress" msgid="4051433047717401683">"Searching…"</string>
@@ -179,13 +179,13 @@
     <string name="network_query_error" msgid="3862515805115145124">"Couldn\'t find networks. Try again."</string>
     <string name="register_on_network" msgid="4194770527833960423">"Registering on <xliff:g id="NETWORK">%s</xliff:g>…"</string>
     <string name="not_allowed" msgid="8541221928746104798">"Your SIM card doesn\'t allow a connection to this network."</string>
-    <string name="connect_later" msgid="1950138106010005425">"Can\'t connect to this network at the moment. Try again later."</string>
+    <string name="connect_later" msgid="1950138106010005425">"Can\'t connect to this network right now. Try again later."</string>
     <string name="registration_done" msgid="5337407023566953292">"Registered on network."</string>
     <string name="already_auto" msgid="8607068290733079336">"Already in automatic selection."</string>
     <string name="select_automatically" msgid="779750291257872651">"Automatically select network"</string>
     <string name="manual_mode_disallowed_summary" msgid="3970048592179890197">"Unavailable when connected to %1$s"</string>
     <string name="network_select_title" msgid="4117305053881611988">"Network"</string>
-    <string name="register_automatically" msgid="3907580547590554834">"Automatic registration..."</string>
+    <string name="register_automatically" msgid="3907580547590554834">"Automatic registration…"</string>
     <string name="preferred_network_mode_title" msgid="5253395265169539830">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="3787989000044330064">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="2781447433514459696">"Preferred network type"</string>
@@ -193,7 +193,7 @@
     <string name="choose_network_title" msgid="5335832663422653082">"Choose network"</string>
     <string name="network_disconnected" msgid="8844141106841160825">"Disconnected"</string>
     <string name="network_connected" msgid="2760235679963580224">"Connected"</string>
-    <string name="network_connecting" msgid="160901383582774987">"Connecting…"</string>
+    <string name="network_connecting" msgid="160901383582774987">"Connecting..."</string>
     <string name="network_could_not_connect" msgid="6547460848093727998">"Couldn’t connect"</string>
   <string-array name="preferred_network_mode_choices">
     <item msgid="4531933377509551889">"GSM/WCDMA preferred"</item>
@@ -208,7 +208,7 @@
     <item msgid="1694517610683571748">"GSM/WCDMA/LTE"</item>
     <item msgid="2431844716050955858">"Global"</item>
     <item msgid="8522859526931346931">"LTE"</item>
-    <item msgid="7852977970279215000">"LTE/WCDMA"</item>
+    <item msgid="7852977970279215000">"LTE / WCDMA"</item>
     <item msgid="5779210256161024981">"TDSCDMA only"</item>
     <item msgid="611913646308951205">"TDSCDMA/WCDMA"</item>
     <item msgid="1738977207573340604">"LTE/TDSCDMA"</item>
@@ -234,9 +234,9 @@
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="7851493369130750126">"Preferred network mode: WCDMA preferred"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="4323367929994392830">"Preferred network mode: GSM only"</string>
     <string name="preferred_network_mode_wcdma_only_summary" msgid="3585482191951442207">"Preferred network mode: WCDMA only"</string>
-    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="2988950751948316810">"Preferred network mode: GSM/WCDMA"</string>
+    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="2988950751948316810">"Preferred network mode: GSM / WCDMA"</string>
     <string name="preferred_network_mode_cdma_summary" msgid="9127141320343936911">"Preferred network mode: CDMA"</string>
-    <string name="preferred_network_mode_cdma_evdo_summary" msgid="3629440709757307077">"Preferred network mode: CDMA/EvDo"</string>
+    <string name="preferred_network_mode_cdma_evdo_summary" msgid="3629440709757307077">"Preferred network mode: CDMA / EvDo"</string>
     <string name="preferred_network_mode_cdma_only_summary" msgid="211164451887102568">"Preferred network mode: CDMA only"</string>
     <string name="preferred_network_mode_evdo_only_summary" msgid="939116631952132878">"Preferred network mode: EvDo only"</string>
     <string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary" msgid="7891131456022601976">"Preferred network mode: CDMA/EvDo/GSM/WCDMA"</string>
@@ -245,13 +245,13 @@
     <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="5559198623419981805">"Preferred network mode: CDMA+LTE/EVDO"</string>
     <string name="preferred_network_mode_lte_cdma_evdo_gsm_wcdma_summary" msgid="6707224437925495615">"Preferred network mode: LTE/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_global_summary" msgid="3847086258439582411">"Preferred network mode: Global"</string>
-    <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE/WCDMA"</string>
-    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE/GSM/UMTS"</string>
-    <string name="preferred_network_mode_lte_cdma_summary" msgid="8187929456614068518">"Preferred network mode: LTE/CDMA"</string>
+    <string name="preferred_network_mode_lte_wcdma_summary" msgid="7001804022020813865">"Preferred network mode: LTE / WCDMA"</string>
+    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="6484203890156282179">"Preferred network mode: LTE / GSM / UMTS"</string>
+    <string name="preferred_network_mode_lte_cdma_summary" msgid="8187929456614068518">"Preferred network mode: LTE / CDMA"</string>
     <string name="preferred_network_mode_tdscdma_summary" msgid="3602127224234207206">"Preferred network mode: TDSCDMA"</string>
-    <string name="preferred_network_mode_tdscdma_wcdma_summary" msgid="7076968749402201123">"Preferred network mode: TDSCDMA/WCDMA"</string>
-    <string name="preferred_network_mode_lte_tdscdma_summary" msgid="3001058390866953624">"Preferred network mode: LTE/TDSCDMA"</string>
-    <string name="preferred_network_mode_tdscdma_gsm_summary" msgid="1716983444872465309">"Preferred network mode: TDSCDMA/GSM"</string>
+    <string name="preferred_network_mode_tdscdma_wcdma_summary" msgid="7076968749402201123">"Preferred network mode: TDSCDMA / WCDMA"</string>
+    <string name="preferred_network_mode_lte_tdscdma_summary" msgid="3001058390866953624">"Preferred network mode: LTE / TDSCDMA"</string>
+    <string name="preferred_network_mode_tdscdma_gsm_summary" msgid="1716983444872465309">"Preferred network mode: TDSCDMA / GSM"</string>
     <string name="preferred_network_mode_lte_tdscdma_gsm_summary" msgid="1349057007230669585">"Preferred network mode: LTE/GSM/TDSCDMA"</string>
     <string name="preferred_network_mode_tdscdma_gsm_wcdma_summary" msgid="2092262901885164194">"Preferred network mode: TDSCDMA/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_wcdma_summary" msgid="56422129430744466">"Preferred network mode: LTE/TDSCDMA/WCDMA"</string>
@@ -259,7 +259,7 @@
     <string name="preferred_network_mode_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="2779089629254220257">"Preferred network mode: TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_lte_tdscdma_cdma_evdo_gsm_wcdma_summary" msgid="9065672185435798587">"Preferred network mode: LTE/TDSCDMA/CDMA/EvDo/GSM/WCDMA"</string>
     <string name="preferred_network_mode_nr_only_summary" msgid="1467452233297987391">"Preferred network mode: NR only"</string>
-    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR/LTE"</string>
+    <string name="preferred_network_mode_nr_lte_summary" msgid="5890170406507535976">"Preferred network mode: NR / LTE"</string>
     <string name="preferred_network_mode_nr_lte_cdma_evdo_summary" msgid="5507940227264296616">"Preferred network mode: NR/LTE/CDMA/EvDo"</string>
     <string name="preferred_network_mode_nr_lte_gsm_wcdma_summary" msgid="2811179121638665248">"Preferred network mode: NR/LTE/GSM/WCDMA"</string>
     <string name="preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary" msgid="7631365223836621902">"Preferred network mode: NR/LTE/CDMA/EvDo/GSM/WCDMA"</string>
@@ -295,13 +295,13 @@
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> calls and data services may be blocked while using <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
     <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> calls and data services may be blocked while using another SIM."</string>
     <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Deprecated SIP accounts found and removed"</string>
-    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"SIP calling is no longer supported by the Android platform.\nYour existing SIP accounts <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> have been removed.\nPlease confirm your default calling account setting."</string>
+    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"SIP calling is no longer supported by Android platform.\nYour existing SIP accounts <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> have been removed.\nPlease confirm your default calling account setting."</string>
     <string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Go to settings"</string>
     <string name="data_usage_title" msgid="8438592133893837464">"App data usage"</string>
     <string name="data_usage_template" msgid="6287906680674061783">"<xliff:g id="ID_1">%1$s</xliff:g> mobile data used <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="advanced_options_title" msgid="9208195294513520934">"Advanced"</string>
     <string name="carrier_settings_euicc" msgid="1190237227261337749">"Carrier"</string>
-    <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"operator, esim, sim, euicc, switch operators, add operator"</string>
+    <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"carrier, esim, sim, euicc, switch carriers, add carrier"</string>
     <string name="carrier_settings_euicc_summary" msgid="2027941166597330117">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
     <string name="mobile_data_settings_title" msgid="7228249980933944101">"Mobile data"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Access data using mobile network"</string>
@@ -315,20 +315,20 @@
     <string name="cdma_options" msgid="3669592472226145665">"CDMA Options"</string>
     <string name="throttle_data_usage" msgid="1944145350660420711">"Data usage"</string>
     <string name="throttle_current_usage" msgid="7483859109708658613">"Data used in current period"</string>
-    <string name="throttle_time_frame" msgid="1813452485948918791">"Data usage period"</string>
+    <string name="throttle_time_frame" msgid="1813452485948918791">"Data use period"</string>
     <string name="throttle_rate" msgid="7641913901133634905">"Data rate policy"</string>
     <string name="throttle_help" msgid="2624535757028809735">"Learn more"</string>
     <string name="throttle_status_subtext" msgid="1110276415078236687">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) of <xliff:g id="USED_2">%3$s</xliff:g> period maximum\nNext period starts in <xliff:g id="USED_3">%4$d</xliff:g> days (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
     <string name="throttle_data_usage_subtext" msgid="3185429653996709840">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) of <xliff:g id="USED_2">%3$s</xliff:g> period maximum"</string>
     <string name="throttle_data_rate_reduced_subtext" msgid="8369839346277847725">"<xliff:g id="USED_0">%1$s</xliff:g> maximum exceeded\nData rate reduced to <xliff:g id="USED_1">%2$d</xliff:g> Kb/s"</string>
     <string name="throttle_time_frame_subtext" msgid="6462089615392402127">"<xliff:g id="USED_0">%1$d</xliff:g>٪ of cycle elapsed\nNext period starts in <xliff:g id="USED_1">%2$d</xliff:g> days (<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
-    <string name="throttle_rate_subtext" msgid="7221971817325779535">"Data rate reduced to <xliff:g id="USED">%1$d</xliff:g> Kb/s if data usage limit is exceeded"</string>
-    <string name="throttle_help_subtext" msgid="2817114897095534807">"More information about your operator\'s mobile network data usage policy"</string>
-    <string name="cell_broadcast_sms" msgid="4053449797289031063">"Mobile Broadcast SMS"</string>
-    <string name="enable_disable_cell_bc_sms" msgid="4759958924031721350">"Mobile Broadcast SMS"</string>
-    <string name="cell_bc_sms_enable" msgid="2019708772024632073">"Mobile Broadcast SMS enabled"</string>
-    <string name="cell_bc_sms_disable" msgid="1214238639910875347">"Mobile Broadcast SMS disabled"</string>
-    <string name="cb_sms_settings" msgid="6858093721831312036">"Mobile Broadcast SMS settings"</string>
+    <string name="throttle_rate_subtext" msgid="7221971817325779535">"Data rate reduced to <xliff:g id="USED">%1$d</xliff:g> Kb/s if data use limit is exceeded"</string>
+    <string name="throttle_help_subtext" msgid="2817114897095534807">"More information about your carrier\'s mobile network data use policy"</string>
+    <string name="cell_broadcast_sms" msgid="4053449797289031063">"Cell Broadcast SMS"</string>
+    <string name="enable_disable_cell_bc_sms" msgid="4759958924031721350">"Cell Broadcast SMS"</string>
+    <string name="cell_bc_sms_enable" msgid="2019708772024632073">"Cell Broadcast SMS enabled"</string>
+    <string name="cell_bc_sms_disable" msgid="1214238639910875347">"Cell Broadcast SMS disabled"</string>
+    <string name="cb_sms_settings" msgid="6858093721831312036">"Cell Broadcast SMS settings"</string>
     <string name="enable_disable_emergency_broadcast" msgid="6325655044472196496">"Emergency Broadcast"</string>
     <string name="emergency_broadcast_enable" msgid="5759610647771102442">"Emergency Broadcast enabled"</string>
     <string name="emergency_broadcast_disable" msgid="2844904734469323266">"Emergency Broadcast disabled"</string>
@@ -396,15 +396,15 @@
     <string name="enable_disable_advertisements" msgid="8704125663718797151">"Advertisements"</string>
     <string name="advertisements_enable" msgid="8651409664217899145">"Advertisements enabled"</string>
     <string name="advertisements_disable" msgid="2999957360508271492">"Advertisements disabled"</string>
-    <string name="enable_disable_stock_quotes" msgid="631498357725951825">"Share Quotes"</string>
-    <string name="stock_quotes_enable" msgid="5104318195579771947">"Share Quotes enabled"</string>
-    <string name="stock_quotes_disable" msgid="3126423481704498278">"Share Quotes disabled"</string>
+    <string name="enable_disable_stock_quotes" msgid="631498357725951825">"Stock Quotes"</string>
+    <string name="stock_quotes_enable" msgid="5104318195579771947">"Stock Quotes enabled"</string>
+    <string name="stock_quotes_disable" msgid="3126423481704498278">"Stock Quotes disabled"</string>
     <string name="enable_disable_eo" msgid="5730223317238970819">"Employment Opportunities"</string>
     <string name="eo_enable" msgid="107713355461019817">"Employment Opportunities enabled"</string>
     <string name="eo_disable" msgid="3955421278929647485">"Employment Opportunities disabled"</string>
-    <string name="enable_disable_mhh" msgid="715930476289202466">"Medical, Health and Hospital"</string>
-    <string name="mhh_enable" msgid="7224396815285147008">"Medical, Health and Hospital enabled"</string>
-    <string name="mhh_disable" msgid="5503643028885686265">"Medical, Health and Hospital disabled"</string>
+    <string name="enable_disable_mhh" msgid="715930476289202466">"Medical, Health, and Hospital"</string>
+    <string name="mhh_enable" msgid="7224396815285147008">"Medical, Health, and Hospital enabled"</string>
+    <string name="mhh_disable" msgid="5503643028885686265">"Medical, Health, and Hospital disabled"</string>
     <string name="enable_disable_technology_news" msgid="2794845609698078400">"Technology News"</string>
     <string name="technology_news_enable" msgid="1908991199492598311">"Technology News enabled"</string>
     <string name="technology_news_disable" msgid="8388582607149800889">"Technology News disabled"</string>
@@ -435,20 +435,20 @@
   </string-array>
     <string name="cdma_activate_device" msgid="5914720276140097632">"Activate device"</string>
     <string name="cdma_lte_data_service" msgid="359786441782404562">"Set up data service"</string>
-    <string name="carrier_settings_title" msgid="6292869148169850220">"Provider settings"</string>
-    <string name="fdn" msgid="2545904344666098749">"Fixed dialling numbers"</string>
-    <string name="fdn_with_label" msgid="6412087553365709494">"Fixed dialling numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="carrier_settings_title" msgid="6292869148169850220">"Carrier settings"</string>
+    <string name="fdn" msgid="2545904344666098749">"Fixed Dialing Numbers"</string>
+    <string name="fdn_with_label" msgid="6412087553365709494">"Fixed Dialing Numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="3341716430375195441">"FDN list"</string>
     <string name="fdn_list_with_label" msgid="1409655283510382556">"FDN list (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2178637004710435895">"FDN activation"</string>
-    <string name="fdn_enabled" msgid="7017355494808056447">"Fixed dialling numbers are enabled"</string>
-    <string name="fdn_disabled" msgid="6696468878037736600">"Fixed dialling numbers are disabled"</string>
+    <string name="fdn_enabled" msgid="7017355494808056447">"Fixed Dialing Numbers are enabled"</string>
+    <string name="fdn_disabled" msgid="6696468878037736600">"Fixed Dialing Numbers are disabled"</string>
     <string name="enable_fdn" msgid="4830555730418033723">"Enable FDN"</string>
     <string name="disable_fdn" msgid="3918794950264647541">"Disable FDN"</string>
     <string name="change_pin2" msgid="3110844547237754871">"Change PIN2"</string>
     <string name="enable_fdn_ok" msgid="5080925177369329827">"Disable FDN"</string>
     <string name="disable_fdn_ok" msgid="3745475926874838676">"Enable FDN"</string>
-    <string name="sum_fdn" msgid="6152246141642323582">"Manage fixed dialling numbers"</string>
+    <string name="sum_fdn" msgid="6152246141642323582">"Manage Fixed Dialing Numbers"</string>
     <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Change PIN for FDN access"</string>
     <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Manage phone number list"</string>
     <string name="voice_privacy" msgid="7346935172372181951">"Voice privacy"</string>
@@ -466,18 +466,18 @@
     <string name="name" msgid="1347432469852527784">"Name"</string>
     <string name="number" msgid="1564053487748491000">"Number"</string>
     <string name="save" msgid="983805790346099749">"Save"</string>
-    <string name="add_fdn_contact" msgid="1169713422306640887">"Add fixed dialling number"</string>
-    <string name="adding_fdn_contact" msgid="3112531600824361259">"Adding fixed dialling number…"</string>
-    <string name="fdn_contact_added" msgid="2840016151693394596">"Fixed dialling number added."</string>
-    <string name="edit_fdn_contact" msgid="6030829994819587408">"Edit fixed dialling number"</string>
-    <string name="updating_fdn_contact" msgid="6989341376868227150">"Updating fixed dialling number…"</string>
-    <string name="fdn_contact_updated" msgid="6876330243323118937">"Fixed dialling number updated."</string>
-    <string name="delete_fdn_contact" msgid="7027405651994507077">"Delete fixed dialling number"</string>
-    <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialling number…"</string>
-    <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialling number deleted."</string>
+    <string name="add_fdn_contact" msgid="1169713422306640887">"Add fixed dialing number"</string>
+    <string name="adding_fdn_contact" msgid="3112531600824361259">"Adding fixed dialing number…"</string>
+    <string name="fdn_contact_added" msgid="2840016151693394596">"Fixed dialing number added."</string>
+    <string name="edit_fdn_contact" msgid="6030829994819587408">"Edit fixed dialing number"</string>
+    <string name="updating_fdn_contact" msgid="6989341376868227150">"Updating fixed dialing number…"</string>
+    <string name="fdn_contact_updated" msgid="6876330243323118937">"Fixed dialing number updated."</string>
+    <string name="delete_fdn_contact" msgid="7027405651994507077">"Delete fixed dialing number"</string>
+    <string name="deleting_fdn_contact" msgid="6872320570844460428">"Deleting fixed dialing number…"</string>
+    <string name="fdn_contact_deleted" msgid="1680714996763848838">"Fixed dialing number deleted."</string>
     <string name="pin2_invalid" msgid="2313954262684494442">"FDN wasn\'t updated because you typed an incorrect PIN."</string>
     <string name="fdn_invalid_number" msgid="9067189814657840439">"FDN wasn\'t updated because the number exceeds <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> digits."</string>
-    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected."</string>
+    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN wasn\'t updated. The PIN2 was incorrect, or the phone number was rejected."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN operation failed."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Reading from SIM card…"</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"No contacts on your SIM card."</string>
@@ -489,8 +489,8 @@
     <string name="oldPinLabel" msgid="8618515202411987721">"Old PIN"</string>
     <string name="newPinLabel" msgid="3585899083055354732">"New PIN"</string>
     <string name="confirmPinLabel" msgid="7783531218662473778">"Confirm new PIN"</string>
-    <string name="badPin" msgid="4549286285015892321">"The old PIN that you typed isn\'t correct. Try again."</string>
-    <string name="mismatchPin" msgid="1467254768290323845">"The PINs that you typed don\'t match. Try again."</string>
+    <string name="badPin" msgid="4549286285015892321">"The old PIN you typed isn\'t correct. Try again."</string>
+    <string name="mismatchPin" msgid="1467254768290323845">"The PINs you typed don\'t match. Try again."</string>
     <string name="invalidPin" msgid="7363723429414001979">"Type a PIN that is 4 to 8 numbers."</string>
     <string name="disable_sim_pin" msgid="3112303905548613752">"Clear SIM PIN"</string>
     <string name="enable_sim_pin" msgid="445461050748318980">"Set SIM PIN"</string>
@@ -520,8 +520,8 @@
     <string name="pin2_error_exception" msgid="8116103864600823641">"Network or SIM card error"</string>
     <string name="doneButton" msgid="7371209609238460207">"Done"</string>
     <string name="voicemail_settings_number_label" msgid="1265118640154688162">"Voicemail number"</string>
-    <string name="card_title_dialing" msgid="8742182654254431781">"Dialling"</string>
-    <string name="card_title_redialing" msgid="18130232613559964">"Redialling"</string>
+    <string name="card_title_dialing" msgid="8742182654254431781">"Dialing"</string>
+    <string name="card_title_redialing" msgid="18130232613559964">"Redialing"</string>
     <string name="card_title_conf_call" msgid="901197309274457427">"Conference call"</string>
     <string name="card_title_incoming_call" msgid="881424648458792430">"Incoming call"</string>
     <string name="card_title_call_ended" msgid="650223980095026340">"Call ended"</string>
@@ -541,10 +541,10 @@
     <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Exit emergency callback mode to make a non-emergency call."</string>
     <string name="incall_error_emergency_only" msgid="8786127461027964653">"Not registered on network."</string>
     <string name="incall_error_out_of_service" msgid="1927265196942672791">"Mobile network not available."</string>
-    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network isn\'t available. Connect to a wireless network to make a call."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Mobile network is not available. Connect to a wireless network to make a call."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"To place a call, enter a valid number."</string>
     <string name="incall_error_call_failed" msgid="393508653582682539">"Call failed."</string>
-    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to get in touch by sending a message."</string>
+    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Call cannot be added at this time. You can try to reach out by sending a message."</string>
     <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"Service not supported"</string>
     <string name="incall_error_supp_service_switch" msgid="5272822448189448479">"Can\'t switch calls."</string>
     <string name="incall_error_supp_service_resume" msgid="1276861499306817035">"Can\'t resume call."</string>
@@ -577,7 +577,7 @@
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Use keyboard to dial"</string>
     <string name="onscreenHoldText" msgid="4025348842151665191">"Hold"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"End"</string>
-    <string name="onscreenShowDialpadText" msgid="658465753816164079">"Dial pad"</string>
+    <string name="onscreenShowDialpadText" msgid="658465753816164079">"Dialpad"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Mute"</string>
     <string name="onscreenAddCallText" msgid="9075675082903611677">"Add call"</string>
     <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Merge calls"</string>
@@ -593,14 +593,14 @@
     <string name="singleContactImportedMsg" msgid="3619804066300998934">"Imported contact"</string>
     <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"Failed to import contact"</string>
     <string name="hac_mode_title" msgid="4127986689621125468">"Hearing aids"</string>
-    <string name="hac_mode_summary" msgid="7774989500136009881">"Turn on hearing-aid compatibility"</string>
+    <string name="hac_mode_summary" msgid="7774989500136009881">"Turn on hearing aid compatibility"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Real-time text (RTT) call"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"Allow messaging within a voice call"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; – RTT calls are saved as a message transcript\n       &lt;br&gt; – RTT is not available for video calls"</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT assists callers who are deaf, hard of hearing, have a speech disability, or need more than voice alone.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Learn more&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT calls are saved as a message transcript\n       &lt;br&gt; - RTT is not available for video calls"</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Note: RTT is not available while roaming"</string>
   <string-array name="tty_mode_entries">
-    <item msgid="3238070884803849303">"TTY off"</item>
-    <item msgid="1449091874731375214">"TTY full"</item>
+    <item msgid="3238070884803849303">"TTY Off"</item>
+    <item msgid="1449091874731375214">"TTY Full"</item>
     <item msgid="1044179293199519425">"TTY HCO"</item>
     <item msgid="2131559553795606483">"TTY VCO"</item>
   </string-array>
@@ -617,7 +617,7 @@
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"Activating..."</string>
     <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"The phone is activating your mobile data service.\n\nThis can take up to 5 minutes."</string>
     <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"Skip activation?"</string>
-    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"If you skip activation, you can\'t place calls or connect to mobile data networks (though you can connect to Wi-Fi networks). Until you activate your phone, you are asked to activate it each time that you turn it on."</string>
+    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"If you skip activation, you can\'t place calls or connect to mobile data networks (though you can connect to Wi-Fi networks). Until you activate your phone, you are asked to activate it each time you turn it on."</string>
     <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"Skip"</string>
     <string name="ota_activate" msgid="7939695753665438357">"Activate"</string>
     <string name="ota_title_activate_success" msgid="1272135024761004889">"Phone is activated."</string>
@@ -625,9 +625,9 @@
     <string name="ota_listen" msgid="2772252405488894280">"Follow the spoken instructions until you hear that activation is complete."</string>
     <string name="ota_speaker" msgid="1086766980329820528">"Speaker"</string>
     <string name="ota_progress" msgid="8837259285255700132">"Programming your phone…"</string>
-    <string name="ota_failure" msgid="5674217489921481576">"Couldn\'t programme your phone"</string>
+    <string name="ota_failure" msgid="5674217489921481576">"Couldn\'t program your phone"</string>
     <string name="ota_successful" msgid="1106825981548107774">"Your phone is now activated. It may take up to 15 minutes for service to start."</string>
-    <string name="ota_unsuccessful" msgid="8531037653803955754">"Your phone didn\'t activate. \nYou may need to find an area with better coverage (near a window or outside). \n\nTry again or call customer service for more options."</string>
+    <string name="ota_unsuccessful" msgid="8531037653803955754">"Your phone didn\'t activate. \nYou may need to find an area with better coverage (near a window, or outside). \n\nTry again or call customer service for more options."</string>
     <string name="ota_spc_failure" msgid="904092035241370080">"EXCESS SPC FAILURES"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"Back"</string>
     <string name="ota_try_again" msgid="6914781945599998550">"Try again"</string>
@@ -637,9 +637,9 @@
     <string name="phone_in_ecm_notification_title" msgid="6825016389926367946">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="653972232922670335">"Data connection disabled"</string>
     <string name="phone_in_ecm_notification_complete_time" msgid="7341624337163082759">"No data connection until <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
-    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in emergency callback mode for one minute. While in this mode, no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in emergency callback mode for %s minutes. While in this mode, no applications using a data connection can be used. Do you want to exit now?}}"</string>
-    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the emergency callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
-    <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The action selected isn\'t available during an emergency call."</string>
+    <string name="alert_dialog_exit_ecm" msgid="7661603870224398025">"{count,plural, =1{The phone will be in Emergency Callback mode for one minute. While in this mode no apps using a data connection can be used. Do you want to exit now?}other{The phone will be in Emergency Callback mode for %s minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_not_avaialble_in_ecm" msgid="8717711120099503279">"{count,plural, =1{The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for one minute. Do you want to exit now?}other{The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for %s minutes. Do you want to exit now?}}"</string>
+    <string name="alert_dialog_in_ecm_call" msgid="1207545603149771978">"The selected action isn\'t available while in an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Yes"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"No"</string>
@@ -657,8 +657,8 @@
     <string name="selectContact" msgid="1527612842599767382">"select contact"</string>
     <string name="not_voice_capable" msgid="2819996734252084253">"Voice calling not supported"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"dial"</string>
-    <string name="description_dialpad_button" msgid="7395114120463883623">"show dial pad"</string>
-    <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Emergency dial pad"</string>
+    <string name="description_dialpad_button" msgid="7395114120463883623">"show dialpad"</string>
+    <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Emergency Dialpad"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="6610414098912832120">"Visual Voicemail"</string>
     <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"Set PIN"</string>
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Change PIN"</string>
@@ -674,11 +674,10 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
-    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Unable to connect. Please insert a valid SIM card."</string>
+    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Unable to connect, please insert a valid SIM card."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Wi-Fi connection lost. Call ended."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Your video call cannot be placed due to low battery."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Video call ended due to low battery."</string>
@@ -687,11 +686,11 @@
     <string name="change_pin_title" msgid="3564254326626797321">"Change Voicemail PIN"</string>
     <string name="change_pin_continue_label" msgid="5177011752453506371">"Continue"</string>
     <string name="change_pin_cancel_label" msgid="2301711566758827936">"Cancel"</string>
-    <string name="change_pin_ok_label" msgid="6861082678817785330">"OK"</string>
+    <string name="change_pin_ok_label" msgid="6861082678817785330">"Ok"</string>
     <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"Confirm your old PIN"</string>
     <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"Enter your voicemail PIN to continue."</string>
     <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"Set a new PIN"</string>
-    <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"PIN must be <xliff:g id="MIN">%1$d</xliff:g>-<xliff:g id="MAX">%2$d</xliff:g> digits long."</string>
+    <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"PIN must be <xliff:g id="MIN">%1$d</xliff:g>-<xliff:g id="MAX">%2$d</xliff:g> digits."</string>
     <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"Confirm your PIN"</string>
     <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"PINs don\'t match"</string>
     <string name="change_pin_succeeded" msgid="2504705600693014403">"Voicemail PIN updated"</string>
@@ -788,14 +787,14 @@
     <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Change call barring password"</string>
     <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Cannot change call barring password"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Passwords do not match"</string>
-    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with four numbers"</string>
+    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Enter a password with 4 numbers"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Password changed"</string>
     <string name="call_barring_old_pwd" msgid="5500085633281388281">"Old password"</string>
     <string name="call_barring_new_pwd" msgid="2515524903813227732">"New password"</string>
     <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirm password"</string>
     <string name="messageCallBarring" msgid="5537730400652466912">"Enter password"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Call barring settings"</string>
-    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try placing your call again later."</string>
+    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Network is busy. Please try your call again later."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Network is congested. Contact your mobile operator for assistance."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Call deflected."</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"Call forwarded."</string>
@@ -815,47 +814,48 @@
     <string name="supp_service_conference_call" msgid="4004193534408317148">"Joining conference call."</string>
     <string name="supp_service_held_call_released" msgid="2847835124639112410">"Held call has been released."</string>
     <string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"Cannot place a call as the device is currently being provisioned."</string>
-    <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialling."</string>
+    <string name="callFailed_already_dialing" msgid="7250591188960691086">"Cannot place a call as another outgoing call is already dialing."</string>
     <string name="callFailed_already_ringing" msgid="2376603543544289303">"Cannot place a call as there is an unanswered incoming call. Answer or reject the incoming call prior to placing a new call."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Cannot place a call as calling has been disabled using the ro.telephony.disable-call system property."</string>
     <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Cannot place a call as there are already two calls in progress. Disconnect one of the calls or merge them into a conference prior to placing a new call."</string>
-    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data is turned on. You can change this in mobile network settings."</string>
-    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure that mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
-    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
-    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure that mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure mobile data is turned on. You can change this in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"To use <xliff:g id="SUPP_SERVICE">%s</xliff:g>, make sure mobile data and data roaming are turned on. You can change these in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure mobile data is turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change this in mobile network settings."</string>
+    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"To use <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, make sure mobile data and data roaming are turned on for SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. You can change these in mobile network settings."</string>
     <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Dismiss"</string>
-    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable data connection"</string>
-    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable data connection"</string>
-    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE provisioned"</string>
-    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video calling provisioned"</string>
-    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wi-Fi calling provisioned"</string>
-    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence provisioned"</string>
-    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS data"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Enable Data Connection"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Disable Data Connection"</string>
+    <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE Provisioned"</string>
+    <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Video Calling Provisioned"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Wifi Calling Provisioned"</string>
+    <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence Provisioned"</string>
+    <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Cbrs Data"</string>
     <string name="dsds_switch_string" msgid="7564769822086764796">"Enable DSDS"</string>
-    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart device?"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Restart Device?"</string>
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
-    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
-    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View service dialling numbers"</string>
-    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS service status"</string>
-    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS status"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set Removable eSIM as Default"</string>
+    <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile Radio Power"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM Address Book"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View Fixed Dialing Numbers"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"View Service Dialing Numbers"</string>
+    <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"IMS Service Status"</string>
+    <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"IMS Status"</string>
     <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Registered"</string>
-    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not registered"</string>
+    <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Not Registered"</string>
     <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Available"</string>
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Unavailable"</string>
-    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
-    <string name="radioInfo_service_in" msgid="45753418231446400">"In service"</string>
-    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of service"</string>
-    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency calls only"</string>
-    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio off"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS Registration: <xliff:g id="STATUS">%1$s</xliff:g>\nVoice over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nVoice over WiFi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideo Calling: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT Interface: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radioInfo_service_in" msgid="45753418231446400">"In Service"</string>
+    <string name="radioInfo_service_out" msgid="287972405416142312">"Out of Service"</string>
+    <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Emergency Calls Only"</string>
+    <string name="radioInfo_service_off" msgid="3456583511226783064">"Radio Off"</string>
     <string name="radioInfo_roaming_in" msgid="3156335577793145965">"Roaming"</string>
-    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not roaming"</string>
+    <string name="radioInfo_roaming_not" msgid="1904547918725478110">"Not Roaming"</string>
     <string name="radioInfo_phone_idle" msgid="2191653783170757819">"Idle"</string>
     <string name="radioInfo_phone_ringing" msgid="8100354169567413370">"Ringing"</string>
-    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in progress"</string>
+    <string name="radioInfo_phone_offhook" msgid="7564601639749936170">"Call in Progress"</string>
     <string name="radioInfo_data_disconnected" msgid="8085447971880814541">"Disconnected"</string>
     <string name="radioInfo_data_connecting" msgid="925092271092152472">"Connecting"</string>
     <string name="radioInfo_data_connected" msgid="7637335645634239508">"Connected"</string>
@@ -867,56 +867,56 @@
     <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
     <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
     <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
-    <string name="radio_info_subid" msgid="6839966868621703203">"Current subID:"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Current subId:"</string>
     <string name="radio_info_dds" msgid="1122593144425697126">"SubId of default data SIM:"</string>
-    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL bandwidth (kbps):"</string>
-    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL bandwidth (kbps):"</string>
-    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE physical channel configuration:"</string>
-    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Mobile info refresh rate:"</string>
-    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All mobile measurement info:"</string>
-    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data service:"</string>
+    <string name="radio_info_dl_kbps" msgid="2382922659525318726">"DL Bandwidth (kbps):"</string>
+    <string name="radio_info_ul_kbps" msgid="2102225400904799036">"UL Bandwidth (kbps):"</string>
+    <string name="radio_info_phy_chan_config" msgid="1277949603275436081">"LTE Physical Channel Configuration:"</string>
+    <string name="radio_info_cell_info_refresh_rate" msgid="670511448975997340">"Cell Info Refresh Rate:"</string>
+    <string name="radio_info_cellinfo_label" msgid="8199062974670377659">"All Cell Measurement Info:"</string>
+    <string name="radio_info_gprs_service_label" msgid="6819204246355412952">"Data Service:"</string>
     <string name="radio_info_roaming_label" msgid="6636932886446857120">"Roaming:"</string>
     <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
-    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call redirect:"</string>
-    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP reset since boot:"</string>
-    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current network:"</string>
-    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data received:"</string>
-    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice service:"</string>
-    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal strength"</string>
-    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice call status:"</string>
-    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data sent"</string>
-    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message waiting:"</string>
-    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone number:"</string>
-    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select radio band"</string>
-    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice network type:"</string>
-    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data network type:"</string>
-    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override network type:"</string>
+    <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Call Redirect:"</string>
+    <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"Number of PPP Reset Since Boot:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Current Network:"</string>
+    <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Data Received:"</string>
+    <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Voice Service:"</string>
+    <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Signal Strength:"</string>
+    <string name="radio_info_call_status_label" msgid="7693575431923095487">"Voice Call Status:"</string>
+    <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Data Sent:"</string>
+    <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Message Waiting:"</string>
+    <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Phone Number:"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Select Radio Band"</string>
+    <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Voice Network Type:"</string>
+    <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Data Network Type:"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Override Network Type:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Select phone index"</string>
-    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set preferred network type:"</string>
-    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping hostname(www.google.com) IPv4:"</string>
-    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping hostname(www.google.com) IPv6:"</string>
-    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP client test:"</string>
-    <string name="ping_test_label" msgid="448617502935719694">"Run ping test"</string>
+    <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Set Preferred Network Type:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping Hostname(www.google.com) IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping Hostname(www.google.com) IPv6:"</string>
+    <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP Client Test:"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Run Ping Test"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Update"</string>
     <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Refresh"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS check"</string>
-    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific info/settings"</string>
-    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC available (NSA):"</string>
-    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR restricted (NSA):"</string>
-    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR available (NSA):"</string>
-    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR state (NSA):"</string>
-    <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
-    <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
-    <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Toggle DNS Check"</string>
+    <string name="oem_radio_info_label" msgid="2914167475119997456">"OEM-specific Info/Settings"</string>
+    <string name="radio_info_endc_available" msgid="2983767110681230019">"EN-DC Available (NSA):"</string>
+    <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"DCNR Restricted (NSA):"</string>
+    <string name="radio_info_nr_available" msgid="3383388088451237182">"NR Available (NSA):"</string>
+    <string name="radio_info_nr_state" msgid="4158805093187555149">"NR State (NSA):"</string>
+    <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Frequency:"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Set Radio Band Mode"</string>
+    <string name="band_mode_loading" msgid="795923726636735967">"Loading Band List…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
     <string name="band_mode_failed" msgid="1707488541847192924">"Unsuccessful"</string>
     <string name="band_mode_succeeded" msgid="2230018000534761063">"Successful"</string>
     <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Tablet info"</string>
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"Phone info"</string>
-    <string name="carrier_provisioning" msgid="2668065041869578376">"Operator provisioning info"</string>
-    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger operator provisioning"</string>
-    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your Bluetooth signal is weak. Try switching to speakerphone."</string>
-    <string name="call_quality_notification_name" msgid="3476828289553948830">"Call quality notification"</string>
+    <string name="carrier_provisioning" msgid="2668065041869578376">"Carrier Provisioning Info"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Trigger Carrier Provisioning"</string>
+    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Your bluetooth signal is weak. Try switching to speakerphone."</string>
+    <string name="call_quality_notification_name" msgid="3476828289553948830">"Call Quality Notification"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"Deprecated SIP accounts"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index b8af3fc..eebbbb3 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index b8af3fc..eebbbb3 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibility"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi call from"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi call"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tap again to open"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"There was an error while decoding the message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A SIM card has activated your service and updated your phone\'s roaming capabilities."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"There are too many active calls. Please end or merge existing calls before placing a new one."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"You need to restart your device to change this setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancel"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Set removable eSIM as default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile radio power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"View SIM address book"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"View fixed dialling numbers"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index feca079..84474ef 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎Accessibility‎‏‎‎‏‎"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎Wi-Fi call from‎‏‎‎‏‎"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎Wi-Fi call‎‏‎‎‏‎"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎Tap again to open‎‏‎‎‏‎"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎There was an error while decoding the message.‎‏‎‎‏‎"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎A SIM card has activated your service and updated your phone\'s roaming capabilities.‎‏‎‎‏‎"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎There are too many active calls. Please end or merge existing calls before placing a new one.‎‏‎‎‏‎"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎You need to restart your device to change this setting.‎‏‎‎‏‎"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎Restart‎‏‎‎‏‎"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎Cancel‎‏‎‎‏‎"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎Set Removable eSIM as Default‎‏‎‎‏‎"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎Mobile Radio Power‎‏‎‎‏‎"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎View SIM Address Book‎‏‎‎‏‎"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎View Fixed Dialing Numbers‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 2e6577e..ccdab6c 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -34,7 +34,7 @@
     <string name="enter_input" msgid="6193628663039958990">"El mensaje USSD debe tener entre <xliff:g id="MIN_LEN">%1$d</xliff:g> y <xliff:g id="MAX_LEN">%2$d</xliff:g> caracteres. Vuelve a intentarlo."</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"Administrar conferencia telefónica"</string>
     <string name="ok" msgid="7818974223666140165">"Aceptar"</string>
-    <string name="audio_mode_speaker" msgid="243689733219312360">"Altavoz"</string>
+    <string name="audio_mode_speaker" msgid="243689733219312360">"Bocina"</string>
     <string name="audio_mode_earpiece" msgid="2823700267171134282">"Auricular"</string>
     <string name="audio_mode_wired_headset" msgid="5028010823105817443">"Auriculares con cable"</string>
     <string name="audio_mode_bluetooth" msgid="25732183428018809">"Bluetooth"</string>
@@ -575,7 +575,7 @@
     <string name="fire_type_description" msgid="6565200468934914930">"Bomberos"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s, %2$s"</string>
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Utilizar teclado para marcar"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"Retener"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"Pausar"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Finalizar"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Teclado telefónico"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Silenciar"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilidad"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Llamada con Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Llamada por Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Presionar de nuevo para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Se produjo un error al decodificar el mensaje."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una tarjeta SIM activó tu servicio y actualizó las capacidades de roaming del teléfono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hay demasiadas llamadas activas. Finaliza o combina las llamadas existentes antes de realizar una llamada nueva."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Debes reiniciar el dispositivo para cambiar este parámetro de configuración."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Establecer eSIM extraíble como predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potencia de la señal móvil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver libreta de direcciones de SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de marcación fija"</string>
@@ -916,7 +916,7 @@
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"Información del teléfono"</string>
     <string name="carrier_provisioning" msgid="2668065041869578376">"Información del aprovisionamiento del proveedor"</string>
     <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Activar aprovisionamiento del proveedor"</string>
-    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Tu señal de Bluetooth es débil. Intenta cambiar al altavoz."</string>
+    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Tu señal de Bluetooth es débil. Intenta cambiar a la bocina."</string>
     <string name="call_quality_notification_name" msgid="3476828289553948830">"Notificación de calidad de llamada"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"Cuentas SIP obsoletas"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 6b103d3..e78123b 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilidad"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Llamada por Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Llamada Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toca de nuevo para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Se ha producido un error al decodificar el mensaje."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una tarjeta SIM ha activado tu servicio y actualizado la función de roaming del teléfono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hay demasiadas llamadas activas. Finaliza o combina las llamadas que tienes antes de iniciar otra."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Debes reiniciar el dispositivo para cambiar este ajuste."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Establecer eSIM extraíble como predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potencia de la señal móvil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver libreta de direcciones de tarjeta SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de marcación fija"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 89fde3b..5495ffb 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Juurdepääsetavus"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi-kõne:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi-kõne"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Avamiseks puudutage uuesti"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Sõnumi dekodeerimisel ilmnes viga."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-kaart aktiveeris teenuse ja värskendas telefoni rändlusvõimeid."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Liiga palju aktiivseid kõnesid. Enne uue kõne tegemist lõpetage mõni olemasolev kõne või ühendage mitu kõnet omavahel."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Selle seade muutmiseks peate seadme taaskäivitama."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Taaskäivita"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Tühista"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Eemaldatava eSIM-i määramine vaikevalikuks"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiiliraadio toide"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Kuva SIM-i aadressiraamat"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Kuva fikseeritud valimisnumbrid"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 8c1bbc0..75d461a 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -92,7 +92,7 @@
     <string name="additional_cdma_call_settings" msgid="2178016561980611304">"CDMA deien ezarpen gehigarriak"</string>
     <string name="sum_cdma_call_settings" msgid="3185825305136993636">"CDMA soilik motako deietarako ezarpen gehigarriak"</string>
     <string name="labelNwService" msgid="6015891883487125120">"Sareko zerbitzuen ezarpenak"</string>
-    <string name="labelCallerId" msgid="2090540744550903172">"Deitzailearen IDa"</string>
+    <string name="labelCallerId" msgid="2090540744550903172">"Deitzailearen identitatea"</string>
     <string name="sum_loading_settings" msgid="434063780286688775">"Ezarpenak kargatzen…"</string>
     <string name="sum_hide_caller_id" msgid="131100328602371933">"Ezkutatu zenbakia irteerako deietan"</string>
     <string name="sum_show_caller_id" msgid="3571854755324664591">"Erakutsi zenbakia irteerako deietan"</string>
@@ -167,7 +167,7 @@
     <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Itxaron, mesedez."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"Laburregia da PIN berria."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"Luzeegia da PIN berria."</string>
-    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"Ez da batere segurua PIN berria. Pasahitza segurua izan dadin, ez du izan behar zenbaki-segidarik edo errepikatutako zenbakirik."</string>
+    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"Ez da batere segurua PIN berria. Pasahitz konplexuek ez dute izan behar zenbaki-segidarik edo errepikatutako zenbakirik."</string>
     <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"PIN zaharra ez dator bat."</string>
     <string name="vm_change_pin_error_invalid" msgid="5230002671175580674">"Balio ez duten karaktereak ditu PIN berriak."</string>
     <string name="vm_change_pin_error_system_error" msgid="9116483527909681791">"Ezin da aldatu PINa"</string>
@@ -534,7 +534,7 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Erantzungailuaren zenbakia ezezaguna da"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Ez dago zerbitzurik"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Hautatutako sarea (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ez dago erabilgarri"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Deitzeko, aktibatu sare mugikorra, desaktibatu hegaldi modua edo desaktibatu bateria-aurrezlea."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Deitzeko, aktibatu sare mugikorra, desaktibatu hegaldi modua edo desaktibatu bateria-aurreztailea."</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Deia egiteko, desaktibatu hegaldi modua."</string>
     <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Deia egiteko, desaktibatu hegaldi modua edo konektatu haririk gabeko sare batera."</string>
     <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonoa beroegi dago"</b>\n\n"Ezin da egin deia. Saiatu berriro telefonoa hozten denean.\n\nHala ere, larrialdi-deiak egin ditzakezu."</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Erabilerraztasuna"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi bidezko deia:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi deia"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Irekitzeko, sakatu berriro"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Errore bat gertatu mezua deskodetzean."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM txartel batek zerbitzua aktibatu du eta telefonoaren ibiltaritza-gaitasunak eguneratu ditu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Dei gehiegi daude aktibo. Amaitu edo bateratu abian diren deiak beste bat egin aurretik."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ezarpen hau aldatzeko, gailua berrabiarazi egin behar duzu."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Berrabiarazi"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Utzi"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ezarri eSIM aldagarria lehenetsi gisa"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Sare mugikor bidezko irratiaren indarra"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ikusi SIMeko kontaktuak"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ikusi markatze finkoko zenbakiak"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index f850336..2c06784 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -451,7 +451,7 @@
     <string name="sum_fdn" msgid="6152246141642323582">"مدیریت شماره‌های شماره‌گیری ثابت"</string>
     <string name="sum_fdn_change_pin" msgid="3510994280557335727">"‏تغییر پین برای دسترسی FDN"</string>
     <string name="sum_fdn_manage_list" msgid="3311397063233992907">"مدیریت فهرست شماره تلفن"</string>
-    <string name="voice_privacy" msgid="7346935172372181951">"حریم‌خصوصی صوتی"</string>
+    <string name="voice_privacy" msgid="7346935172372181951">"حریم خصوصی صوتی"</string>
     <string name="voice_privacy_summary" msgid="3556460926168473346">"فعال کردن حالت رازداری پیشرفته"</string>
     <string name="tty_mode_option_title" msgid="3843817710032641703">"‏حالت TTY"</string>
     <string name="tty_mode_option_summary" msgid="4770510287236494371">"‏تنظیم حالت TTY"</string>
@@ -592,9 +592,9 @@
     <string name="importToFDNfromContacts" msgid="5068664870738407341">"وارد کردن از مخاطبین"</string>
     <string name="singleContactImportedMsg" msgid="3619804066300998934">"مخاطب واردشده"</string>
     <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"مخاطب وارد نشد"</string>
-    <string name="hac_mode_title" msgid="4127986689621125468">"دستگاه‌های کمک‌شنوایی"</string>
+    <string name="hac_mode_title" msgid="4127986689621125468">"سمعک"</string>
     <string name="hac_mode_summary" msgid="7774989500136009881">"روشن کردن سازگاری دستگاه کمک‌شنوایی"</string>
-    <string name="rtt_mode_title" msgid="3075948111362818043">"‏تماس نوشتار هم‌زمان (RTT)"</string>
+    <string name="rtt_mode_title" msgid="3075948111362818043">"‏تماس با نوشتار هم‌زمان (RTT)"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"پیام‌رسانی در تماس صوتی مجاز است"</string>
     <string name="rtt_mode_more_information" msgid="587500128658756318">"‏«نوشتار هم‌زمان» به تماس گیرندگان ناشنوا، دارای مشکل شنوایی، دارای ناتوانی گفتاری یا افرادی که به چیزی بیش از صدا نیاز دارند کمک می‌کند.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;بیشتر بدانید&lt;/a&gt;\n       ‏&lt;br&gt;&lt;br&gt; تماس‌های «نوشتار هم‌زمان» به‌صورت ترانویسی پیام ذخیره می‌شود\n       &lt;br&gt; «نوشتار هم‌زمان» برای تماس‌های ویدیویی دردسترس نیست"</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"نکته: «نوشتار هم‌زمان» در هنگام فراگردی دردسترس نیست"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"دسترس‌پذیری"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"‏تماس Wi-Fi از"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"‏تماس Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"دوباره ضربه بزنید تا باز شود"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"هنگام رمزگشایی پیام، خطایی روی داد."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"یک سیم‌کارت سرویس شما را فعال کرده است و قابلیت‌های فراگردی تلفنتان را به‌روز کرده است."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"تعداد زیادی تماس فعال وجود دارد. قبل از برقراری تماس جدید، لطفاً به تماس‌های موجود پایان دهید یا آنها را ادغام کنید."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"برای تغییر این تنظیم، باید دستگاه را بازراه‌اندازی کنید."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"بازراه‌اندازی"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"لغو"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"تنظیم سیم‌کارت داخلی جداشدنی به‌عنوان پیش‌فرض"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"توان رادیوی تلفن همراه"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"مشاهده دفترچه نشانی سیم‌کارت"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"مشاهده شماره‌های شماره‌گیری ثابت"</string>
@@ -899,7 +899,7 @@
     <string name="ping_test_label" msgid="448617502935719694">"اجرای آزمایش پینگ"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"به‌روزرسانی"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"بازخوانی"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"بازآوری"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"‏تغییر وضعیت علامت DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"‏تنظیمات/اطلاعات خاص OEM"</string>
     <string name="radio_info_endc_available" msgid="2983767110681230019">"‏EN-DC دردسترس است (NSA):"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 7eaa56e..7c1f1f0 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Esteettömyys"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-puhelu henkilöltä"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-puhelu"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Avaa koskettamalla uudelleen."</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Virhe purettaessa viestiä."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-kortti on aktivoinut palvelusi ja päivittänyt puhelimesi roaming-toiminnot."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Aktiivisia puheluja on liian monta. Lopeta puheluita tai yhdistä niitä ennen uuden puhelun aloittamista."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Laite on käynnistettävä uudelleen asetuksen muuttamiseksi."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Käynnistä uudelleen"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Peru"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Aseta poistettava eSIM oletukseksi"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiiliradion voimakkuus"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Näytä SIM-kortin osoitekirja"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Näytä sallitut numerot"</string>
@@ -893,8 +893,8 @@
     <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Ohita verkon tyyppi:"</string>
     <string name="phone_index_label" msgid="6222406512768964268">"Valitse puhelimen hakemisto"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Aseta ensisijainen verkon tyyppi:"</string>
-    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping-kutsu isäntänimelle (www.google.com), IPv4:"</string>
-    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping-kutsu isäntänimelle (www.google.com), IPv6:"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Ping isäntänimelle (www.google.com), IPv4:"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Ping isäntänimelle (www.google.com), IPv6:"</string>
     <string name="radio_info_http_client_test" msgid="1329583721088428238">"HTTP-asiakastesti:"</string>
     <string name="ping_test_label" msgid="448617502935719694">"Suorita ping-testi"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 68087dd..364ca42 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilité"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Appel Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Appel Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Touchez à nouveau pour ouvrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Une erreur s\'est produite lors du décodage du message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Une carte SIM a activé votre service et mis à jour les fonctionnalités d\'itinérance de votre téléphone."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Il y a trop d\'appels actifs. Veuillez mettre fin aux appels existants ou les fusionner avant d\'en passer un nouveau."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Vous devez redémarrer votre appareil pour modifier ce paramètre."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Redémarrer"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuler"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Définir la carte eSIM amovible comme carte SIM par défaut"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentation de radio cellulaire"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afficher le carnet d\'adresses de la carte SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afficher les numéros d\'appel fixes"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 0cc6604..901c032 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilité"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Appel Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Appel Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Appuyez à nouveau pour ouvrir."</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Une erreur s\'est produite lors du décodage du message."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Votre service a été activé et les fonctionnalités d\'itinérance de votre téléphone ont été mises à jour via une carte SIM."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Il y a trop d\'appels actifs. Pour passer un autre appel, vous devez mettre fin aux appels existants ou fusionner ces derniers."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Vous devez redémarrer l\'appareil pour modifier ce paramètre."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Redémarrer"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuler"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Définir l\'eSIM amovible comme SIM par défaut"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentation radio mobile"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afficher le carnet d\'adresses de la carte SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afficher les numéros autorisés"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index db347cd..5d34666 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilidade"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chamada por wifi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chamada wifi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toca de novo para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Produciuse un erro durante a descodificación da mensaxe."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"A tarxeta SIM activou o teu servizo e actualizou as funcións de itinerancia do teléfono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hai moitas chamadas activas. Finaliza as chamadas existentes ou combínaas antes de facer unha nova."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Debes reiniciar o dispositivo para cambiar esta opción"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Establecer eSIM extraíble como predeterminada"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentación da radio móbil"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver axenda de enderezos da SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de marcación fixa"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 7e9e7e6..5d8548e 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ઍક્સેસિબિલિટી"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"આમના તરફથી Wi-Fi કૉલ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi કૉલ"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ખોલવા માટે ફરીથી ટૅપ કરો"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"સંદેશ ડીકોડિંગ કરતી વખતે ભૂલ આવી હતી."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"એક SIM કાર્ડ એ તમારી સેવા સક્રિય કરી છે અને તમારા ફોનની રોમિંગ ક્ષમતાઓને અપડેટ કરી છે."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"અહીં ઘણા બધા સક્રિય કૉલ્સ છે. કૃપા કરીને એક નવો કૉલ કરવા પહેલાં અસ્તિત્વમાંના કૉલ્સને સમાપ્ત કરો અથવા મર્જ કરો."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"આ સેટિંગમાં ફેરફાર કરવા માટે તમારા ડિવાઇસને ફરી શરૂ કરો."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ફરી શરૂ કરો"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"રદ કરો"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"કાઢી નાખી શકાય એવા ઇ-સિમ કાર્ડને ડિફૉલ્ટ તરીકે સેટ કરો"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"મોબાઇલ રેડિયો પાવર"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"સિમમાં સરનામા પુસ્તિકા જુઓ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ફિક્સ્ડ ડાયલિંગ નંબર જુઓ"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 56c0334..255063c 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"सुलभता"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"इससे वाई-फ़ाई कॉल"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"वाई-फ़ाई कॉल"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"खोलने के लिए फिर से टैप करें"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"संदेश डीकोड करते समय कोई गड़बड़ी हुई थी."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"सिम कार्ड द्वारा आपकी सेवा को सक्रिय किया गया है और आपके फ़ोन की रोमिंग क्षमताओं को अपडेट किया गया है."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"बहुत ज़्यादा कॉल सक्रिय हैं. नया कॉल करने से पहले कृपया मौजूदा कॉल खत्म करें या उन्हें मिला दें."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"इस सेटिंग को बदलने के लिए आपको अपना डिवाइस रीस्टार्ट करना होगा."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"रीस्टार्ट करें"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"रद्द करें"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"हटाए जा सकने वाले ई-सिम को डिफ़ॉल्ट के तौर पर सेट करें"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडियो पावर"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"सिम में संपर्कों के पते की सूची देखें"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"फ़िक्स्ड डायलिंग नंबर देखें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index bc64a99..89c6846 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pristupačnost"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi poziv s broja"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi poziv"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dodirnite opet za otvaranje"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Došlo je do pogreške prilikom dekodiranja poruke."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartica aktivirala je vašu uslugu i ažurirala mogućnosti telefona za roaming."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Postoji previše aktivnih poziva. Prekinite ili spojite postojeće pozive prije uspostavljanja novog poziva."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ponovo pokrenite uređaj da biste promijenili tu postavku."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Ponovno pokretanje"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Odustani"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Postavljanje uklonjivog eSIM-a kao zadanog"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Snaga mobilnog radija"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži imenik SIM-a"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži brojeve za fiksno biranje"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 52e4288..10415e0 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Kisegítő lehetőségek"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-hívás tőle:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-hívás"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Koppintson rá ismét a megnyitáshoz"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Hiba történt az üzenet dekódolása közben."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Egy SIM kártya aktiválta a szolgáltatást, valamint frissítette a telefon barangolási képességeit."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Túl sok aktív hívás van. Új hívás indítása előtt fejezzen be vagy vonjon össze meglévő hívásokat."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"A beállítás módosításához újra kell indítania az eszközt."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Újraindítás"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Mégse"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Cserélhető eSIM beállítása alapértelmezettként"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobil rádióadó teljesítménye"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM-kártya telefonkönyvének megtekintése"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Fix hívószámok megtekintése"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 90dcdf1..ef5a3d8 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -575,7 +575,7 @@
     <string name="fire_type_description" msgid="6565200468934914930">"Հրշեջ ծառայություն"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s, %2$s"</string>
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Օգտագործեք ստեղնաշարը՝ համարհավաքման համար"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"Պահել"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"Սպասման մեջ դնել"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Ավարտել"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Թվաշար"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Խլացնել"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Հատուկ գործառույթներ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi զանգ այս օգտվողից՝"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Զանգ Wi-Fi-ի միջոցով"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Կրկին հպեք՝ բացելու համար"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Հաղորդագրությունն ապակոդավորելիս սխալ առաջացավ:"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM քարտն ակտիվացրել է ծառայությունը և թարմացրել ձեր հեռախոսի ռոումինգի հնարավորությունները:"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Չափազանց շատ ընթացիկ զանգեր կան: Ավարտեք կամ միավորեք առկա զանգերը՝ նախքան նորն զանգ կատարելը:"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Վերագործարկեք սարքը՝ այս կարգավորումը փոխելու համար:"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Վերագործարկել"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Չեղարկել"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Սահմանել հեռացվելի eSIM քարտը որպես կանխադրված"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Բջջային ռադիոազդանշանի հզորությունը"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Դիտել SIM քարտի հասցեագիրքը"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Տեսնել ամրակցված հեռախոսահամարները"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index dcec511..02b298f 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -674,8 +674,7 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Aksesibilitas"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Panggilan Wi-Fi dari"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Panggilan Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ketuk lagi untuk membuka"</string>
-    <string name="message_decode_error" msgid="1061856591500290887">"Terjadi kesalahan saat mendekode pesan."</string>
+    <string name="message_decode_error" msgid="1061856591500290887">"Terjadi error saat mendekode pesan."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Kartu SIM telah mengaktifkan layanan dan memperbarui kemampuan roaming ponsel."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ada terlalu banyak panggilan aktif. Akhiri atau gabungkan panggilan yang ada sebelum melakukan panggilan baru."</string>
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Tidak dapat terhubung, masukkan kartu SIM yang valid."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Anda perlu memulai ulang perangkat untuk mengubah setelan."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Mulai ulang"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Batal"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Tetapkan eSIM yang Dapat Dilepas sebagai Default"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Daya Radio Seluler"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Lihat Buku Alamat SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Lihat Panggilan Terbatas"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index aed35e5..ef24bbd 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Aðgengi"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi símtal frá"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi símtal"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ýttu aftur til að opna"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Villa kom upp við að afkóða skeytið."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-kort hefur virkjað þjónustuna þína og uppfært reikigetu símans."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Of mörg símtöl eru virk. Ljúktu eða sameinaðu fyrirliggjandi símtöl áður en þú hringir nýtt."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Endurræsa þarf tækið til að breyta þessari stillingu."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Endurræsa"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Hætta við"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Stilla laust eSIM sem sjálfgefið"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Loftnetsstyrkur farsíma"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Skoða símaskrá SIM-korts"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Skoða læst númeraval"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index ae7fce8..7d8ba9d 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -17,7 +17,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="phoneAppLabel" product="tablet" msgid="1916019789885839910">"Dati cellulare"</string>
-    <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Phone Services"</string>
+    <string name="phoneAppLabel" product="default" msgid="130465039375347763">"Servizi telefonici"</string>
     <string name="emergencyDialerIconLabel" msgid="8668005772339436680">"Chiamata di emergenza"</string>
     <string name="phoneIconLabel" msgid="3015941229249651419">"Telefono"</string>
     <string name="fdnListLabel" msgid="4119121875004244097">"Elenco numeri consentiti"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accessibilità"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chiamata Wi-Fi da"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chiamata Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tocca di nuovo per aprire"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Si è verificato un errore durante la decodifica del messaggio."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Una scheda SIM ha attivato il tuo servizio e ha aggiornato le funzionalità di roaming del telefono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ci sono troppe chiamate attive. Termina o unisci le chiamate esistenti prima di effettuarne una nuova."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Riavvia il dispositivo per modificare questa impostazione."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Riavvia"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annulla"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Imposta la eSIM rimovibile come predefinita"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potenza del segnale radio mobile"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Visualizza rubrica SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Visualizza numeri consentiti"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index ab509bf..9e6d461 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"נגישות"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"‏שיחת Wi-Fi מאת"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"‏שיחת Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"יש להקיש שוב כדי לפתוח"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"אירעה שגיאה בעת פענוח ההודעה."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"‏כרטיס SIM הפעיל את השירות שלך ועדכן את יכולות הנדידה של הטלפון."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"יש יותר מדי שיחות פעילות. כדי להתחיל שיחה חדשה עליך לסיים או למזג חלק מהשיחות הפעילות."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"עליך להפעיל מחדש את המכשיר כדי לשנות הגדרה זו."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"הפעלה מחדש"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ביטול"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‏הגדרת eSIM נשלף כברירת המחדל"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"הפעלה של רדיו סלולרי"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏הצגת פנקס כתובות של SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"הצגת מספרי חיוג קבועים"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 89cf0fc..43f48f1 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -662,7 +662,7 @@
     <string name="voicemail_visual_voicemail_switch_title" msgid="6610414098912832120">"ビジュアル留守番電話"</string>
     <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"PIN の設定"</string>
     <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"PIN の変更"</string>
-    <string name="preference_category_ringtone" msgid="8787281191375434976">"着信音とバイブレーション"</string>
+    <string name="preference_category_ringtone" msgid="8787281191375434976">"サウンドとバイブレーション"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"内蔵のSIMカード"</string>
     <string name="enable_video_calling_title" msgid="7246600931634161830">"ビデオハングアウトを有効にする"</string>
     <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"ビデオハングアウトをONにするには、ネットワーク設定で4G LTE拡張モードを有効にする必要があります。"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ユーザー補助機能"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi 通話の着信"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi 通話"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"開くにはもう一度タップしてください"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"メッセージのデコード中にエラーが発生しました。"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIMカードでサービスが有効になり、スマートフォンのローミング機能が更新されています。"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"通話中の電話の数が多すぎます。新しく通話を発信するには、まず既存の通話を終了するか、統合してグループ通話にしてください。"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"この設定を変更するには、デバイスの再起動が必要です。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"再起動"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"キャンセル"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"リムーバブル eSIM をデフォルトに設定"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"モバイル無線電力"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM のアドレス帳を表示"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"発信番号制限を表示"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 8f84a7f..a76a9b8 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"მარტივი წვდომა"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi ზარი აბონენტისგან"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi ზარი"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"გასახსნელად, შეეხეთ ხელახლა"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"შეტყობინების გაშიფრვისას წარმოიშვა შეცდომა."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM ბარათმა გაააქტიურა თქვენი სერვისი და თქვენი ტელეფონის როუმინგის შესაძლებლობები განაახლა."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ძალიან ბევრი აქტიური ზარია. გთხოვთ, დაასრულოთ ან გააერთიანოთ არსებული ზარები ახალი ზარის განხორციელებამდე."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ამ პარამეტრის შესაცვლელად საჭიროა მოწყობილობის გადატვირთვა."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"გადატვირთვა"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"გაუქმება"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"მოსახსნელი eSIM-ის ნაგულისხმევად დაყენება"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"მობილური რადიოკავშირის ელკვება"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM-ის მისამართების წიგნის ნახვა"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"დაშვებული ნომრების ნახვა"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 6693aad..2b8ec37 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -303,7 +303,7 @@
     <string name="carrier_settings_euicc" msgid="1190237227261337749">"Оператор"</string>
     <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"оператор, esim, sim, euicc, операторларды ауыстыру, оператор қосу"</string>
     <string name="carrier_settings_euicc_summary" msgid="2027941166597330117">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
-    <string name="mobile_data_settings_title" msgid="7228249980933944101">"Мобильдік деректер"</string>
+    <string name="mobile_data_settings_title" msgid="7228249980933944101">"Мобильдік интернет"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Деректерге мобильдік желі арқылы кіру"</string>
     <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Мобильдік байланысты өшіру қажет пе?"</string>
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Таңдау қажет"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Арнайы мүмкіндіктер"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi қоңырауын шалушы:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi қоңырауы"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ашу үшін қайта түртіңіз"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Хабарды кодтан шығару кезінде қате пайда болды."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM карта қызметті белсендіріп, телефонның роуминг мүмкіндіктерін жаңартты."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Белсенді қоңыраулар тым көп. Жаңа қоңырау шалудан бұрын бар қоңырауларды аяқтаңыз немесе біріктіріңіз."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Бұл параметрді өзгерту үшін құрылғыны қайта қосу қажет."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Қайта қосу"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Өшіру"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Алынбалы eSIM әдепкі етіп орнату"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Радиосигнал күші"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM мекенжай кітапшасын көру"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Рұқсат нөмірлерді көру"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index b457a14..53aceaf 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ភាពងាយស្រួល"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ការហៅតាម Wi-Fi ពី"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ហៅតាម Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ប៉ះម្ដងទៀតដើម្បីបើក"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"មានកំហុសខណៈពេលឌិកូដសារ។"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ស៊ីមកាតបានធ្វើឲ្យសេវាកម្មរបស់អ្នកសកម្ម និងបានធ្វើបច្ចុប្បន្នភាពសមត្ថភាពរ៉ូមីងសម្រាប់ទូរស័ព្ទរបស់អ្នក។"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"មាន​ការ​ហៅ​ដែល​សកម្ម​ច្រើន​ពេក។ សូម​បញ្ចប់ ឬ​​ដាក់​​បញ្ចូល​គ្នា​ការ​ហៅ​ដែល​មាន​ស្រាប់​​មុន​ពេល​ដាក់​ការ​ហៅ​ថ្មី។"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"អ្នក​ត្រូវ​ចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នកឡើងវិញ ដើម្បី​ផ្លាស់ប្ដូរ​ការកំណត់​នេះ។"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ចាប់ផ្ដើមឡើងវិញ"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"បោះបង់"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"កំណត់ eSIM ដែល​អាចដកបាន​ជាលំនាំដើម"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ថាមពល​វិទ្យុ​ទូរសព្ទ​ចល័ត"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"មើលសៀវភៅអាសយដ្ឋានក្នុងស៊ីមកាត"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"មើល​លេខ​ហៅ​ថេរ"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index ad6fc4e..5c0fc69 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ಪ್ರವೇಶಿಸುವಿಕೆ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ಅವರಿಂದ ವೈ-ಫೈ ಕರೆ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ವೈ-ಫೈ ಕರೆ"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ತೆರೆಯಲು ಮತ್ತೆ ಟ್ಯಾಪ್‌ ಮಾಡಿ"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"ಸಂದೇಶವನ್ನು ಡೀಕೋಡ್ ಮಾಡುವಾಗ ದೋಷವುಂಟಾಗಿದೆ."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ನಿಮ್ಮ ಸೇವೆಯನ್ನು ಸಿಮ್‌ ಕಾರ್ಡ್‌ ಸಕ್ರಿಯಗೊಳಿಸಿದೆ ಮತ್ತು ನಿಮ್ಮ ಫೋನ್‌ನ ರೋಮಿಂಗ್ ಸಾಮರ್ಥ್ಯವನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲಾಗಿದೆ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ಹಲವಾರು ಸಕ್ರಿಯ ಕರೆಗಳು. ಹೊಸ ಕರೆ ಮಾಡುವ ಮೊದಲು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕರೆಗಳನ್ನು ಅಂತ್ಯಗೊಳಿಸಿ ಅಥವಾ ವಿಲೀನಗೊಳಿಸಿ."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ಈ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ನೀವು ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವ ಅಗತ್ಯವಿದೆ."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ತೆಗೆದುಹಾಕಬಹುದಾದ eSIM ಅನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸೆಟ್ ಮಾಡಿ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ಮೊಬೈಲ್ ರೇಡಿಯೋ ಪವರ್"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ಸಿಮ್ ವಿಳಾಸ ಪುಸ್ತಕವನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ಸ್ಥಿರ ಡಯಲಿಂಗ್ ಸಂಖ್ಯೆಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 5e5a3df..db4ca40 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"접근성"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi 수신 전화:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi 통화"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"다시 탭하여 열기"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"메시지를 디코딩하는 중에 오류가 발생했습니다."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM 카드로 서비스가 활성화되었으며 휴대전화 로밍 기능이 업데이트되었습니다."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"활성화된 통화가 너무 많습니다. 새로운 전화를 걸기 전에 기존의 통화를 끝내거나 합치세요."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"설정을 변경하려면 기기를 다시 시작해야 합니다."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"다시 시작"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"취소"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"삭제 가능한 eSIM을 기본으로 설정"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"모바일 무선 전력"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM 주소록 보기"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"발신 허용 번호 보기"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 038fef9..b37559a 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Атайын мүмкүнчүлүктөр"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi аркылуу чалуу:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi чалуу"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ачуу үчүн кайра таптап коюңуз"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Билдирүү дешифрленип жатканда ката кеткен."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM-карта кызматыңызды жандырып, телефонуңуздун роуминг мүмкүнчүлүктөрүн жаңыртты."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Учурда жигердүү чалуулар өтө көп. Чалуу үчүн учурдагы чалууларды бүтүрүңүз же бириктириңиз."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Бул жөндөөнү өзгөртүү үчүн түзмөгүңүздү өчүрүп күйгүзүңүз."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Өчүрүп-күйгүзүү"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Жокко чыгаруу"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Чыгарылуучу eSIM-картаны демейки катары коюу"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мобилдик радионун кубаты"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM картадагы дарек китепчесин көрүү"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Туруктуу терүү номерлерин көрүү"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 2662394..bdd63c9 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"​ການ​ຊ່ວຍ​ເຂົ້າ​ເຖິງ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ການໂທ Wi-Fi ຈາກ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ການ​ໂທ Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ແຕະອີກຄັ້ງເພື່ອເປີດ"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"ມີຂໍ້ຜິດພາດໃນລະຫວ່າງຖອດລະຫັດຂໍ້ຄວາມດັ່ງກ່າວ."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ແຜ່ນ SIM ໄດ້ເປີດໃຊ້ງານການບໍລິການຂອງທ່ານ ແລະອັບເດດຄວາມສາມາດໃຊ້ງານຂ້າມເຂດຂອງໂທລະສັບຂອງທ່ານແລ້ວ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ມີສາຍຫຼາຍເກີນໄປ. ກະລຸນາວາງສາຍ ຫຼື ຮວມສາຍທີ່ກຳລັງໂທກ່ອນໂທສາຍໃໝ່."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ທ່ານຕ້ອງຣີສະຕາດອຸປະກອນຂອງທ່ານເພື່ອປ່ຽນການຕັ້ງຄ່ານີ້."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ປິດເປີດຄືນໃໝ່"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ຍົກເລີກ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ຕັ້ງຄ່າ eSIM ແບບຖອດໄດ້ໃຫ້ເປັນຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ພະລັງງານວິທະຍຸມືຖື"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ເບິ່ງສະໝຸດທີ່ຢູ່ໃນຊິມ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ເບິ່ງໝາຍເລກໂທອອກທີ່ກຳນົດ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 16eef88..bede872 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pritaikymas neįgaliesiems"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"„Wi-Fi“ skambutis nuo"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"„Wi-Fi“ skambutis"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Palieskite dar kartą, kad atidarytumėte"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Iškoduojant pranešimą įvyko klaida."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kortelė suaktyvino paslaugą ir atnaujino telefono tarptinklinio duomenų ryšio funkcijas."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Yra per daug aktyvių skambučių. Prieš skambindami kitu numeriu, užbaikite ar sujunkite esamus skambučius."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Turite paleisti įrenginį iš naujo, kad galėtumėte pakeisti šį nustatymą."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Paleisti iš naujo"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Atšaukti"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nustatyti pašalinimą „eSIM“ kaip numatytąją"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiliojo ryšio radijo signalas"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Žiūrėti SIM kortelės adresų knygą"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Žiūrėti fiksuotojo rinkimo numerius"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index d207672..d012da9 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pieejamība"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi zvans no:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi zvans"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Pieskarieties vēlreiz, lai atvērtu."</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Atšifrējot ziņojumu, radās kļūda."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kartē ir aktivizēts jūsu pakalpojums un atjauninātas tālruņa viesabonēšanas iespējas."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ir pārāk daudz aktīvu zvanu. Pirms jauna zvana veikšanas pabeidziet vai apvienojiet esošos zvanus."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Lai mainītu šo iestatījumu, jums jārestartē ierīce."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Restartēt"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Atcelt"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Iestatīt noņemamu eSIM kā noklusējumu"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobilā tālruņa radio signāla stiprums"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Skatīt SIM adrešu grāmatu"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Skatīt ierobežotā zvanu saraksta numurus"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index bbbbb61..b954ee2 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Пристапност"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Повик преку Wi-Fi од"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Повик преку Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Допрете повторно за да се отвори"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Настана грешка при дешифрирање на пораката."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Вашата SIM-картичка ја активираше услугата и ги ажурираше способностите за роаминг на вашиот телефон."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Има премногу активни повици. Завршете или спојте ги постоечките повици пред да започнете нов."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Треба да го рестартирате уредот за да ја промените поставкава."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Рестартирај"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Откажи"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Поставување eSIM што може да се отстрани како стандардна"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Радио-напојување на мобилен"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Прикажи именик на SIM-картичката"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прикажи броеви со ограничено бирање"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 29d7d12..3bac1fc 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ഉപയോഗസഹായി"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ഈ വ്യക്തിയിൽ നിന്നുള്ള Wi-Fi കോൾ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"വൈഫൈ കോൾ"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"തുറക്കുന്നതിന് വീണ്ടും ടാപ്പുചെയ്യുക"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"സന്ദേശം ഡീകോഡുചെയ്യുമ്പോൾ ഒരു പിശകുണ്ടായി."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ഒരു SIM കാർഡ് നിങ്ങളുടെ സേവനം സജീവമാക്കി, ഫോണിന്റെ റോമിംഗ് ശേഷികൾ അപ്‌ഡേറ്റ് ചെയ്തു."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"നിരവധി കോളുകൾ നിലവിൽ സജീവമായുണ്ട്. പുതിയ കോൾ വിളിക്കുന്നതിനുമുമ്പ് നിലവിലുള്ള കോളുകൾ അവസാനിപ്പിക്കുകയോ ലയിപ്പിക്കുകയോ ചെയ്യുക."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ഈ ക്രമീകരണം മാറ്റാൻ നിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"റീസ്റ്റാർട്ട് ചെയ്യുക"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"റദ്ദാക്കുക"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"നീക്കം ചെയ്യാവുന്ന ഇ-സിം ഡിഫോൾട്ടായി സജ്ജീകരിക്കുക"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"മൊബൈൽ റേഡിയോ പവർ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"സിം വിലാസ പുസ്‌തകം കാണുക"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"സ്ഥിര ഡയലിംഗ് നമ്പറുകൾ കാണുക"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index f5d6037..e5e54cc 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -534,7 +534,7 @@
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Дуут шуудангийн дугаар тодорхойгүй"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Үйлчилгээ байхгүй"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Сонгосон <xliff:g id="OPERATOR_NAME">%s</xliff:g> сүлжээг ашиглах боломжгүй"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Дуудлага хийхийн тулд мобайл сүлжээг асаах, нислэгийн горим буюу батерей хэмнэх горимыг идэвхгүй болгоно уу."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Дуудлага хийхийн тулд мобайл сүлжээг асаах, нислэгийн горим буюу батарей хэмнэх горимыг идэвхгүй болгоно уу."</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Дуудлага хийхийн тулд онгоцны горимыг унтраа."</string>
     <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Дуудлага хийхийн тулд онгоцны горимыг унтраа эсвэл утасгүй интернетэд холбогдоно уу."</string>
     <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Утас хэт халуун байна"</b>\n\n"Энэ дуудлагыг гүйцээх боломжгүй. Та утсаа хөрсөн үед дахин оролдоно уу.\n\nТа яаралтай дуудлага хийх боломжтой хэвээр байна."</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Хандалт"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi дуудлага"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi дуудлага"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Нээхийн тулд дахин дарна уу"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Мессежийн кодыг тайлах явцад алдаа гарсан."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM карт таны үйлчилгээг идэвхжүүлж, утасны роаминг багтаамжийг шинэчиллээ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Хэт олон идэвхтэй дуудлага байна. Шинэ дуудлага хийхийн өмнө одоогийн дуудлагуудыг таслах буюу нэгтгэнэ үү."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Та энэ тохиргоог өөрчлөхийн тулд төхөөрөмжөө дахин эхлүүлэх шаардлагатай."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Дахин эхлүүлэх"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Цуцлах"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Салгах боломжтой eSIM-г өгөгдмөлөөр тохируулах"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мобайл радио цахилгаан"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM хаягийн лавлахыг харах"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Залгахаар тохируулсан дугаарыг харах"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index e222a45..a5050d2 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -545,7 +545,7 @@
     <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"कॉल करण्यासाठी, एक वैध नंबर एंटर करा."</string>
     <string name="incall_error_call_failed" msgid="393508653582682539">"कॉल अयशस्वी झाला."</string>
     <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"या वेळी कॉल जोडू शकत नाही. तुम्ही मेसेज पाठवून संपर्क करण्याचा प्रयत्न करू शकता."</string>
-    <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"सेवा समर्थित नाही"</string>
+    <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"सेवेला सपोर्ट नाही"</string>
     <string name="incall_error_supp_service_switch" msgid="5272822448189448479">"कॉल स्विच करू शकत नाही."</string>
     <string name="incall_error_supp_service_resume" msgid="1276861499306817035">"कॉल पुन्‍हा सुरू करू शकत नाही."</string>
     <string name="incall_error_supp_service_separate" msgid="8932660028965274353">"कॉल विभक्त करू शकत नाही."</string>
@@ -655,7 +655,7 @@
     <string name="contactPhoto" msgid="7885089213135154834">"संपर्क फोटो"</string>
     <string name="goPrivate" msgid="4645108311382209551">"खाजगी जा"</string>
     <string name="selectContact" msgid="1527612842599767382">"संपर्क निवडा"</string>
-    <string name="not_voice_capable" msgid="2819996734252084253">"व्‍हॉइस कॉलिंंग समर्थित नाही"</string>
+    <string name="not_voice_capable" msgid="2819996734252084253">"व्‍हॉइस कॉलिंंग याला सपोर्ट नाही"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"डायल करा"</string>
     <string name="description_dialpad_button" msgid="7395114120463883623">"डायलपॅड दाखवा"</string>
     <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"आणीबाणी डायलपॅड"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"प्रवेशयोग्यता"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"कडून वाय-फाय कॉल"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"वाय-फाय कॉल"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"उघडण्यासाठी पुन्हा टॅप करा"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"मेसेज डीकोड करताना एक एरर आली."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"सिम कार्डने तुमची सेवा सक्रिय केली आहे आणि आपल्या फोनच्या रोमिंग क्षमता अपडेट केल्या."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"बरेच सक्रिय कॉल आहेत. कृपया नवीन एक कॉल करण्यापूर्वी विद्यमान कॉल समाप्त करा किंवा विलीन करा."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ही सेटिंग बदलण्यासाठी तुम्ही तुमचे डिव्हाइस रीस्टार्ट करणे आवश्यक आहे."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"रीस्टार्ट करा"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"रद्द करा"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"काढून टाकण्यायोग्य eSIM डीफॉल्ट म्हणून सेट करा"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडिओ पॉवर"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"सिम ॲड्रेस बुक पहा"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"निश्चित डायलिंग नंबर पहा"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 2287bda..2b81900 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Kebolehaksesan"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Panggilan Wi-Fi daripada"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Panggilan Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ketik lagi untuk membuka"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Terdapat ralat semasa menyahkodkan mesej."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Kad SIM telah mengaktifkan perkhidmatan anda dan mengemas kini keupayaan perayauan telefon anda."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Terlalu banyak panggilan aktif. Sila tamatkan atau gabungkan panggilan yang sedia ada sebelum membuat panggilan baharu."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Anda perlu memulakan semula peranti untuk menukar tetapan ini."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Mulakan semula"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Batal"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Tetapkan eSIM Boleh Tanggal sebagai Lalai"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Kuasa Radio Mudah Alih"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Lihat Buku Alamat SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Lihat Nombor Dailan Tetap"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 2fa7e47..a594626 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"အများသုံးနိုင်မှု"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"အောက်ပါမှ Wi-Fi ခေါ်ခြင်း"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ဝိုင်ဖိုင်ခေါ်ဆိုမှု"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ဖွင့်ရန် ထပ်တို့ပါ"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"စာကို ကုဒ်ဖွင့်နေစဉ် အမှားရှိခဲ့သည်။"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM ကဒ်သည် သင့် ဖုန်းဝန်ဆောင်မှုအား အသက်သွင်းခဲ့ပြီး သင့်ဖုန်း၏ ကွန်ယက်ပြင်ပဒေတာသုံးနိုင်စွမ်းအား ပြင်ဆင်မွမ်းမံပြီးဖြစ်၏။"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"လက်ရှိခေါ်ဆိုမှုများ အလွန်များနေပါသည်။ ခေါ်ဆိုမှုအသစ်တစ်ခု မပြုလုပ်ခင် လက်ရှိဖုန်းခေါ်ဆိုမှုများကို အဆုံးသတ် (သို့) ပေါင်း လိုက်ပါ။"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ဤဆက်တင်ကိုပြောင်းရန် သင့်စက်ကို ပြန်စတင်ရပါမည်။"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ပြန်စရန်"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"မလုပ်တော့ပါ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ဖယ်ရှားနိုင်သော eSIM ကို မူရင်းအဖြစ် သတ်မှတ်ရန်"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"မိုဘိုင်း ရေဒီယိုစွမ်းအား"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM ထဲရှိ လိပ်စာ စာအုပ်ကိုကြည့်ပါ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ခေါ်ဆိုရန် ကန့်သတ် နံပါတ်ကို ကြည့်မည်"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index dcb4902..aa71422 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -75,7 +75,7 @@
     <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Konfigurer kontoinnstillingene"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"Alle ringekontoer"</string>
     <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Velg hvilke kontoer som kan ringe"</string>
-    <string name="wifi_calling" msgid="3650509202851355742">"Wi-Fi-anrop"</string>
+    <string name="wifi_calling" msgid="3650509202851355742">"Wifi-anrop"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Innebygd tilkoblingstjeneste"</string>
     <string name="voicemail" msgid="7697769412804195032">"Talepostkasse"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Talepostkasse (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -309,7 +309,7 @@
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"Du må velge en SIM-innstilling"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"Endre SIM-kort for databruk?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"Vil du bruke <xliff:g id="NEW_SIM">%1$s</xliff:g> i stedet for <xliff:g id="OLD_SIM">%2$s</xliff:g> for mobildata?"</string>
-    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wi-Fi-anrop"</string>
+    <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Wifi-anrop"</string>
     <string name="video_calling_settings_title" msgid="342829454913266078">"Videoanrop via mobiloperatør"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"GSM/UMTS-innstillinger"</string>
     <string name="cdma_options" msgid="3669592472226145665">"CDMA-innstillinger"</string>
@@ -555,7 +555,7 @@
     <string name="incall_error_supp_service_hangup" msgid="836524952243836735">"Kan ikke frigjøre samtale(r)."</string>
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Kan ikke sette samtaler på vent."</string>
     <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Koble til et trådløst nettverk for å ringe."</string>
-    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Slå på telefonanrop via Wi-Fi for å ringe."</string>
+    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Slå på telefonanrop via Wifi for å ringe."</string>
     <string name="emergency_information_hint" msgid="9208897544917793012">"Nødinformasjon"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Eier"</string>
     <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Trykk på nytt for å se informasjon"</string>
@@ -672,18 +672,17 @@
     <string name="sim_description_emergency_calls" msgid="5146872803938897296">"Kun nødanrop"</string>
     <string name="sim_description_default" msgid="7474671114363724971">"SIM-kort, spor: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Tilgjengelighet"</string>
-    <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi-anrop fra"</string>
-    <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Oppringing via Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Trykk på nytt for å åpne"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wifi-anrop fra"</string>
+    <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Oppringing via Wifi"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Det oppsto en feil under dekoding av meldingen."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Et SIM-kort har aktivert tjenesten din og oppdatert roamingfunksjonene for telefonen din."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Du har for mange aktive samtaler. Avslutt eller slå sammen eksisterende samtaler før du starter en ny samtale."</string>
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Kunne ikke koble til. Sett inn et gyldig SIM-kort."</string>
-    <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Samtalen ble avsluttet fordi Wi-Fi-forbindelsen ble brutt."</string>
+    <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Samtalen ble avsluttet fordi Wifi-forbindelsen ble brutt."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Kan ikke utføre videoanropet på grunn av lite batteristrøm."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Videosamtalen ble avsluttet på grunn av lite batteristrøm."</string>
-    <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Nødanrop via Wi-Fi-anrop er ikke tilgjengelig på dette stedet."</string>
-    <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Wi-Fi-anrop er ikke tilgjengelige på dette stedet."</string>
+    <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Nødanrop via wifi-anrop er ikke tilgjengelig på dette stedet."</string>
+    <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Wifi-anrop er ikke tilgjengelige på dette stedet."</string>
     <string name="change_pin_title" msgid="3564254326626797321">"Endre PIN-kode for talemeldinger"</string>
     <string name="change_pin_continue_label" msgid="5177011752453506371">"Fortsett"</string>
     <string name="change_pin_cancel_label" msgid="2301711566758827936">"Avbryt"</string>
@@ -828,7 +827,7 @@
     <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Slå av datatilkobling"</string>
     <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE-tildelt"</string>
     <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Identitetshåndtering aktiv for videoanrop"</string>
-    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Identitetshåndtering aktiv for Wi-Fi-anrop"</string>
+    <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Identitetshåndtering aktiv for wifi-anrop"</string>
     <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"EAB/Presence er klargjort"</string>
     <string name="cbrs_data_switch_string" msgid="6060356430838077653">"CBRS-data"</string>
     <string name="dsds_switch_string" msgid="7564769822086764796">"Slå på DSDS"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Du må starte enheten din på nytt for å endre innstillingen."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Start på nytt"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Avbryt"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Angi flyttbart e-SIM-kort som standard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Strømforsyning for mobilradio"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Se adressebok for SIM-kort"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Vis forhåndsbestemte numre"</string>
@@ -846,7 +846,7 @@
     <string name="radio_info_ims_reg_status_not_registered" msgid="8045821447288876085">"Ikke registrert"</string>
     <string name="radio_info_ims_feature_status_available" msgid="6493200914756969292">"Tilgjengelig"</string>
     <string name="radio_info_ims_feature_status_unavailable" msgid="8930391136839759778">"Utilgjengelig"</string>
-    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nTale over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nTale over Wi-Fi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrop: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grensesnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
+    <string name="radio_info_ims_reg_status" msgid="25582845222446390">"IMS-registrering: <xliff:g id="STATUS">%1$s</xliff:g>\nTale over LTE: <xliff:g id="AVAILABILITY_0">%2$s</xliff:g>\nTale over Wifi: <xliff:g id="AVAILABILITY_1">%3$s</xliff:g>\nVideoanrop: <xliff:g id="AVAILABILITY_2">%4$s</xliff:g>\nUT-grensesnitt: <xliff:g id="AVAILABILITY_3">%5$s</xliff:g>"</string>
     <string name="radioInfo_service_in" msgid="45753418231446400">"Fungerer som normalt"</string>
     <string name="radioInfo_service_out" msgid="287972405416142312">"Ute av drift"</string>
     <string name="radioInfo_service_emergency" msgid="4763879891415016848">"Bare nødanrop"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 6c82f80..6d7940e 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"पहुँचता"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"बाट Wi-Fi मार्फत आएको कल"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi कल"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"खोल्न पुनः ट्याप गर्नुहोस्"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"सन्देश डिकोड गर्दा एउटा समस्या भयो।"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM कार्डले तपाईँको सेवा सक्रिय गर्नुका तथा फोनको रोमिङ क्षमताहरू पनि अद्यावधिक गरिदिएको छ।"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"धेरै सक्रिय कलहरू छन्। कृपया कुनै नयाँ राख्नु अघि विद्यमान कलहरूलाई अन्त्य वा मर्ज गर्नुहोस्।"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"यो सेटिङ परिवर्तन गर्न तपाईंले आफ्नो यन्त्र पुनः सुरु गर्नु पर्छ।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"पुनः सुरु गर्नुहोस्"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"रद्द गर्नुहोस्"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"हटाउन मिल्ने eSIM डिफल्ट रूपमा सेट गर्नुहोस्"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"मोबाइल रेडियोको पावर"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM को ठेगाना पुस्तिका हेर्नुहोस्"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"स्थिर डायल गर्ने नम्बरहरू हेर्नुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 84862ef..77c8748 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Toegankelijkheid"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wifi-gesprek van"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wifi-gesprek"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tik nogmaals om te openen"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Er is een fout opgetreden tijdens het decoderen van het bericht."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Een simkaart heeft je service geactiveerd en heeft de roaming-mogelijkheden van je telefoon geüpdatet."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Er zijn te veel actieve gesprekken. Beëindig bestaande gesprekken of voeg ze samen voordat je een nieuw gesprek start."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Start het apparaat opnieuw op om de instelling te wijzigen."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Opnieuw opstarten"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Annuleren"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Verwisselbare e-simkaart instellen als standaard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobiel radiovermogen"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Adresboek op simkaart bekijken"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Vaste nummers bekijken"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 85e9755..7b231a7 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -30,7 +30,7 @@
     <string name="mmiStarted" msgid="9212975136944568623">"MMI କୋଡ୍‌କୁ ଆରମ୍ଭ କରାଯାଇଛି"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"USSD କୋଡ୍ ରନ୍ କରୁଛି…"</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"MMI କୋଡ୍‌କୁ ବାତିଲ୍ କରାଯାଇଛି"</string>
-    <string name="cancel" msgid="8984206397635155197">"ବାତିଲ୍‍ କରନ୍ତୁ"</string>
+    <string name="cancel" msgid="8984206397635155197">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="enter_input" msgid="6193628663039958990">"USSD ମେସେଜ୍ ନିଶ୍ଚିତରୂପେ <xliff:g id="MIN_LEN">%1$d</xliff:g> ଓ <xliff:g id="MAX_LEN">%2$d</xliff:g>ଟି ଅକ୍ଷର ମଧ୍ୟରେ ରହିବ। ଦୟାକରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="manageConferenceLabel" msgid="8415044818156353233">"କନଫରେନ୍ସ କଲ୍‌କୁ ପରିଚାଳନା କରନ୍ତୁ"</string>
     <string name="ok" msgid="7818974223666140165">"ଠିକ୍ ଅଛି"</string>
@@ -47,7 +47,7 @@
     <string name="no_vm_number" msgid="6623853880546176930">"ହଜିଯାଇଥିବା ଭଏସମେଲ୍ ନମ୍ବର୍"</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"SIM କାର୍ଡରେ କୌଣସି ଭଏସମେଲ୍ ନମ୍ବର୍ ଷ୍ଟୋର୍ କରାଯାଇନାହିଁ।"</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"ନମ୍ବର୍ ଯୋଡ଼ନ୍ତୁ"</string>
-    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"ଭଏସମେଲ ସେଟିଂସକୁ ପ୍ରାଥମିକ ଉପଯୋଗକର୍ତ୍ତା କେବଳ ପରିବର୍ତ୍ତିତ କରିପାରିବେ।"</string>
+    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"ଭଏସମେଲ ସେଟିଂସକୁ କେବଳ ପ୍ରାଥମିକ ୟୁଜର ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
     <string name="puk_unlocked" msgid="4627340655215746511">"ଆପଣଙ୍କର SIM କାର୍ଡକୁ ଅବରୋଧ କରିଦିଆଯାଇଛି। ଆପଣଙ୍କର ଫୋନ୍ ଅନଲକ୍ ହେଉଛି…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"SIM ନେଟ୍‌ୱର୍କ‌କୁ ଅନଲକ୍ କରିବା ପାଇଁ PIN"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"ଅପରେଟର୍ ପାଇଁ SIM ଲକ୍ କରାଯାଇଛି"</string>
@@ -56,7 +56,7 @@
     <string name="requesting_unlock" msgid="930512210309437741">"ନେଟ୍‌ୱର୍କକୁ ଅନଲକ୍ କରିବା ପାଇଁ ଅନୁରୋଧ କରାଯାଉଛି…"</string>
     <string name="unlock_failed" msgid="7103543844840661366">"ନେଟ୍‌ୱର୍କ ଅନଲକ୍ କରିବା ପାଇଁ ଅନୁରୋଧ ବିଫଳ ହୋ‌ଇଛି।"</string>
     <string name="unlock_success" msgid="32681089371067565">"ନେଟ୍‌ୱର୍କ ଅନଲକ୍ କରିବା ସଫଳ ହେଲା।"</string>
-    <string name="mobile_network_settings_not_available" msgid="8678168497517090039">"ଏହି ୟୁଜରଙ୍କ ପାଇଁ ମୋବାଇଲ୍ ନେଟ୍‌ୱର୍କ ସେଟିଙ୍ଗ ଉପଲବ୍ଧ ନାହିଁ"</string>
+    <string name="mobile_network_settings_not_available" msgid="8678168497517090039">"ଏହି ୟୁଜରଙ୍କ ପାଇଁ ମୋବାଇଲ ନେଟୱାର୍କ ସେଟିଂସ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="labelGSMMore" msgid="7354182269461281543">"GSM କଲ ସେଟିଂସ"</string>
     <string name="labelGsmMore_with_label" msgid="3206015314393246224">"GSM କଲ ସେଟିଂସ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCDMAMore" msgid="7937441382611224632">"CDMA କଲ୍ ସେଟିଙ୍ଗ"</string>
@@ -128,11 +128,11 @@
     <string name="cdma_call_waiting" msgid="4565070960879673216">"\'କଲ୍ ୱେଟିଂ\' ସୁବିଧା ଚାଲୁ କରିବେ?"</string>
     <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"କଲ୍ ସମୟରେ, ଇନକମିଂ କଲଗୁଡ଼ିକ ବିଷୟରେ ଆପଣଙ୍କୁ ସୂଚିତ କରାଯିବ"</string>
     <string name="enable_cdma_cw" msgid="811047045863422232">"ଚାଲୁ କରନ୍ତୁ"</string>
-    <string name="disable_cdma_cw" msgid="7119290446496301734">"ବାତିଲ୍ କରନ୍ତୁ"</string>
+    <string name="disable_cdma_cw" msgid="7119290446496301734">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"IMSରେ CDMA \'କଲ୍ ୱେଟିଂ\' ସୁବିଧା ଚାଲୁ ଅଛି"</string>
     <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"IMSରେ CDMA \'କଲ୍ ୱେଟିଂ\' ସୁବିଧା ବନ୍ଦ ଅଛି"</string>
     <string name="updating_title" msgid="6130548922615719689">"କଲ ସେଟିଂସ"</string>
-    <string name="call_settings_admin_user_only" msgid="7238947387649986286">"କଲ୍ ସେଟିଙ୍ଗକୁ କେବଳ ଆଡମିନ୍ ୟୁଜର୍‌ ବଦଳାଇପାରିବେ।"</string>
+    <string name="call_settings_admin_user_only" msgid="7238947387649986286">"କଲ ସେଟିଂସକୁ କେବଳ ଆଡମିନ ୟୁଜର ବଦଳାଇପାରିବେ।"</string>
     <string name="call_settings_with_label" msgid="8460230435361579511">"ସେଟିଙ୍ଗ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="error_updating_title" msgid="2024290892676808965">"କଲ୍ ସେଟିଙ୍ଗରେ ତ୍ରୁଟି"</string>
     <string name="reading_settings" msgid="1605904432450871183">"ସେଟିଂସକୁ ପଢ଼ାଯାଉଛି…"</string>
@@ -156,8 +156,8 @@
     <item msgid="9150034130629852635">"ସଂଖ୍ୟାକୁ ଦେଖାନ୍ତୁ"</item>
   </string-array>
     <string name="vm_changed" msgid="4739599044379692505">"ଭଏସମେଲ୍ ନମ୍ବର୍ ବଦଳିଗଲା।"</string>
-    <string name="vm_change_failed" msgid="7877733929455763566">"ଭଏସମେଲ୍ ନମ୍ବର୍ ବଦଳାଯାଇପାରିଲା ନାହିଁ। \nଯଦି ଏହି ସମସ୍ୟା ଜାରିରୁହେ ତେବେ ନିଜର କେରିଅର୍‌ଙ୍କ ସହ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
-    <string name="fw_change_failed" msgid="9179241823460192148">"ଫଏ‌ୱାର୍ଡିଙ୍ଗ ନମ୍ବର୍‌କୁ ବଦଳାଇହେଲା ନାହିଁ। \n ଯଦି ଏହି ସମସ୍ୟା ଜାରିରୁହେ ତେବେ ନିଜର କେରିଅର୍‌ଙ୍କ ସହ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
+    <string name="vm_change_failed" msgid="7877733929455763566">"ଭଏସମେଲ ନମ୍ବର ବଦଳାଯାଇପାରିଲା ନାହିଁ। \nଯଦି ଏହି ସମସ୍ୟା ଜାରି ରୁହେ ତେବେ ନିଜର କ୍ଯାରିଅରଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
+    <string name="fw_change_failed" msgid="9179241823460192148">"ଫରୱାର୍ଡିଙ୍ଗ ନମ୍ବରକୁ ବଦଳାଯାଇପାରିଲା ନାହିଁ। \n ଯଦି ଏହି ସମସ୍ୟା ଜାରି ରୁହେ ତେବେ ନିଜର କ୍ଯାରିଅରଙ୍କ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"ବର୍ତ୍ତମାନର ଫରୱାର୍ଡିଂ ନମ୍ବର ସେଟିଂସକୁ ପୁନରୁଦ୍ଧାର ଓ ସେଭ କରାଯାଇପାରିଲା ନାହିଁ। \nନୂଆ ପ୍ରଦାନକାରୀକୁ ଯେ କୌଣସି ମତେ ସ୍ଵିଚ କରିବେ?"</string>
     <string name="no_change" msgid="3737264882821031892">"କୌଣସି ପରିବର୍ତ୍ତନ କରାଯାଇନାହିଁ|"</string>
     <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"ଭଏସ୍‌ମେଲ୍ ସେବାକୁ ଚୟନ କରନ୍ତୁ"</string>
@@ -419,7 +419,7 @@
     <string name="cdma_system_select_summary" msgid="3840420390242060407">"CDMAର ରୋମିଙ୍ଗ ମୋଡ୍‌କୁ ବଦଳାନ୍ତୁ"</string>
     <string name="cdma_system_select_dialogtitle" msgid="5524639510676501802">"ସିଷ୍ଟମ୍‌ ଚୟନ କରନ୍ତୁ"</string>
   <string-array name="cdma_system_select_choices">
-    <item msgid="462340042928284921">"କେବଳ ହୋମ୍"</item>
+    <item msgid="462340042928284921">"କେବଳ ହୋମ"</item>
     <item msgid="6058010046783562674">"ସ୍ଵଚାଳିତ"</item>
   </string-array>
     <string name="cdma_subscription_title" msgid="3449527179325589434">"CDMA ସବସ୍କ୍ରିପଶନ୍"</string>
@@ -458,10 +458,10 @@
     <string name="auto_retry_mode_title" msgid="2985801935424422340">"ଅଟୋ-ରିଟ୍ରାଏ କରନ୍ତୁ"</string>
     <string name="auto_retry_mode_summary" msgid="2863919925349511402">"ଅଟୋ-ରିଟ୍ରାଏ ମୋଡ୍‌କୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"ଭିଡିଓ କଲ୍ କରିବା ସମୟରେ TTY ମୋଡ୍‌କୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ଅନୁମତି ନାହିଁ"</string>
-    <string name="menu_add" msgid="5616487894975773141">"ଯୋଗାଯୋଗକୁ ଯୋଡ଼ନ୍ତୁ"</string>
-    <string name="menu_edit" msgid="3593856941552460706">"ଯୋଗାଯୋଗକୁ ଏଡିଟ୍‍ କରନ୍ତୁ"</string>
-    <string name="menu_delete" msgid="6326861853830546488">"ଯୋଗାଯୋଗକୁ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
-    <string name="menu_dial" msgid="4178537318419450012">"ଯୋଗାଯୋଗକୁ ଡାଏଲ୍ କରନ୍ତୁ"</string>
+    <string name="menu_add" msgid="5616487894975773141">"କଣ୍ଟାକ୍ଟ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="menu_edit" msgid="3593856941552460706">"କଣ୍ଟାକ୍ଟ ଏଡିଟ କରନ୍ତୁ"</string>
+    <string name="menu_delete" msgid="6326861853830546488">"କଣ୍ଟାକ୍ଟ ଡିଲିଟ କରନ୍ତୁ"</string>
+    <string name="menu_dial" msgid="4178537318419450012">"କଣ୍ଟାକ୍ଟ ଡାଏଲ କରନ୍ତୁ"</string>
     <string name="get_pin2" msgid="4221654606863196332">"PIN2 ଟାଇପ୍ କରନ୍ତୁ"</string>
     <string name="name" msgid="1347432469852527784">"ନାମ"</string>
     <string name="number" msgid="1564053487748491000">"ନମ୍ବର୍‌"</string>
@@ -469,7 +469,7 @@
     <string name="add_fdn_contact" msgid="1169713422306640887">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌ ଯୋଡ଼ନ୍ତୁ"</string>
     <string name="adding_fdn_contact" msgid="3112531600824361259">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌କୁ ଯୋଡ଼ାଯାଉଛି…"</string>
     <string name="fdn_contact_added" msgid="2840016151693394596">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍ ଯୋଡ଼ାଗଲା।"</string>
-    <string name="edit_fdn_contact" msgid="6030829994819587408">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌କୁ ଏଡିଟ୍ କରନ୍ତୁ"</string>
+    <string name="edit_fdn_contact" msgid="6030829994819587408">"ଫିକ୍ସଡ ଡାଏଲିଙ୍ଗ ନମ୍ବରକୁ ଏଡିଟ କରନ୍ତୁ"</string>
     <string name="updating_fdn_contact" msgid="6989341376868227150">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍ ଅପଡେଟ୍ ହେଉଛି…"</string>
     <string name="fdn_contact_updated" msgid="6876330243323118937">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍ ଅପଡେଟ୍ କରାଗଲା।"</string>
     <string name="delete_fdn_contact" msgid="7027405651994507077">"ଫିକ୍ସଡ୍ ଡାଏଲିଙ୍ଗ ନମ୍ବର୍‌କୁ ଡିଲିଟ୍ କରନ୍ତୁ"</string>
@@ -515,7 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"ଭୁଲ୍ ପାସ୍‌ୱର୍ଡ। ବର୍ତ୍ତମାନ SIM ଲକ୍ ହୋ‌ଇଗଲା। PUK2କୁ ପ୍ରବେଶ କରନ୍ତୁ।"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2କୁ ସ୍ଥାୟୀରୂପେ ଅବରୋଧ କରାଯାଇଛି।"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"ଆପଣଙ୍କର <xliff:g id="NUMBER">%d</xliff:g>ଟି ସୁଯୋଗ ବଳକା ଅଛି।"</string>
-    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ଲକ୍ କରାଯାଇଛି। ଅନଲକ୍ କରିବାକୁ ସେବା ପ୍ରଦାନକାରୀ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ଲକ କରାଯାଇଛି। ଅନଲକ କରିବାକୁ ସେବା ପ୍ରଦାନକାରୀ ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2କୁ ଆଉ ଅବରୋଧ କରାଯାଇନାହିଁ"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ନେଟ୍‌ୱର୍କ କିମ୍ବା SIM କାର୍ଡ ତ୍ରୁଟି"</string>
     <string name="doneButton" msgid="7371209609238460207">"ହୋଇଗଲା"</string>
@@ -590,8 +590,8 @@
     <string name="importAllSimEntries" msgid="2628391505643564007">"ସମସ୍ତ ଇମ୍ପୋର୍ଟ କରନ୍ତୁ"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"SIMରେ ଥିବା ଯୋଗାଯୋଗକୁ ଇମ୍ପୋର୍ଟ କରାଯାଉଛି"</string>
     <string name="importToFDNfromContacts" msgid="5068664870738407341">"ଯୋଗଯୋଗରୁ ଇମ୍ପୋର୍ଟ କରନ୍ତୁ"</string>
-    <string name="singleContactImportedMsg" msgid="3619804066300998934">"ଇମ୍ପୋର୍ଟ କରାଯାଇଥିବା ଯୋଗାଯୋଗ"</string>
-    <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"ଯୋଗଯୋଗକୁ ଇମ୍ପୋର୍ଟ କରିବାରେ ବିଫଳ ହେଲା"</string>
+    <string name="singleContactImportedMsg" msgid="3619804066300998934">"ଇମ୍ପୋର୍ଟ କରାଯାଇଥିବା କଣ୍ଟାକ୍ଟ"</string>
+    <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"କଣ୍ଟାକ୍ଟକୁ ଇମ୍ପୋର୍ଟ କରିବାରେ ବିଫଳ ହୋଇଛି"</string>
     <string name="hac_mode_title" msgid="4127986689621125468">"ଶ୍ରବଣ ଯନ୍ତ୍ର"</string>
     <string name="hac_mode_summary" msgid="7774989500136009881">"ଶ୍ରବଣ ଯନ୍ତ୍ର କମ୍ପ୍ୟାଟିବିଲିଟୀକୁ ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"ରିଅଲ୍-ଟାଇମ୍ ଟେକ୍ସଟ୍ (RTT) କଲ୍"</string>
@@ -652,9 +652,9 @@
     <string name="voicemail_number_not_set" msgid="8831561283386938155">"&lt;ସେଟ୍ ହୋ‌ଇନାହିଁ&gt;"</string>
     <string name="other_settings" msgid="8895088007393598447">"ଅନ୍ୟାନ୍ୟ କଲ୍‌ ସେଟିଙ୍ଗ"</string>
     <string name="calling_via_template" msgid="1791323450703751750">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ମାଧ୍ୟମରେ କଲ୍ କରନ୍ତୁ"</string>
-    <string name="contactPhoto" msgid="7885089213135154834">"ଯୋଗାଯୋଗ ଫଟୋ"</string>
+    <string name="contactPhoto" msgid="7885089213135154834">"କଣ୍ଟାକ୍ଟ ଫଟୋ"</string>
     <string name="goPrivate" msgid="4645108311382209551">"ବ୍ୟକ୍ତିଗତ ହୁଅନ୍ତୁ"</string>
-    <string name="selectContact" msgid="1527612842599767382">"ଯୋଗାଯୋଗକୁ ଚୟନ କରନ୍ତୁ"</string>
+    <string name="selectContact" msgid="1527612842599767382">"କଣ୍ଟାକ୍ଟ ଚୟନ କରନ୍ତୁ"</string>
     <string name="not_voice_capable" msgid="2819996734252084253">"ଭଏସ୍ କଲ୍ ସପୋର୍ଟ କରୁନାହିଁ"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"ଡାଏଲ୍ କରନ୍ତୁ"</string>
     <string name="description_dialpad_button" msgid="7395114120463883623">"ଡାୟଲ୍‍ପ୍ୟାଡ୍‍ ଦେଖାନ୍ତୁ"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ଆକ୍ସେସିବିଲିଟୀ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ଠାରୁ ୱାଇ-ଫାଇ କଲ୍ କରନ୍ତୁ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"ୱାଇ-ଫାଇ କଲ୍"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ଖୋଲିବା ପାଇଁ ପୁଣି ଟାପ୍‍ କରନ୍ତୁ"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"ମେସେଜ୍‌କୁ ଡିକୋଡ୍ କରିବା ବେଳେ ଗୋଟିଏ ତ୍ରୁଟି ଦେଖାଦେଲା।"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ଗୋଟିଏ SIM କାର୍ଡ ଆପଣଙ୍କର ସେବାକୁ କାର୍ଯ୍ୟକ୍ଷମ କରିଛି ଏବଂ ଆପଣଙ୍କ ଫୋନ୍‌ର ରୋମିଙ୍ଗ କ୍ଷମତାକୁ ଅପଡେଟ୍ କରିଛି।"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ଏଠାରେ ଅନେକ ସକ୍ରିୟ କଲ୍ ଅଛି। ଗୋଟିଏ ନୂଆ କଲ୍‌କୁ ସ୍ଥାପନ କରିବା ପୂର୍ବରୁ ଦୟାକରି ବିଦ୍ୟମାନ ଥିବା କଲ୍‌କୁ ସମାପ୍ତ କିମ୍ବା ମର୍ଜ କରନ୍ତୁ।"</string>
@@ -686,7 +685,7 @@
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"ଏହି ଲୋକେସନ୍‌ରେ ୱାଇ-ଫାଇ କଲିଂ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="change_pin_title" msgid="3564254326626797321">"ଭଏସମେଲ୍ PINକୁ ବଦଳାନ୍ତୁ"</string>
     <string name="change_pin_continue_label" msgid="5177011752453506371">"ଜାରି ରଖନ୍ତୁ"</string>
-    <string name="change_pin_cancel_label" msgid="2301711566758827936">"ବାତିଲ୍‍ କରନ୍ତୁ"</string>
+    <string name="change_pin_cancel_label" msgid="2301711566758827936">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="change_pin_ok_label" msgid="6861082678817785330">"ଠିକ୍ ଅଛି"</string>
     <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"ଆପଣଙ୍କର ପୁରୁଣା PINକୁ ନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"ଜାରି ରଖିବା ପାଇଁ ଆପଣଙ୍କର ଭଏସମେଲ୍ PINକୁ ପ୍ରବେଶ କରନ୍ତୁ।"</string>
@@ -709,7 +708,7 @@
     <string name="mobile_data_activate_diag_title" msgid="5401741936224757312">"ଡାଟାକୁ ଯୋଡ଼ିବେ?"</string>
     <string name="mobile_data_activate_diag_message" msgid="3527260988020415441">"ଆପଣଙ୍କୁ <xliff:g id="PROVIDER_NAME">%s</xliff:g> ମାଧ୍ୟମରେ ଡାଟା ଯୋଡ଼ିବାକୁ ପଡ଼ିପାରେ"</string>
     <string name="mobile_data_activate_button" msgid="1139792516354374612">"ଡାଟା ଯୋଡ଼ନ୍ତୁ"</string>
-    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ବାତିଲ୍‍ କରନ୍ତୁ"</string>
+    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"କଲ୍ ସମାପ୍ତ ହୋ‌ଇଛି"</string>
     <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"ଏୟାରପ୍ଲେନ୍ ମୋଡ୍ ଚାଲୁ ଅଛି"</string>
     <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"SIM କାର୍ଡକୁ ଆକ୍ସେସ୍ କରିହେଉନାହିଁ"</string>
@@ -719,8 +718,8 @@
     <string name="clh_callFailed_channel_unacceptable_txt" msgid="4062754579408613021">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 6।"</string>
     <string name="clh_callFailed_operator_determined_barring_txt" msgid="4202077821465974286">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 8।"</string>
     <string name="clh_callFailed_normal_call_clearing_txt" msgid="5677987959062976462">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 16।"</string>
-    <string name="clh_callFailed_user_busy_txt" msgid="8886432858568086854">"ୟୁଜର୍ ବ୍ୟସ୍ତ ଅଛନ୍ତି"</string>
-    <string name="clh_callFailed_no_user_responding_txt" msgid="341100226919865128">"ୟୁଜର୍ ଉତ୍ତର ଦେଉନାହାନ୍ତି"</string>
+    <string name="clh_callFailed_user_busy_txt" msgid="8886432858568086854">"ୟୁଜର ବ୍ୟସ୍ତ ଅଛନ୍ତି"</string>
+    <string name="clh_callFailed_no_user_responding_txt" msgid="341100226919865128">"ୟୁଜର ଉତ୍ତର ଦେଉନାହାଁନ୍ତି"</string>
     <string name="clh_callFailed_user_alerting_txt" msgid="896082976264427969">"କଲ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିହେଲା ନାହିଁ। ତ୍ରୁଟି କୋଡ୍ 19।"</string>
     <string name="clh_callFailed_call_rejected_txt" msgid="3439435671153341709">"କଲ୍‌କୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଗଲା"</string>
     <string name="clh_callFailed_number_changed_txt" msgid="2868476949771441667">"ନମ୍ବର୍ ବଦଳିଯାଇଛି"</string>
@@ -796,12 +795,12 @@
     <string name="messageCallBarring" msgid="5537730400652466912">"ପାସ୍‌ୱର୍ଡ ପ୍ରବେଶ କରନ୍ତୁ"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"କଲ୍ ରୋକିବା ସେଟିଙ୍ଗ"</string>
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"ନେଟ୍‌ୱର୍କ ବ୍ୟସ୍ତ ଅଛି। ଦୟାକରି ଆପଣ ପରେ ପୁଣି କଲ୍‌ ଚେଷ୍ଟା କରିବା ପାଇଁ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
-    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ନେଟ୍‌ୱର୍କ ବ୍ୟସ୍ତ ଅଛି। ସହାୟତା ପାଇଁ ଆପଣଙ୍କର ମୋବାଇଲ୍ ଅପରେଟର୍‍ଙ୍କୁ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
+    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"ନେଟୱାର୍କ ବ୍ୟସ୍ତ ଅଛି। ସହାୟତା ପାଇଁ ଆପଣଙ୍କର ମୋବାଇଲ ଅପରେଟରଙ୍କୁ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"କଲ୍ ଅନ୍ୟ ପାଖକୁ ଯିବା ବଦଳରେ ନିଜ ପାଖକୁ ଆସିଯାଇଛି।"</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"କଲ୍‌କୁ ଫରୱାର୍ଡ କରାଯାଇଛି।"</string>
     <string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"କଲ୍ ଅପେକ୍ଷାରେ ଅଛି।"</string>
     <string name="supp_service_clir_suppression_rejected" msgid="6105737020194776121">"ନମ୍ବର୍ ଅବରୋଧକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରାଗଲା।"</string>
-    <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"ନିକଟତମ ୟୁଜର୍ ଗ୍ରୁପ୍ ଦ୍ଵାରା କଲ୍‌ରେ ସୀମିତ।"</string>
+    <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"ନିକଟତମ ୟୁଜର ଗ୍ରୁପ କଲ।"</string>
     <string name="supp_service_incoming_calls_barred" msgid="2034627421274447674">"ଇନକମିଙ୍ଗ କଲ୍‌କୁ ରୋକାଯାଇଛି।"</string>
     <string name="supp_service_outgoing_calls_barred" msgid="5205725332394087112">"ଆଉଟ୍‌ଗୋ‌ଇଙ୍ଗ କଲ୍‌କୁ ରୋକାଯାଇଛି।"</string>
     <string name="supp_service_call_forwarding_active" msgid="7910162960395132464">"କଲ୍ ଫରୱାର୍ଡିଙ୍ଗ ସକ୍ରିୟ ଅଛି।"</string>
@@ -835,7 +834,8 @@
     <string name="dsds_dialog_title" msgid="8494569893941847575">"ଡିଭାଇସ୍ ରିଷ୍ଟାର୍ଟ କରିବେ?"</string>
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ଏହି ସେଟିଂ ବଦଳାଇବାକୁ ଆପଣଙ୍କୁ ଆପଣଙ୍କର ଡିଭାଇସ୍ ରିଷ୍ଟାର୍ଟ କରିବାକୁ ହେବ।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
-    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ବାତିଲ୍ କରନ୍ତୁ"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ବାତିଲ କରନ୍ତୁ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"କାଢ଼ି ହେଉଥିବା eSIMକୁ ଡିଫଲ୍ଟ ଭାବେ ସେଟ କରନ୍ତୁ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ମୋବାଇଲ୍ ରେଡିଓ ପାୱାର୍"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ସିମ୍‌ରେ ଥିବା ଠିକଣା ପୁସ୍ତକ ଦେଖନ୍ତୁ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ସ୍ଥାୟୀ ଡାଏଲିଂ ନମ୍ୱରଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index dc35b3d..fa78e7c 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -596,7 +596,7 @@
     <string name="hac_mode_summary" msgid="7774989500136009881">"ਸੁਣਨ ਲਈ ਸਹਾਇਕ ਸਾਧਨ ਅਨੁਕੂਲਤਾ ਚਾਲੂ ਕਰੋ"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"ਨਾਲ-ਦੀ-ਨਾਲ ਦਿਸਦੀ ਲਿਖਤ (RTT) ਵਾਲੀ ਕਾਲ"</string>
     <string name="rtt_mode_summary" msgid="8631541375609989562">"ਕਿਸੇ ਅਵਾਜ਼ੀ ਕਾਲ ਦੌਰਾਨ ਸੁਨੇਹਾ ਭੇਜਣ ਦਿਓ"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT ਅਜਿਹੇ ਕਾਲ ਕਰਨ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ ਜੋ ਬੋਲੇ, ਘੱਟ ਸੁਣਨ ਵਾਲੇ, ਬੋਲਣ ਵਿੱਚ ਅਸਮਰਥ ਜਾਂ ਜਿਨ੍ਹਾਂ ਲਈ ਸਿਰਫ਼ ਅਵਾਜ਼ ਕਾਫ਼ੀ ਨਹੀਂ ਹੁੰਦੀ।&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;ਹੋਰ ਜਾਣੋ&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT ਕਾਲਾਂ ਨੂੰ ਇੱਕ ਪ੍ਰਤਿਲਿਪੀ ਸੁਨੇਹੇ ਵਜੋਂ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ\n       &lt;br&gt; - RTT ਵੀਡੀਓ ਕਾਲਾਂ ਲਈ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"RTT ਅਜਿਹੇ ਕਾਲ ਕਰਨ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਸਹਾਇਤਾ ਕਰਦਾ ਹੈ ਜੋ ਬੋਲੇ, ਘੱਟ ਸੁਣਨ ਵਾਲੇ, ਬੋਲਣ ਵਿੱਚ ਅਸਮਰੱਥ ਜਾਂ ਜਿਨ੍ਹਾਂ ਲਈ ਸਿਰਫ਼ ਅਵਾਜ਼ ਕਾਫ਼ੀ ਨਹੀਂ ਹੁੰਦੀ।&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;ਹੋਰ ਜਾਣੋ&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - RTT ਕਾਲਾਂ ਨੂੰ ਇੱਕ ਪ੍ਰਤੀਲਿਪੀਕਰਨ ਸੁਨੇਹੇ ਵਜੋਂ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ\n       &lt;br&gt; - RTT ਵੀਡੀਓ ਕਾਲਾਂ ਲਈ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="no_rtt_when_roaming" msgid="5268008247378355389">"ਨੋਟ ਕਥਨ:ਵੇਲੇ RTT ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY ਬੰਦ"</item>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ਪਹੁੰਚਯੋਗਤਾ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"ਇਸ ਤੋਂ Wi-Fi ਕਾਲ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi ਕਾਲ"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"ਖੋਲ੍ਹਣ ਲਈ ਦੁਬਾਰਾ ਟੈਪ ਕਰੋ"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"ਸੁਨੇਹਾ ਡੀਕੋਡ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਅਸ਼ੁੱਧੀ ਹੋਈ ਸੀ।"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ਇੱਕ SIM ਕਾਰਡ ਨੇ ਤੁਹਾਡੀ ਸੇਵਾ ਸਕਿਰਿਆ ਕੀਤੀ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਫੋਨ ਦੀਆਂ ਰੋਮਿੰਗ ਸਮਰੱਥਤਾਵਾਂ ਅੱਪਡੇਟ ਕੀਤੀਆਂ ਹਨ।"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"ਇੱਥੇ ਬਹੁਤ ਸਾਰੀਆਂ ਕਿਰਿਆਸ਼ੀਲ ਕਾਲਾਂ ਹਨ। ਕਿਰਪਾ ਕਰਕੇ ਇੱਕ ਨਵੀਂ ਕਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮੌਜੂਦਾ ਕਾਲਾਂ ਨੂੰ ਸਮਾਪਤ ਜਾਂ ਮਿਲਾਓ।"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"ਤੁਹਾਨੂੰ ਇਹ ਸੈਟਿੰਗ ਬਦਲਣ ਲਈ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ਰੱਦ ਕਰੋ"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ਹਟਾਉਣਯੋਗ ਈ-ਸਿਮ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਜੋਂ ਸੈੱਟ ਕਰੋ"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ਮੋਬਾਈਲ ਰੇਡੀਓ ਪਾਵਰ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ਸਿਮ ਦੀ ਪਤਾ ਬੁੱਕ ਦੇਖੋ"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਦੇਖੋ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 73b32ed..92e7a6f 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Ułatwienia dostępu"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Połączenie przez Wi-Fi od:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Połączenie przez Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Dotknij ponownie, by otworzyć"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Podczas dekodowania wiadomości wystąpił błąd."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Karta SIM aktywowała usługę i zaktualizowała funkcje roamingowe telefonu."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Masz za dużo aktywnych połączeń. Scal lub zakończ istniejące połączenia, aby nawiązać nowe."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Musisz ponownie uruchomić urządzenie, by to zmienić."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Uruchom ponownie"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anuluj"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ustaw wymienną kartę eSIM jako domyślną"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Moc sygnału komórkowego"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Wyświetl książkę adresową z karty SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Wyświetl ustalone numery"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 39c18ac..ca67787 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -179,7 +179,7 @@
     <string name="network_query_error" msgid="3862515805115145124">"Não foi possível localizar nenhuma rede. Tente novamente."</string>
     <string name="register_on_network" msgid="4194770527833960423">"A registar em <xliff:g id="NETWORK">%s</xliff:g>..."</string>
     <string name="not_allowed" msgid="8541221928746104798">"O cartão SIM não permite uma ligação a esta rede."</string>
-    <string name="connect_later" msgid="1950138106010005425">"De momento, não é possível estabelecer ligação com esta rede. Tente novamente mais tarde."</string>
+    <string name="connect_later" msgid="1950138106010005425">"De momento, não é possível estabelecer ligação com esta rede. Tente mais tarde."</string>
     <string name="registration_done" msgid="5337407023566953292">"Registado na rede."</string>
     <string name="already_auto" msgid="8607068290733079336">"A seleção automática já está ativada."</string>
     <string name="select_automatically" msgid="779750291257872651">"Selecionar automaticamente a rede"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Acessibilidade"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chamada a partir da rede Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chamada Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toque novamente para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ocorreu um erro durante a descodificação da mensagem."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Um cartão SIM ativou o seu serviço e atualizou as capacidades de roaming do seu telemóvel."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Existem demasiadas chamadas ativas. Termine ou intercale as chamadas existentes antes de efetuar uma nova chamada."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Tem de reiniciar o dispositivo para alterar esta definição."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Predefinir eSIM removível"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potência do rádio móvel"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver livro de endereços do SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números autorizados"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 2752eda..8761db9 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -579,7 +579,7 @@
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Finalizar"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Teclado"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"Desativar som"</string>
-    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adicionar chamada"</string>
+    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adicionar ligação"</string>
     <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Juntar chamadas"</string>
     <string name="onscreenSwapCallsText" msgid="2682542150803377991">"Trocar"</string>
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"Gerenciar chamadas"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Acessibilidade"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Chamada via Wi-Fi de"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Chamada por Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Toque novamente para abrir"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ocorreu um erro ao decodificar a mensagem."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Um chip ativou seu serviço e atualizou os recursos de roaming do smartphone."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Há muitas chamadas ativas. Finalize ou mescle as chamadas existentes antes de fazer uma nova."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Reinicie o dispositivo para alterar essa configuração."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reiniciar"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Cancelar"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Definir eSIM removível como padrão"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Potência do rádio celular"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Ver o catálogo de endereços do chip"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ver números de discagem fixa"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 88755b6..3f906fd 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -30,29 +30,29 @@
     <string name="mmiStarted" msgid="9212975136944568623">"Cod MMI pornit"</string>
     <string name="ussdRunning" msgid="1163586813106772717">"Se rulează codul USSD..."</string>
     <string name="mmiCancelled" msgid="5339191899200678272">"Cod MMI anulat"</string>
-    <string name="cancel" msgid="8984206397635155197">"Anulați"</string>
-    <string name="enter_input" msgid="6193628663039958990">"Mesajul USSD trebuie să aibă între <xliff:g id="MIN_LEN">%1$d</xliff:g> și <xliff:g id="MAX_LEN">%2$d</xliff:g> caractere. Încercați din nou."</string>
-    <string name="manageConferenceLabel" msgid="8415044818156353233">"Gestionați teleconferința"</string>
+    <string name="cancel" msgid="8984206397635155197">"Anulează"</string>
+    <string name="enter_input" msgid="6193628663039958990">"Mesajul USSD trebuie să aibă între <xliff:g id="MIN_LEN">%1$d</xliff:g> și <xliff:g id="MAX_LEN">%2$d</xliff:g> caractere. Încearcă din nou."</string>
+    <string name="manageConferenceLabel" msgid="8415044818156353233">"Gestionează teleconferința"</string>
     <string name="ok" msgid="7818974223666140165">"OK"</string>
     <string name="audio_mode_speaker" msgid="243689733219312360">"Difuzor"</string>
     <string name="audio_mode_earpiece" msgid="2823700267171134282">"Casca dispozitivului"</string>
     <string name="audio_mode_wired_headset" msgid="5028010823105817443">"Cască cu fir"</string>
     <string name="audio_mode_bluetooth" msgid="25732183428018809">"Bluetooth"</string>
-    <string name="wait_prompt_str" msgid="5136209532150094910">"Trimiteți următoarele tonuri?\n"</string>
+    <string name="wait_prompt_str" msgid="5136209532150094910">"Trimiți următoarele tonuri?\n"</string>
     <string name="pause_prompt_str" msgid="2308897950360272213">"Se trimit tonuri\n"</string>
-    <string name="send_button" msgid="5070379600779031932">"Trimiteți"</string>
+    <string name="send_button" msgid="5070379600779031932">"Trimite"</string>
     <string name="pause_prompt_yes" msgid="8184132073048369575">"Da"</string>
     <string name="pause_prompt_no" msgid="2145264674774138579">"Nu"</string>
     <string name="wild_prompt_str" msgid="5858910969703305375">"Înlocuiți metacaracterul cu"</string>
     <string name="no_vm_number" msgid="6623853880546176930">"Lipsește numărul mesageriei vocale"</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"Niciun număr de mesagerie vocală nu este stocat pe cardul SIM."</string>
-    <string name="add_vm_number_str" msgid="7368168964435881637">"Adăugați numărul"</string>
+    <string name="add_vm_number_str" msgid="7368168964435881637">"Adaugă numărul"</string>
     <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"Setările pentru mesagerie vocală pot fi modificate numai de utilizatorul principal."</string>
-    <string name="puk_unlocked" msgid="4627340655215746511">"Cardul dvs. SIM a fost deblocat. Telefonul dvs. se deblochează..."</string>
+    <string name="puk_unlocked" msgid="4627340655215746511">"Cardul tău SIM a fost deblocat. Telefonul tău se deblochează..."</string>
     <string name="label_ndp" msgid="7617392683877410341">"Codul PIN de deblocare a rețelei SIM"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"Cardul SIM a fost blocat pentru operator"</string>
-    <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"Deblocați"</string>
-    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"Renunțați"</string>
+    <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"Deblochează"</string>
+    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"Renunță"</string>
     <string name="requesting_unlock" msgid="930512210309437741">"Se solicită deblocarea rețelei..."</string>
     <string name="unlock_failed" msgid="7103543844840661366">"Cererea de deblocare a rețelei a eșuat."</string>
     <string name="unlock_success" msgid="32681089371067565">"Rețeaua a fost deblocată."</string>
@@ -64,25 +64,25 @@
     <string name="apn_settings" msgid="1978652203074756623">"Numele punctelor de acces"</string>
     <string name="settings_label" msgid="9101778088412567956">"Setări de rețea"</string>
     <string name="phone_accounts" msgid="1216879437523774604">"Conturi pentru apelare"</string>
-    <string name="phone_accounts_make_calls_with" msgid="16747814788918145">"Apelați cu"</string>
-    <string name="phone_accounts_make_sip_calls_with" msgid="4691221006731847255">"Dați apeluri SIP cu"</string>
+    <string name="phone_accounts_make_calls_with" msgid="16747814788918145">"Apelează cu"</string>
+    <string name="phone_accounts_make_sip_calls_with" msgid="4691221006731847255">"Dai apeluri SIP cu"</string>
     <string name="phone_accounts_ask_every_time" msgid="6192347582666047168">"Întreabă mai întâi"</string>
     <string name="phone_accounts_default_account_label" msgid="5107598881335931101">"Nicio rețea disponibilă"</string>
     <string name="phone_accounts_settings_header" msgid="6296501692964706536">"Setări"</string>
-    <string name="phone_accounts_choose_accounts" msgid="4748805293314824974">"Alegeți conturile"</string>
+    <string name="phone_accounts_choose_accounts" msgid="4748805293314824974">"Alege conturile"</string>
     <string name="phone_accounts_selection_header" msgid="2945830843104108440">"Conturi telefon"</string>
-    <string name="phone_accounts_add_sip_account" msgid="1437634802033309305">"Adăugați un cont SIP"</string>
-    <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configurați setările contului"</string>
+    <string name="phone_accounts_add_sip_account" msgid="1437634802033309305">"Adaugă un cont SIP"</string>
+    <string name="phone_accounts_configure_account_settings" msgid="6622119715253196586">"Configurează setările contului"</string>
     <string name="phone_accounts_all_calling_accounts" msgid="1609600743500618823">"Toate conturile pentru apelare"</string>
-    <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Selectați conturile care pot da apeluri"</string>
+    <string name="phone_accounts_all_calling_accounts_summary" msgid="2214134955430107240">"Selectează conturile care pot da apeluri"</string>
     <string name="wifi_calling" msgid="3650509202851355742">"Apelare prin Wi-Fi"</string>
     <string name="connection_service_default_label" msgid="7332739049855715584">"Serviciu de conectare încorporat"</string>
     <string name="voicemail" msgid="7697769412804195032">"Mesagerie vocală"</string>
     <string name="voicemail_settings_with_label" msgid="4228431668214894138">"Mesagerie vocală (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="7746778673131551185">"MV:"</string>
-    <string name="make_and_receive_calls" msgid="4868913166494621109">"Inițiați și primiți apeluri"</string>
+    <string name="make_and_receive_calls" msgid="4868913166494621109">"Inițiază și primește apeluri"</string>
     <string name="smart_forwarding_settings_menu" msgid="8850429887958938540">"Redirecționare intuitivă"</string>
-    <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"Când un număr nu este disponibil, redirecționați mereu apelurile către celălalt număr pe care îl aveți."</string>
+    <string name="smart_forwarding_settings_menu_summary" msgid="5096947726032885325">"Când un număr nu este disponibil, redirecționează mereu apelurile către celălalt număr pe care îl ai."</string>
     <string name="voicemail_notifications_preference_title" msgid="7829238858063382977">"Notificări"</string>
     <string name="cell_broadcast_settings" msgid="8135324242541809924">"Transmisiuni de urgență"</string>
     <string name="call_settings" msgid="3677282690157603818">"Setări pentru apeluri"</string>
@@ -96,7 +96,7 @@
     <string name="sum_loading_settings" msgid="434063780286688775">"Se încarcă setările…"</string>
     <string name="sum_hide_caller_id" msgid="131100328602371933">"Număr ascuns în apelurile de ieșire"</string>
     <string name="sum_show_caller_id" msgid="3571854755324664591">"Numărul afișat în apelurile de ieșire"</string>
-    <string name="sum_default_caller_id" msgid="1767070797135682959">"Utilizați setările prestabilite ale operatorului pentru a vă afișa numărul în apelurile efectuate"</string>
+    <string name="sum_default_caller_id" msgid="1767070797135682959">"Utilizează setările prestabilite ale operatorului pentru a-ți afișa numărul în apelurile efectuate"</string>
     <string name="labelCW" msgid="8449327023861428622">"Apel în așteptare"</string>
     <string name="sum_cw_enabled" msgid="3977308526187139996">"Anunță-mă dacă primesc un apel în timpul unei convorbiri"</string>
     <string name="sum_cw_disabled" msgid="3658094589461768637">"Anunță-mă dacă primesc un apel în timpul unei convorbiri"</string>
@@ -113,22 +113,22 @@
     <string name="messageCFB" msgid="1958017270393563388">"Număr pentru redirecționare dacă este ocupat"</string>
     <string name="sum_cfb_enabled" msgid="332037613072049492">"Se redirecționează la <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="3589913334164866035">"Dezactivat"</string>
-    <string name="disable_cfb_forbidden" msgid="4831494744351633961">"Operatorul dvs. nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul dvs. este ocupat."</string>
+    <string name="disable_cfb_forbidden" msgid="4831494744351633961">"Operatorul tău nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul tău este ocupat."</string>
     <string name="labelCFNRy" msgid="3403533792248457946">"Când nu se răspunde"</string>
     <string name="messageCFNRy" msgid="7644434155765359009">"Număr pentru redirecționare dacă nu se răspunde"</string>
     <string name="sum_cfnry_enabled" msgid="3000500837493854799">"Se redirecționează la <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="1990563512406017880">"Dezactivat"</string>
-    <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"Operatorul dvs. nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul dvs. nu răspunde."</string>
+    <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"Operatorul tău nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul tău nu răspunde."</string>
     <string name="labelCFNRc" msgid="4163399350778066013">"Când nu este accesibil"</string>
     <string name="messageCFNRc" msgid="6980340731313007250">"Număr de redirecționare dacă telefonul nu este accesibil"</string>
     <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"Se redirecționează la <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="739289696796917683">"Dezactivat"</string>
-    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Operatorul dvs. nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul nu este accesibil."</string>
-    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Operatorul dvs. nu acceptă redirecționarea apelurilor."</string>
-    <string name="cdma_call_waiting" msgid="4565070960879673216">"Activați apelurile în așteptare?"</string>
-    <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"În timpul unui apel, veți primi o notificare despre apelurile primite"</string>
-    <string name="enable_cdma_cw" msgid="811047045863422232">"Activați"</string>
-    <string name="disable_cdma_cw" msgid="7119290446496301734">"Anulați"</string>
+    <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"Operatorul tău nu acceptă ca redirecționarea apelurilor să fie dezactivată atunci când telefonul nu este accesibil."</string>
+    <string name="registration_cf_forbidden" msgid="4386482610771190420">"Operatorul tău nu acceptă redirecționarea apelurilor."</string>
+    <string name="cdma_call_waiting" msgid="4565070960879673216">"Activezi apelurile în așteptare?"</string>
+    <string name="enable_cdma_call_waiting_setting" msgid="5906811747921744307">"În timpul unui apel, vei primi o notificare despre apelurile primite"</string>
+    <string name="enable_cdma_cw" msgid="811047045863422232">"Activează"</string>
+    <string name="disable_cdma_cw" msgid="7119290446496301734">"Anulează"</string>
     <string name="cdma_call_waiting_in_ims_on" msgid="6390979414188659218">"Apelurile în așteptare CDMA din IMS sunt activate"</string>
     <string name="cdma_call_waiting_in_ims_off" msgid="1099246114368636334">"Apelurile în așteptare CDMA din IMS sunt dezactivate"</string>
     <string name="updating_title" msgid="6130548922615719689">"Setări pentru apeluri"</string>
@@ -145,26 +145,26 @@
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"Schimbat cu o solicitare SS nouă"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"Solicitarea SS a fost schimbată cu un apel video"</string>
     <string name="fdn_check_failure" msgid="1833769746374185247">"Setarea Numere cu apelări restricționate din aplicația Telefon este activată. Ca rezultat, unele funcții legate de apelare nu pot fi utilizate."</string>
-    <string name="radio_off_error" msgid="8321564164914232181">"Activați semnalul radio, înainte de a vizualiza aceste setări."</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"Activează semnalul radio, înainte de a vizualiza aceste setări."</string>
     <string name="close_dialog" msgid="1074977476136119408">"OK"</string>
-    <string name="enable" msgid="2636552299455477603">"Activați"</string>
-    <string name="disable" msgid="1122698860799462116">"Dezactivați"</string>
-    <string name="change_num" msgid="6982164494063109334">"Actualizați"</string>
+    <string name="enable" msgid="2636552299455477603">"Activează"</string>
+    <string name="disable" msgid="1122698860799462116">"Dezactivează"</string>
+    <string name="change_num" msgid="6982164494063109334">"Actualizează"</string>
   <string-array name="clir_display_values">
     <item msgid="8477364191403806960">"Rețea prestabilită"</item>
-    <item msgid="6813323051965618926">"Ascundeți numărul"</item>
-    <item msgid="9150034130629852635">"Afișați numărul"</item>
+    <item msgid="6813323051965618926">"Ascunde numărul"</item>
+    <item msgid="9150034130629852635">"Afișează numărul"</item>
   </string-array>
     <string name="vm_changed" msgid="4739599044379692505">"Număr mesagerie vocală modificat."</string>
-    <string name="vm_change_failed" msgid="7877733929455763566">"Nu s-a putut schimba numărul de mesagerie vocală.\nContactați operatorul în cazul în care această problemă persistă."</string>
-    <string name="fw_change_failed" msgid="9179241823460192148">"Nu s-a putut schimba numărul de redirecționare.\nContactați operatorul dvs. în cazul în care această problemă persistă."</string>
-    <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"Nu s-au putut prelua și salva setările actuale ale numărului de redirecționare.\nDoriți să comutați oricum către un nou furnizor de servicii?"</string>
+    <string name="vm_change_failed" msgid="7877733929455763566">"Nu s-a putut schimba numărul de mesagerie vocală.\nContactează operatorul în cazul în care această problemă persistă."</string>
+    <string name="fw_change_failed" msgid="9179241823460192148">"Nu s-a putut schimba numărul de redirecționare.\nContactează operatorul tău în cazul în care această problemă persistă."</string>
+    <string name="fw_get_in_vm_failed" msgid="2432678237218183844">"Nu s-au putut prelua și salva setările actuale ale numărului de redirecționare.\nDorești să treci oricum către un nou furnizor de servicii?"</string>
     <string name="no_change" msgid="3737264882821031892">"Nicio schimbare efectuată."</string>
-    <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"Alegeți serviciul de mesagerie vocală"</string>
-    <string name="voicemail_default" msgid="6427575113775462077">"Operatorul dvs."</string>
+    <string name="sum_voicemail_choose_provider" msgid="6750824719081403773">"Alege serviciul de mesagerie vocală"</string>
+    <string name="voicemail_default" msgid="6427575113775462077">"Operatorul tău"</string>
     <string name="vm_change_pin_old_pin" msgid="7154951790929009241">"Codul PIN vechi"</string>
     <string name="vm_change_pin_new_pin" msgid="2656200418481288069">"Codul PIN nou"</string>
-    <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Așteptați."</string>
+    <string name="vm_change_pin_progress_message" msgid="626015184502739044">"Așteaptă."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"Codul PIN nou este prea scurt."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"Codul PIN nou este prea lung."</string>
     <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"Codul PIN nou este prea slab. O parolă puternică nu ar trebui să aibă o secvență continuă sau cifre repetitive."</string>
@@ -176,21 +176,21 @@
     <string name="label_available" msgid="1316084116670821258">"Rețele disponibile"</string>
     <string name="load_networks_progress" msgid="4051433047717401683">"Se caută…"</string>
     <string name="empty_networks_list" msgid="9216418268008582342">"Nicio rețea găsită."</string>
-    <string name="network_query_error" msgid="3862515805115145124">"Nu s-au găsit rețele. Încercați din nou."</string>
+    <string name="network_query_error" msgid="3862515805115145124">"Nu s-au găsit rețele. Încearcă din nou."</string>
     <string name="register_on_network" msgid="4194770527833960423">"Se înregistrează pe <xliff:g id="NETWORK">%s</xliff:g>..."</string>
-    <string name="not_allowed" msgid="8541221928746104798">"Cardul dvs. SIM nu permite conexiunea la această rețea."</string>
-    <string name="connect_later" msgid="1950138106010005425">"Nu se poate efectua conectarea la această rețea chiar acum. Încercați din nou mai târziu."</string>
+    <string name="not_allowed" msgid="8541221928746104798">"Cardul tău SIM nu permite conexiunea la această rețea."</string>
+    <string name="connect_later" msgid="1950138106010005425">"Nu se poate efectua conectarea la această rețea chiar acum. Încearcă din nou mai târziu."</string>
     <string name="registration_done" msgid="5337407023566953292">"Înregistrat în rețea."</string>
     <string name="already_auto" msgid="8607068290733079336">"Deja în selecție automată."</string>
-    <string name="select_automatically" msgid="779750291257872651">"Selectați automat rețeaua"</string>
+    <string name="select_automatically" msgid="779750291257872651">"Selectează automat rețeaua"</string>
     <string name="manual_mode_disallowed_summary" msgid="3970048592179890197">"Indisponibil când este conectat la %1$s"</string>
     <string name="network_select_title" msgid="4117305053881611988">"Rețea"</string>
     <string name="register_automatically" msgid="3907580547590554834">"Înregistrare automată..."</string>
     <string name="preferred_network_mode_title" msgid="5253395265169539830">"Tipul de rețea preferat"</string>
-    <string name="preferred_network_mode_summary" msgid="3787989000044330064">"Schimbați modul de operare a rețelei"</string>
+    <string name="preferred_network_mode_summary" msgid="3787989000044330064">"Schimbă modul de operare a rețelei"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="2781447433514459696">"Tipul de rețea preferat"</string>
     <string name="forbidden_network" msgid="5081729819561333023">"(interzis)"</string>
-    <string name="choose_network_title" msgid="5335832663422653082">"Alegeți o rețea"</string>
+    <string name="choose_network_title" msgid="5335832663422653082">"Alege o rețea"</string>
     <string name="network_disconnected" msgid="8844141106841160825">"Deconectat"</string>
     <string name="network_connected" msgid="2760235679963580224">"Conectat"</string>
     <string name="network_connecting" msgid="160901383582774987">"Se conectează…"</string>
@@ -273,30 +273,30 @@
     <string name="network_operator_category" msgid="4992217193732304680">"Rețea"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="4213420368777080540">"Mod 4G LTE îmbunătățit"</string>
     <!-- no translation found for enhanced_4g_lte_mode_title_variant:0 (7240155150166394308) -->
-    <string name="enhanced_4g_lte_mode_summary" msgid="7725708511804143638">"Folosiți servicii LTE pt. a îmbunătăți comunicări vocale și altele (recomandat)"</string>
-    <string name="enhanced_4g_lte_mode_summary_o2" msgid="2521108446409016542">"Folosiți servicii 4G pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
+    <string name="enhanced_4g_lte_mode_summary" msgid="7725708511804143638">"Folosește servicii LTE pt. a îmbunătăți comunicări vocale și altele (recomandat)"</string>
+    <string name="enhanced_4g_lte_mode_summary_o2" msgid="2521108446409016542">"Folosește servicii 4G pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:0 (2943982616649705147) -->
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:1 (5262249464504131443) -->
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:2 (6356974241850241718) -->
     <string name="data_enabled" msgid="22525832097434368">"Date activate"</string>
-    <string name="data_enable_summary" msgid="696860063456536557">"Permiteți utilizarea datelor"</string>
+    <string name="data_enable_summary" msgid="696860063456536557">"Permite utilizarea datelor"</string>
     <string name="dialog_alert_title" msgid="5260471806940268478">"Atenție"</string>
     <string name="roaming" msgid="1576180772877858949">"Roaming"</string>
-    <string name="roaming_enable" msgid="6853685214521494819">"Conectați-vă la serviciile de date în roaming"</string>
-    <string name="roaming_disable" msgid="8856224638624592681">"Conectați-vă la serviciile de date în roaming"</string>
-    <string name="roaming_reenable_message" msgid="1951802463885727915">"Roamingul de date este dezactivat. Atingeți pentru a-l activa."</string>
-    <string name="roaming_enabled_message" msgid="9022249120750897">"Se pot aplica tarife de roaming. Atingeți pentru a modifica."</string>
+    <string name="roaming_enable" msgid="6853685214521494819">"Conectează-te la serviciile de date în roaming"</string>
+    <string name="roaming_disable" msgid="8856224638624592681">"Conectează-te la serviciile de date în roaming"</string>
+    <string name="roaming_reenable_message" msgid="1951802463885727915">"Roamingul de date este dezactivat. Atinge pentru a-l activa."</string>
+    <string name="roaming_enabled_message" msgid="9022249120750897">"Se pot aplica tarife de roaming. Atinge pentru a modifica."</string>
     <string name="roaming_notification_title" msgid="3590348480688047320">"S-a pierdut conexiunea de date mobile"</string>
     <string name="roaming_on_notification_title" msgid="7451473196411559173">"Roamingul de date este activat"</string>
     <string name="roaming_warning" msgid="7855681468067171971">"Se pot acumula costuri mari."</string>
-    <string name="roaming_check_price_warning" msgid="8212484083990570215">"Consultați furnizorul de rețea în privința prețurilor."</string>
-    <string name="roaming_alert_title" msgid="5689615818220960940">"Permiteți roamingul de date?"</string>
+    <string name="roaming_check_price_warning" msgid="8212484083990570215">"Consultă furnizorul de rețea în privința prețurilor."</string>
+    <string name="roaming_alert_title" msgid="5689615818220960940">"Permiți roamingul de date?"</string>
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"Funcționalitate SIM limitată"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"Este posibil ca apelurile și serviciile de date de la <xliff:g id="CARRIER_NAME">%1$s</xliff:g> să fie blocate în timp ce se folosește <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
-    <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Apelurile și serviciile de date de la <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pot fi blocate când folosiți alt card SIM"</string>
+    <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Apelurile și serviciile de date de la <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pot fi blocate când folosești alt card SIM"</string>
     <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Au fost găsite și eliminate conturi SIP învechite"</string>
-    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"Platforma Android nu mai acceptă apelarea SIP.\nConturile dvs. SIP existente <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> au fost eliminate.\nConfirmați setarea prestabilită pentru apelare a contului."</string>
-    <string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Accesați setările"</string>
+    <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"Platforma Android nu mai acceptă apelarea SIP.\nConturile tale SIP existente <xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g> au fost eliminate.\nConfirmă setarea prestabilită pentru apelare a contului."</string>
+    <string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Accesează setările"</string>
     <string name="data_usage_title" msgid="8438592133893837464">"Date utilizate de aplicație"</string>
     <string name="data_usage_template" msgid="6287906680674061783">"<xliff:g id="ID_1">%1$s</xliff:g> de date mobile utilizate în intervalul <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="advanced_options_title" msgid="9208195294513520934">"Avansate"</string>
@@ -304,11 +304,11 @@
     <string name="keywords_carrier_settings_euicc" msgid="8540160967922063745">"operator, esim, sim, euicc, schimbare operatori, adăugare operator"</string>
     <string name="carrier_settings_euicc_summary" msgid="2027941166597330117">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
     <string name="mobile_data_settings_title" msgid="7228249980933944101">"Date mobile"</string>
-    <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Accesați datele folosind rețeaua mobilă"</string>
-    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Dezactivați datele mobile?"</string>
-    <string name="sim_selection_required_pref" msgid="6985901872978341314">"Selectați o opțiune"</string>
-    <string name="sim_change_data_title" msgid="9142726786345906606">"Schimbați cartela SIM de date?"</string>
-    <string name="sim_change_data_message" msgid="3567358694255933280">"Folosiți <xliff:g id="NEW_SIM">%1$s</xliff:g> în loc de <xliff:g id="OLD_SIM">%2$s</xliff:g> pentru datele mobile?"</string>
+    <string name="mobile_data_settings_summary" msgid="5012570152029118471">"Accesează datele folosind rețeaua mobilă"</string>
+    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"Dezactivezi datele mobile?"</string>
+    <string name="sim_selection_required_pref" msgid="6985901872978341314">"Selectează o opțiune"</string>
+    <string name="sim_change_data_title" msgid="9142726786345906606">"Schimbi cartela SIM de date?"</string>
+    <string name="sim_change_data_message" msgid="3567358694255933280">"Folosești <xliff:g id="NEW_SIM">%1$s</xliff:g> în loc de <xliff:g id="OLD_SIM">%2$s</xliff:g> pentru datele mobile?"</string>
     <string name="wifi_calling_settings_title" msgid="5800018845662016507">"Apelare prin Wi-Fi"</string>
     <string name="video_calling_settings_title" msgid="342829454913266078">"Apelare video prin operator"</string>
     <string name="gsm_umts_options" msgid="4968446771519376808">"Opțiuni GSM/UMTS"</string>
@@ -317,7 +317,7 @@
     <string name="throttle_current_usage" msgid="7483859109708658613">"Datele utilizate în perioada curentă"</string>
     <string name="throttle_time_frame" msgid="1813452485948918791">"Perioada de utilizare a datelor"</string>
     <string name="throttle_rate" msgid="7641913901133634905">"Politica ratei de transfer a datelor"</string>
-    <string name="throttle_help" msgid="2624535757028809735">"Aflați mai multe"</string>
+    <string name="throttle_help" msgid="2624535757028809735">"Află mai multe"</string>
     <string name="throttle_status_subtext" msgid="1110276415078236687">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) din <xliff:g id="USED_2">%3$s</xliff:g> perioada maximă\nUrmătoarea perioadă începe în <xliff:g id="USED_3">%4$d</xliff:g> zile (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
     <string name="throttle_data_usage_subtext" msgid="3185429653996709840">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) din <xliff:g id="USED_2">%3$s</xliff:g> perioadă maximă"</string>
     <string name="throttle_data_rate_reduced_subtext" msgid="8369839346277847725">"<xliff:g id="USED_0">%1$s</xliff:g> maximum depășit\nRata de transfer se reduce la <xliff:g id="USED_1">%2$d</xliff:g> Kb/s"</string>
@@ -355,7 +355,7 @@
     <string name="international_enable" msgid="8943466745792690340">"Știri internaționale activate"</string>
     <string name="international_disable" msgid="4803498658100318265">"Știri internaționale dezactivate"</string>
     <string name="list_language_title" msgid="1850167908665485738">"Limbă"</string>
-    <string name="list_language_summary" msgid="7921756070782277559">"Selectați limba pentru știri"</string>
+    <string name="list_language_summary" msgid="7921756070782277559">"Selectează limba pentru știri"</string>
   <string-array name="list_language_entries">
     <item msgid="2347238508726934281">"Engleză"</item>
     <item msgid="5172468397620875174">"Franceză"</item>
@@ -415,15 +415,15 @@
     <string name="network_lte" msgid="7206879277095094280">"LTE (recomandat)"</string>
     <string name="network_4G" msgid="6800527815504223913">"4G (recomandat)"</string>
     <string name="network_global" msgid="3289646154407617631">"Global"</string>
-    <string name="cdma_system_select_title" msgid="614165233552656431">"Selectați sistemul"</string>
-    <string name="cdma_system_select_summary" msgid="3840420390242060407">"Schimbați modul de roaming CDMA"</string>
-    <string name="cdma_system_select_dialogtitle" msgid="5524639510676501802">"Selectați sistemul"</string>
+    <string name="cdma_system_select_title" msgid="614165233552656431">"Selectează sistemul"</string>
+    <string name="cdma_system_select_summary" msgid="3840420390242060407">"Schimbă modul de roaming CDMA"</string>
+    <string name="cdma_system_select_dialogtitle" msgid="5524639510676501802">"Selectează sistemul"</string>
   <string-array name="cdma_system_select_choices">
     <item msgid="462340042928284921">"Doar domiciliu"</item>
     <item msgid="6058010046783562674">"Automat"</item>
   </string-array>
     <string name="cdma_subscription_title" msgid="3449527179325589434">"Abonament CMDA"</string>
-    <string name="cdma_subscription_summary" msgid="5681152534466169001">"Comutați între RUIM/SIM și NV"</string>
+    <string name="cdma_subscription_summary" msgid="5681152534466169001">"Treci între RUIM/SIM și NV"</string>
     <string name="cdma_subscription_dialogtitle" msgid="8872086335839723980">"abonament"</string>
   <string-array name="cdma_subscription_choices">
     <item msgid="7989486897370727698">"RUIM/SIM"</item>
@@ -433,67 +433,67 @@
     <item msgid="2953825013895327785">"0"</item>
     <item msgid="7970797749269738435">"1"</item>
   </string-array>
-    <string name="cdma_activate_device" msgid="5914720276140097632">"Activați dispozitivul"</string>
-    <string name="cdma_lte_data_service" msgid="359786441782404562">"Configurați serviciul de date"</string>
+    <string name="cdma_activate_device" msgid="5914720276140097632">"Activează dispozitivul"</string>
+    <string name="cdma_lte_data_service" msgid="359786441782404562">"Configurează serviciul de date"</string>
     <string name="carrier_settings_title" msgid="6292869148169850220">"Setări operator"</string>
     <string name="fdn" msgid="2545904344666098749">"Numere apeluri restricționate"</string>
     <string name="fdn_with_label" msgid="6412087553365709494">"Numere pentru apeluri restricționate (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="3341716430375195441">"Listă NAR"</string>
     <string name="fdn_list_with_label" msgid="1409655283510382556">"Listă NAR (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="fdn_activation" msgid="2178637004710435895">"Activați NAR"</string>
+    <string name="fdn_activation" msgid="2178637004710435895">"Activează NAR"</string>
     <string name="fdn_enabled" msgid="7017355494808056447">"Numerele cu apelări restricționate sunt activate"</string>
     <string name="fdn_disabled" msgid="6696468878037736600">"Numerele pentru apeluri restricționate sunt dezactivate"</string>
-    <string name="enable_fdn" msgid="4830555730418033723">"Activați NAR"</string>
-    <string name="disable_fdn" msgid="3918794950264647541">"Dezactivați NAR"</string>
-    <string name="change_pin2" msgid="3110844547237754871">"Schimbați codul PIN2"</string>
-    <string name="enable_fdn_ok" msgid="5080925177369329827">"Dezactivați NAR"</string>
-    <string name="disable_fdn_ok" msgid="3745475926874838676">"Activați NAR"</string>
-    <string name="sum_fdn" msgid="6152246141642323582">"Gestionați numerele cu apelări restricționate"</string>
-    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Schimbați codul PIN pentru acces la NAR"</string>
-    <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Gestionați lista numerelor de telefon"</string>
+    <string name="enable_fdn" msgid="4830555730418033723">"Activează NAR"</string>
+    <string name="disable_fdn" msgid="3918794950264647541">"Dezactivează NAR"</string>
+    <string name="change_pin2" msgid="3110844547237754871">"Schimbă codul PIN2"</string>
+    <string name="enable_fdn_ok" msgid="5080925177369329827">"Dezactivează NAR"</string>
+    <string name="disable_fdn_ok" msgid="3745475926874838676">"Activează NAR"</string>
+    <string name="sum_fdn" msgid="6152246141642323582">"Gestionează numerele cu apelări restricționate"</string>
+    <string name="sum_fdn_change_pin" msgid="3510994280557335727">"Schimbă codul PIN pentru acces la NAR"</string>
+    <string name="sum_fdn_manage_list" msgid="3311397063233992907">"Gestionează lista numerelor de telefon"</string>
     <string name="voice_privacy" msgid="7346935172372181951">"Confidențialitate voce"</string>
-    <string name="voice_privacy_summary" msgid="3556460926168473346">"Activați modul avansat de confidențialitate"</string>
+    <string name="voice_privacy_summary" msgid="3556460926168473346">"Activează modul avansat de confidențialitate"</string>
     <string name="tty_mode_option_title" msgid="3843817710032641703">"Mod TTY"</string>
-    <string name="tty_mode_option_summary" msgid="4770510287236494371">"Setați modul TTY"</string>
+    <string name="tty_mode_option_summary" msgid="4770510287236494371">"Setează modul TTY"</string>
     <string name="auto_retry_mode_title" msgid="2985801935424422340">"Reîncercare automată"</string>
-    <string name="auto_retry_mode_summary" msgid="2863919925349511402">"Activați modul Reîncercare automată"</string>
+    <string name="auto_retry_mode_summary" msgid="2863919925349511402">"Activează modul Reîncercare automată"</string>
     <string name="tty_mode_not_allowed_video_call" msgid="6551976083652752815">"Schimbarea modului TTY nu este permisă în timpul unui apel video"</string>
-    <string name="menu_add" msgid="5616487894975773141">"Adăugați o persoană"</string>
-    <string name="menu_edit" msgid="3593856941552460706">"Modificați informațiile despre persoana din agendă"</string>
-    <string name="menu_delete" msgid="6326861853830546488">"Ștergeți persoana din agendă"</string>
-    <string name="menu_dial" msgid="4178537318419450012">"Apelați persoana de contact"</string>
-    <string name="get_pin2" msgid="4221654606863196332">"Introduceți codul PIN2"</string>
+    <string name="menu_add" msgid="5616487894975773141">"Adaugă o persoană"</string>
+    <string name="menu_edit" msgid="3593856941552460706">"Modifică informațiile despre persoana din agendă"</string>
+    <string name="menu_delete" msgid="6326861853830546488">"Șterge persoana din agendă"</string>
+    <string name="menu_dial" msgid="4178537318419450012">"Apelează persoana de contact"</string>
+    <string name="get_pin2" msgid="4221654606863196332">"Introdu codul PIN2"</string>
     <string name="name" msgid="1347432469852527784">"Nume"</string>
     <string name="number" msgid="1564053487748491000">"Număr"</string>
-    <string name="save" msgid="983805790346099749">"Salvați"</string>
-    <string name="add_fdn_contact" msgid="1169713422306640887">"Adăugați un număr cu apelări restricționate"</string>
+    <string name="save" msgid="983805790346099749">"Salvează"</string>
+    <string name="add_fdn_contact" msgid="1169713422306640887">"Adaugă un număr cu apelări restricționate"</string>
     <string name="adding_fdn_contact" msgid="3112531600824361259">"Se adaugă numărul cu apelări restricționate..."</string>
     <string name="fdn_contact_added" msgid="2840016151693394596">"Număr cu apelări restricționate adăugat."</string>
     <string name="edit_fdn_contact" msgid="6030829994819587408">"Modificați numărul cu apelări restricționate"</string>
     <string name="updating_fdn_contact" msgid="6989341376868227150">"Se actualizează numărul cu apelări restricționate..."</string>
     <string name="fdn_contact_updated" msgid="6876330243323118937">"Număr cu apelări restricționate actualizat."</string>
-    <string name="delete_fdn_contact" msgid="7027405651994507077">"Ștergeți numărul cu apelări restricționate"</string>
+    <string name="delete_fdn_contact" msgid="7027405651994507077">"Șterge numărul cu apelări restricționate"</string>
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"Se șterge numărul cu apelări restricționate..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"Numărul cu apelări restricționate a fost șters."</string>
-    <string name="pin2_invalid" msgid="2313954262684494442">"NAR nu a fost actualizat, deoarece ați introdus un cod PIN incorect."</string>
+    <string name="pin2_invalid" msgid="2313954262684494442">"NAR nu a fost actualizat, deoarece ai introdus un cod PIN incorect."</string>
     <string name="fdn_invalid_number" msgid="9067189814657840439">"NAR nu a fost actualizat deoarece numărul depășește <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> cifre."</string>
     <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"NAR nu a fost actualizat. Codul PIN2 a fost incorect sau numărul de telefon a fost respins."</string>
     <string name="fdn_failed" msgid="216592346853420250">"Operațiunea NAR nu a reușit."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"Se citește de pe cardul SIM..."</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"Nicio persoană pe cardul SIM."</string>
-    <string name="simContacts_title" msgid="2714029230160136647">"Selectați pentru import"</string>
-    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Pentru a importa persoane de contact de pe cardul SIM, dezactivați modul Avion."</string>
-    <string name="enable_pin" msgid="967674051730845376">"Activați/dezactivați codul PIN al cardului SIM"</string>
-    <string name="change_pin" msgid="3657869530942905790">"Schimbați codul PIN pentru SIM"</string>
+    <string name="simContacts_title" msgid="2714029230160136647">"Selectează pentru import"</string>
+    <string name="simContacts_airplaneMode" msgid="4654884030631503808">"Pentru a importa persoane de contact de pe cardul SIM, dezactivează modul Avion."</string>
+    <string name="enable_pin" msgid="967674051730845376">"Activează/dezactivează codul PIN al cardului SIM"</string>
+    <string name="change_pin" msgid="3657869530942905790">"Schimbă codul PIN pentru SIM"</string>
     <string name="enter_pin_text" msgid="3182311451978663356">"Codul PIN pentru cardul SIM:"</string>
     <string name="oldPinLabel" msgid="8618515202411987721">"Codul PIN vechi"</string>
     <string name="newPinLabel" msgid="3585899083055354732">"Cod PIN nou"</string>
-    <string name="confirmPinLabel" msgid="7783531218662473778">"Confirmați noul cod PIN"</string>
-    <string name="badPin" msgid="4549286285015892321">"Codul PIN vechi pe care l-ați introdus nu este corect. Încercați din nou."</string>
-    <string name="mismatchPin" msgid="1467254768290323845">"Codurile PIN introduse nu se potrivesc. Încercați din nou."</string>
-    <string name="invalidPin" msgid="7363723429414001979">"Introduceți un cod PIN alcătuit din 4 până la 8 cifre."</string>
-    <string name="disable_sim_pin" msgid="3112303905548613752">"Ștergeți codul PIN pentru SIM"</string>
-    <string name="enable_sim_pin" msgid="445461050748318980">"Setați codul PIN pentru SIM"</string>
+    <string name="confirmPinLabel" msgid="7783531218662473778">"Confirmă noul cod PIN"</string>
+    <string name="badPin" msgid="4549286285015892321">"Codul PIN vechi pe care l-ai introdus nu este corect. Încearcă din nou."</string>
+    <string name="mismatchPin" msgid="1467254768290323845">"Codurile PIN introduse nu se potrivesc. Încearcă din nou."</string>
+    <string name="invalidPin" msgid="7363723429414001979">"Introdu un cod PIN alcătuit din 4 până la 8 cifre."</string>
+    <string name="disable_sim_pin" msgid="3112303905548613752">"Șterge codul PIN pentru SIM"</string>
+    <string name="enable_sim_pin" msgid="445461050748318980">"Setează codul PIN pentru SIM"</string>
     <string name="enable_in_progress" msgid="4135305985717272592">"Se setează codul PIN…"</string>
     <string name="enable_pin_ok" msgid="2877428038280804256">"Cod PIN setat"</string>
     <string name="disable_pin_ok" msgid="888505244389647754">"Cod PIN șters"</string>
@@ -503,19 +503,19 @@
     <string name="enter_pin2_text" msgid="7266379426804295979">"PIN2"</string>
     <string name="oldPin2Label" msgid="4648543187859997203">"Codul PIN2 vechi"</string>
     <string name="newPin2Label" msgid="1840905981784453939">"Cod PIN2 nou"</string>
-    <string name="confirmPin2Label" msgid="4336025914667593762">"Confirmați noul cod PIN2"</string>
-    <string name="badPuk2" msgid="6438182906645832235">"Codul PUK2 nu este corect. Încercați din nou."</string>
-    <string name="badPin2" msgid="2760917538643074635">"Vechiul cod PIN2 nu este corect. Încercați din nou."</string>
-    <string name="mismatchPin2" msgid="4952718725266700631">"Codurile PIN2 nu se potrivesc. Încercați din nou."</string>
-    <string name="invalidPin2" msgid="6467957903056379343">"Introduceți un cod PIN2 format din 4 până la 8 cifre."</string>
-    <string name="invalidPuk2" msgid="713729511903849544">"Introduceți un cod PUK2 format din 8 cifre."</string>
+    <string name="confirmPin2Label" msgid="4336025914667593762">"Confirmă noul cod PIN2"</string>
+    <string name="badPuk2" msgid="6438182906645832235">"Codul PUK2 nu este corect. Încearcă din nou."</string>
+    <string name="badPin2" msgid="2760917538643074635">"Vechiul cod PIN2 nu este corect. Încearcă din nou."</string>
+    <string name="mismatchPin2" msgid="4952718725266700631">"Codurile PIN2 nu se potrivesc. Încearcă din nou."</string>
+    <string name="invalidPin2" msgid="6467957903056379343">"Introdu un cod PIN2 format din 4 până la 8 cifre."</string>
+    <string name="invalidPuk2" msgid="713729511903849544">"Introdu un cod PUK2 format din 8 cifre."</string>
     <string name="pin2_changed" msgid="5710551850481287821">"Codul PIN2 a fost actualizat"</string>
-    <string name="label_puk2_code" msgid="2852217004288085562">"Introduceți codul PUK2"</string>
-    <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"Parola nu este corectă. Codul PIN2 a fost blocat. Pentru a încerca din nou, schimbați codul PIN2."</string>
-    <string name="puk2_requested" msgid="6992374450720307514">"Parola nu este corectă. Cardul SIM a fost blocat. Introduceți codul PUK2."</string>
+    <string name="label_puk2_code" msgid="2852217004288085562">"Introdu codul PUK2"</string>
+    <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"Parola nu este corectă. Codul PIN2 a fost blocat. Pentru a încerca din nou, schimbă codul PIN2."</string>
+    <string name="puk2_requested" msgid="6992374450720307514">"Parola nu este corectă. Cardul SIM a fost blocat. Introdu codul PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Codul PUK2 este blocat definitiv."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"V-au rămas <xliff:g id="NUMBER">%d</xliff:g> (de) încercări."</string>
-    <string name="puk2_locked" msgid="6497760825455461057">"Blocat cu PUK2. Contactați furnizorul de servicii pentru a debloca."</string>
+    <string name="puk2_locked" msgid="6497760825455461057">"Blocat cu PUK2. Contactează furnizorul de servicii pentru a debloca."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Codul PIN2 nu mai este blocat"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Eroare de rețea sau de card SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Terminat"</string>
@@ -530,21 +530,21 @@
     <string name="card_title_in_call" msgid="8231896539567594265">"În timpul apelului"</string>
     <string name="notification_voicemail_title" msgid="3932876181831601351">"Mesaj vocal nou"</string>
     <string name="notification_voicemail_title_count" msgid="2806950319222327082">"Mesaj vocal nou (<xliff:g id="COUNT">%d</xliff:g>)"</string>
-    <string name="notification_voicemail_text_format" msgid="5720947141702312537">"Apelați <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+    <string name="notification_voicemail_text_format" msgid="5720947141702312537">"Apelează <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"Număr mesagerie vocală necunoscut"</string>
     <string name="notification_network_selection_title" msgid="255595526707809121">"Fără serviciu"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"Rețeaua selectată (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nu este disponibilă"</string>
-    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activați rețeaua mobilă, dezactivați modul avion sau modul de economisire a bateriei pentru a iniția un apel."</string>
-    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Pentru a apela, dezactivați modul Avion."</string>
-    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Pentru a apela, dezactivați modul Avion sau conectați-vă la o rețea wireless."</string>
-    <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonul este prea fierbinte"</b>\n\n"Nu se poate iniția apelul. Încercați din nou după ce telefonul se răcește.\n\nPuteți, totuși, să inițiați apeluri de urgență."</string>
-    <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Ieșiți din modul de apelare inversă de urgență pentru a efectua un apel care nu este de urgență."</string>
+    <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"Activează rețeaua mobilă, dezactivează modul avion sau modul de economisire a bateriei pentru a iniția un apel."</string>
+    <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"Pentru a apela, dezactivează modul Avion."</string>
+    <string name="incall_error_power_off_wfc" msgid="9125661184694727052">"Pentru a apela, dezactivează modul Avion sau conectează-te la o rețea wireless."</string>
+    <string name="incall_error_power_off_thermal" product="default" msgid="8695809601655300168"><b>"Telefonul este prea fierbinte"</b>\n\n"Nu se poate iniția apelul. Încearcă din nou după ce telefonul se răcește.\n\nPoți, totuși, să inițiezi apeluri de urgență."</string>
+    <string name="incall_error_ecm_emergency_only" msgid="5622379058883722080">"Ieși din modul de apelare inversă de urgență pentru a efectua un apel care nu este de urgență."</string>
     <string name="incall_error_emergency_only" msgid="8786127461027964653">"Neînregistrat în rețea."</string>
     <string name="incall_error_out_of_service" msgid="1927265196942672791">"Rețeaua mobilă nu este disponibilă."</string>
-    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Rețeaua mobilă nu este disponibilă. Pentru a apela, conectați-vă la o rețea wireless."</string>
-    <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Pentru a apela, introduceți un număr valid."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="4497663185857190885">"Rețeaua mobilă nu este disponibilă. Pentru a apela, conectează-te la o rețea wireless."</string>
+    <string name="incall_error_no_phone_number_supplied" msgid="8680831089508851894">"Pentru a apela, introdu un număr valid."</string>
     <string name="incall_error_call_failed" msgid="393508653582682539">"Apelul nu a fost inițiat."</string>
-    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Apelul nu poate fi inițiat în acest moment. Puteți lua legătura cu persoana respectivă trimițându-i un mesaj."</string>
+    <string name="incall_error_cannot_add_call" msgid="5425764862628655443">"Apelul nu poate fi inițiat în acest moment. Poți lua legătura cu persoana respectivă trimițându-i un mesaj."</string>
     <string name="incall_error_supp_service_unknown" msgid="8751177117194592623">"Serviciul nu este compatibil"</string>
     <string name="incall_error_supp_service_switch" msgid="5272822448189448479">"Apelurile nu pot fi comutate."</string>
     <string name="incall_error_supp_service_resume" msgid="1276861499306817035">"Nu se poate relua apelul."</string>
@@ -554,50 +554,50 @@
     <string name="incall_error_supp_service_reject" msgid="3044363092441655912">"Apelul nu poate fi respins."</string>
     <string name="incall_error_supp_service_hangup" msgid="836524952243836735">"Apelurile nu pot fi eliberate."</string>
     <string name="incall_error_supp_service_hold" msgid="8535056414643540997">"Apelurile nu pot fi puse în așteptare."</string>
-    <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Pentru a apela, conectați-vă la o rețea wireless."</string>
-    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Activați apelarea prin Wi-Fi pentru a iniția un apel."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="5860742792811400109">"Pentru a apela, conectează-te la o rețea wireless."</string>
+    <string name="incall_error_promote_wfc" msgid="9164896813931363415">"Activează apelarea prin Wi-Fi pentru a iniția un apel."</string>
     <string name="emergency_information_hint" msgid="9208897544917793012">"Informații în caz de urgență"</string>
     <string name="emergency_information_owner_hint" msgid="6256909888049185316">"Proprietar"</string>
-    <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Atingeți din nou pentru a vedea informațiile"</string>
+    <string name="emergency_information_confirm_hint" msgid="5109017615894918914">"Atinge din nou pentru a vedea informațiile"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="2667568200755388829">"Apel de urgență"</string>
     <string name="single_emergency_number_title" msgid="8413371079579067196">"Număr de urgență"</string>
     <string name="numerous_emergency_numbers_title" msgid="8972398932506755510">"Numere de urgență"</string>
-    <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"Atingeți din nou pentru a apela <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>"</string>
+    <string name="emergency_call_shortcut_hint" msgid="1290485125107779500">"Atinge din nou pentru a apela <xliff:g id="EMERGENCY_NUMBER">%s</xliff:g>"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="1695305158151408629">"Se activează semnalul radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="4329131876852608587">"Fără semnal. Se încearcă din nou..."</string>
     <string name="radio_off_during_emergency_call" msgid="8011154134040481609">"Nu se poate intra în modul avion în timpul unui apel de urgență."</string>
     <string name="dial_emergency_error" msgid="825822413209026039">"Nu se poate apela. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nu este un număr de urgență."</string>
-    <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nu se poate apela. Formați un număr de urgență."</string>
+    <string name="dial_emergency_empty_error" msgid="2785803395047793634">"Nu se poate apela. Formează un număr de urgență."</string>
     <string name="dial_emergency_calling_not_available" msgid="6485846193794727823">"Apelurile de urgență nu sunt disponibile."</string>
     <string name="pin_puk_system_user_only" msgid="1045147220686867922">"Numai proprietarul dispozitivului poate să introducă respectivele coduri PIN/PUK."</string>
     <string name="police_type_description" msgid="2819533883972081757">"Poliție"</string>
     <string name="ambulance_type_description" msgid="6798237503553180461">"Ambulanță"</string>
     <string name="fire_type_description" msgid="6565200468934914930">"Pompieri"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s, %2$s"</string>
-    <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Utilizați tastatura pentru a forma"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"Rețineți"</string>
+    <string name="dialerKeyboardHintText" msgid="1115266533703764049">"Utilizează tastatura pentru a forma"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"Reține"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"Terminat"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"Tastatură numerică"</string>
-    <string name="onscreenMuteText" msgid="5470306116733843621">"Dezactivați sunetul"</string>
-    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adăugați un apel"</string>
-    <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Îmbinați apelurile"</string>
-    <string name="onscreenSwapCallsText" msgid="2682542150803377991">"Schimbați"</string>
-    <string name="onscreenManageCallsText" msgid="1162047856081836469">"Gestionați apelurile"</string>
+    <string name="onscreenMuteText" msgid="5470306116733843621">"Dezactivează sunetul"</string>
+    <string name="onscreenAddCallText" msgid="9075675082903611677">"Adaugă un apel"</string>
+    <string name="onscreenMergeCallsText" msgid="3692389519611225407">"Îmbină apelurile"</string>
+    <string name="onscreenSwapCallsText" msgid="2682542150803377991">"Schimbă"</string>
+    <string name="onscreenManageCallsText" msgid="1162047856081836469">"Gestionează apelurile"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"Gestion. conferința"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"Audio"</string>
     <string name="onscreenVideoCallText" msgid="1743992456126258698">"Apel video"</string>
-    <string name="importSimEntry" msgid="3892354284082689894">"Importați"</string>
-    <string name="importAllSimEntries" msgid="2628391505643564007">"Importați-le pe toate"</string>
+    <string name="importSimEntry" msgid="3892354284082689894">"Importă"</string>
+    <string name="importAllSimEntries" msgid="2628391505643564007">"Importă-le pe toate"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"Se importă persoanele din agenda de pe cardul SIM"</string>
-    <string name="importToFDNfromContacts" msgid="5068664870738407341">"Importați din Agendă"</string>
+    <string name="importToFDNfromContacts" msgid="5068664870738407341">"Importă din Agendă"</string>
     <string name="singleContactImportedMsg" msgid="3619804066300998934">"Persoana de contact a fost importată"</string>
     <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"Persoana de contact nu a fost importată"</string>
     <string name="hac_mode_title" msgid="4127986689621125468">"Aparate auditive"</string>
-    <string name="hac_mode_summary" msgid="7774989500136009881">"Activați compatibilitatea cu aparatele auditive"</string>
+    <string name="hac_mode_summary" msgid="7774989500136009881">"Activează compatibilitatea cu aparatele auditive"</string>
     <string name="rtt_mode_title" msgid="3075948111362818043">"Apel de tipul Text în timp real (TTR)"</string>
-    <string name="rtt_mode_summary" msgid="8631541375609989562">"Permiteți schimbul de mesaje în timpul unui apel vocal"</string>
-    <string name="rtt_mode_more_information" msgid="587500128658756318">"TTR oferă asistență apelanților fără auz, cu deficiențe de auz, care au dizabilități de vorbire sau care au nevoie de mai mult decât de voce.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Aflați mai multe&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Apelurile RTT sunt salvate ca transcrierea unui mesaj\n       &lt;br&gt; - Serviciul TTR nu este disponibil pentru apelurile video."</string>
-    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Notă: funcția TTR nu este disponibilă când sunteți în roaming"</string>
+    <string name="rtt_mode_summary" msgid="8631541375609989562">"Permite schimbul de mesaje în timpul unui apel vocal"</string>
+    <string name="rtt_mode_more_information" msgid="587500128658756318">"TTR oferă asistență apelanților fără auz, cu deficiențe de auz, care au dizabilități de vorbire sau care au nevoie de mai mult decât de voce.&lt;br&gt; &lt;a href=<xliff:g id="URL">http://support.google.com/mobile?p=telephony_rtt</xliff:g>&gt;Află mai multe&lt;/a&gt;\n       &lt;br&gt;&lt;br&gt; - Apelurile RTT sunt salvate ca transcrierea unui mesaj\n       &lt;br&gt; - Serviciul TTR nu este disponibil pentru apelurile video."</string>
+    <string name="no_rtt_when_roaming" msgid="5268008247378355389">"Notă: funcția TTR nu este disponibilă când ești în roaming"</string>
   <string-array name="tty_mode_entries">
     <item msgid="3238070884803849303">"TTY dezactivat"</item>
     <item msgid="1449091874731375214">"TTY integral"</item>
@@ -605,32 +605,32 @@
     <item msgid="2131559553795606483">"TTY VCO"</item>
   </string-array>
     <string name="dtmf_tones_title" msgid="7874845461117175236">"Tonuri DTMF"</string>
-    <string name="dtmf_tones_summary" msgid="2294822239899471201">"Setați lungimea tonurilor DTMF"</string>
+    <string name="dtmf_tones_summary" msgid="2294822239899471201">"Setează lungimea tonurilor DTMF"</string>
   <string-array name="dtmf_tone_entries">
     <item msgid="2271798469250155310">"Normală"</item>
     <item msgid="6044210222666533564">"Lung"</item>
   </string-array>
     <string name="network_info_message" msgid="7599413947016532355">"Mesaj de rețea"</string>
     <string name="network_error_message" msgid="4271579424089326618">"Mesaj de eroare"</string>
-    <string name="ota_title_activate" msgid="4049645324841263423">"Activați-vă telefonul"</string>
-    <string name="ota_touch_activate" msgid="838764494319694754">"Pentru a vă activa serviciul de telefonie, trebuie să efectuați un apel special. \n\nDupă ce apăsați „Activați”, ascultați instrucțiunile furnizate pentru a vă activa telefonul."</string>
+    <string name="ota_title_activate" msgid="4049645324841263423">"Activează-ți telefonul"</string>
+    <string name="ota_touch_activate" msgid="838764494319694754">"Pentru a-ți activa serviciul de telefonie, trebuie să efectuezi un apel special. \n\nDupă ce apeși „Activează”, ascultă instrucțiunile furnizate pentru a-ți activa telefonul."</string>
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"Se activează..."</string>
-    <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"Serviciul de date mobile este în curs de activare pe telefonul dvs.\n\nAcest proces poate dura până la 5 minute."</string>
-    <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"Omiteți activarea?"</string>
-    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"Dacă omiteți activarea, nu puteți efectua apeluri și nici nu vă puteți conecta la o rețea de date mobilă (deși vă puteți conecta la rețele Wi-Fi). Până veți activa telefonul, vi se va solicita să-l activați de fiecare dată când îl porniți."</string>
-    <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"Omiteți"</string>
-    <string name="ota_activate" msgid="7939695753665438357">"Activați"</string>
+    <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"Serviciul de date mobile este în curs de activare pe telefonul tău.\n\nAcest proces poate dura până la 5 minute."</string>
+    <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"Omiți activarea?"</string>
+    <string name="ota_skip_activation_dialog_message" msgid="6691722887019708713">"Dacă omiți activarea, nu poți efectua apeluri și nici nu te poți conecta la o rețea de date mobilă (deși te poți conecta la rețele Wi-Fi). Până vei activa telefonul, ți se va solicita să-l activezi de fiecare dată când îl pornești."</string>
+    <string name="ota_skip_activation_dialog_skip_label" msgid="5908029466817825633">"Omite"</string>
+    <string name="ota_activate" msgid="7939695753665438357">"Activează"</string>
     <string name="ota_title_activate_success" msgid="1272135024761004889">"Telefonul este activat."</string>
     <string name="ota_title_problem_with_activation" msgid="7019745985413368726">"Problemă de activare"</string>
-    <string name="ota_listen" msgid="2772252405488894280">"Urmăriți instrucțiunile rostite până când veți auzi că activarea este finalizată."</string>
+    <string name="ota_listen" msgid="2772252405488894280">"Urmărește instrucțiunile rostite până când vei auzi că activarea este finalizată."</string>
     <string name="ota_speaker" msgid="1086766980329820528">"Difuzor"</string>
     <string name="ota_progress" msgid="8837259285255700132">"Se programează telefonul…"</string>
     <string name="ota_failure" msgid="5674217489921481576">"Telefonul nu a putut fi programat"</string>
-    <string name="ota_successful" msgid="1106825981548107774">"Telefonul dvs. este acum activat. Poate să dureze până la 15 minute până la pornirea serviciului."</string>
-    <string name="ota_unsuccessful" msgid="8531037653803955754">"Telefonul dvs. nu s-a activat. \nVă recomandăm să găsiți o zonă cu acoperire mai bună (lângă fereastră sau afară). \n\nPentru mai multe opțiuni, încercați din nou sau apelați serviciul pentru clienți."</string>
+    <string name="ota_successful" msgid="1106825981548107774">"Telefonul tău este acum activat. Poate să dureze până la 15 minute până la pornirea serviciului."</string>
+    <string name="ota_unsuccessful" msgid="8531037653803955754">"Telefonul tău nu s-a activat. \nÎți recomandăm să găsești o zonă cu acoperire mai bună (lângă fereastră sau afară). \n\nPentru mai multe opțiuni, încearcă din nou sau apelează serviciul pentru clienți."</string>
     <string name="ota_spc_failure" msgid="904092035241370080">"ERORI DE DEPĂȘIRE SPC"</string>
     <string name="ota_call_end" msgid="8657746378290737034">"Înapoi"</string>
-    <string name="ota_try_again" msgid="6914781945599998550">"Încercați din nou"</string>
+    <string name="ota_try_again" msgid="6914781945599998550">"Încearcă din nou"</string>
     <string name="ota_next" msgid="2041016619313475914">"Înainte"</string>
     <string name="ecm_exit_dialog" msgid="4200691880721429078">"EcmExitDialog"</string>
     <string name="phone_entered_ecm_text" msgid="8431238297843035842">"S-a activat modul de apelare inversă de urgență"</string>
@@ -643,7 +643,7 @@
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"Se iese din modul Apelare inversă de urgență"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"Da"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"Nu"</string>
-    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Renunțați"</string>
+    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"Renunță"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"Telefonul va fi în modul Apelare inversă de urgență"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"Până la <xliff:g id="COMPLETETIME">%s</xliff:g>"</string>
     <!-- format error in translation for alert_dialog_exit_ecm_without_data_restriction_hint (7549850847524907932) -->
@@ -657,42 +657,41 @@
     <string name="selectContact" msgid="1527612842599767382">"selectarea unei persoane din agendă"</string>
     <string name="not_voice_capable" msgid="2819996734252084253">"Apelarea vocală nu este acceptată"</string>
     <string name="description_dial_button" msgid="8614631902795087259">"apelare"</string>
-    <string name="description_dialpad_button" msgid="7395114120463883623">"afișați tastatura numerică"</string>
+    <string name="description_dialpad_button" msgid="7395114120463883623">"afișează tastatura numerică"</string>
     <string name="pane_title_emergency_dialpad" msgid="3627372514638694401">"Tastatură pentru apeluri de urgență"</string>
     <string name="voicemail_visual_voicemail_switch_title" msgid="6610414098912832120">"Mesagerie vocală vizuală"</string>
-    <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"Setați codul PIN"</string>
-    <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Schimbați codul PIN"</string>
+    <string name="voicemail_set_pin_dialog_title" msgid="7005128605986960003">"Setează codul PIN"</string>
+    <string name="voicemail_change_pin_dialog_title" msgid="4633077715231764435">"Schimbă codul PIN"</string>
     <string name="preference_category_ringtone" msgid="8787281191375434976">"Ton de apel și vibrare"</string>
     <string name="pstn_connection_service_label" msgid="9200102709997537069">"Carduri SIM încorporate"</string>
-    <string name="enable_video_calling_title" msgid="7246600931634161830">"Activați apelurile video"</string>
-    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Pentru a activa apelarea video, trebuie să activați Modul 4G LTE îmbunătățit în setările pentru rețea."</string>
+    <string name="enable_video_calling_title" msgid="7246600931634161830">"Activează apelurile video"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="7141478720386203540">"Pentru a activa apelarea video, trebuie să activezi Modul 4G LTE îmbunătățit în setările pentru rețea."</string>
     <string name="enable_video_calling_dialog_settings" msgid="8697890611305307110">"Setări de rețea"</string>
-    <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Închideți"</string>
+    <string name="enable_video_calling_dialog_close" msgid="4298929725917045270">"Închide"</string>
     <string name="sim_label_emergency_calls" msgid="9078241989421522310">"Apeluri de urgență"</string>
     <string name="sim_description_emergency_calls" msgid="5146872803938897296">"Numai apeluri de urgență"</string>
     <string name="sim_description_default" msgid="7474671114363724971">"Cardul SIM, slotul: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Accesibilitate"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Apel prin Wi-Fi de la"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Apel prin Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Atingeți din nou pentru a deschide"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"A apărut o eroare la decodificarea mesajului."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Un card SIM a activat serviciul și a actualizat funcțiile de roaming ale telefonului."</string>
-    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Prea multe apeluri active. Încheiați sau îmbinați apeluri existente înainte de a iniția unul nou."</string>
-    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Nu v-ați conectat. Inserați un card SIM valid."</string>
+    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Prea multe apeluri active. Încheie sau îmbină apeluri existente înainte de a iniția unul nou."</string>
+    <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"Nu te-ai conectat. Inserează un card SIM valid."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Conexiunea Wi-Fi s-a pierdut. Apelul a fost încheiat."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"Apelul video nu a putut fi inițiat din cauza epuizării bateriei."</string>
     <string name="callFailed_low_battery" msgid="4056828320214416182">"Apelul video s-a încheiat din cauza epuizării bateriei."</string>
     <string name="callFailed_emergency_call_over_wfc_not_available" msgid="5944309590693432042">"Apelurile de urgență inițiate prin apelarea prin Wi-Fi nu sunt disponibile în această locație."</string>
     <string name="callFailed_wfc_service_not_available_in_this_location" msgid="3624536608369524988">"Apelarea prin Wi-fi nu este disponibilă în această locație."</string>
-    <string name="change_pin_title" msgid="3564254326626797321">"Schimbați codul PIN pentru mesageria vocală"</string>
-    <string name="change_pin_continue_label" msgid="5177011752453506371">"Continuați"</string>
-    <string name="change_pin_cancel_label" msgid="2301711566758827936">"Anulați"</string>
+    <string name="change_pin_title" msgid="3564254326626797321">"Schimbă codul PIN pentru mesageria vocală"</string>
+    <string name="change_pin_continue_label" msgid="5177011752453506371">"Continuă"</string>
+    <string name="change_pin_cancel_label" msgid="2301711566758827936">"Anulează"</string>
     <string name="change_pin_ok_label" msgid="6861082678817785330">"OK"</string>
-    <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"Confirmați vechiul cod PIN"</string>
-    <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"Introduceți codul PIN pentru mesageria vocală pentru a continua."</string>
-    <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"Setați un cod PIN nou"</string>
+    <string name="change_pin_enter_old_pin_header" msgid="853151335217594829">"Confirmă vechiul cod PIN"</string>
+    <string name="change_pin_enter_old_pin_hint" msgid="8801292976275169367">"Introdu codul PIN pentru mesageria vocală pentru a continua."</string>
+    <string name="change_pin_enter_new_pin_header" msgid="4739465616733486118">"Setează un cod PIN nou"</string>
     <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"Codul PIN trebuie să aibă între <xliff:g id="MIN">%1$d</xliff:g> - <xliff:g id="MAX">%2$d</xliff:g> cifre."</string>
-    <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"Confirmați codul PIN"</string>
+    <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"Confirmă codul PIN"</string>
     <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"Codurile PIN nu corespund"</string>
     <string name="change_pin_succeeded" msgid="2504705600693014403">"Codul PIN pentru mesageria vocală a fost actualizat"</string>
     <string name="change_pin_system_error" msgid="7772788809875146873">"Nu s-a putut seta codul PIN"</string>
@@ -700,21 +699,21 @@
     <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"Roamingul de date este activat."</string>
     <string name="mobile_data_status_roaming_without_plan_subtext" msgid="6536671968072284677">"În prezent, se folosește roaming. Este necesar un abonament de date."</string>
     <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"În prezent, se folosește roaming. Abonamentul de date este activ."</string>
-    <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"Ați epuizat abonamentul de date mobile."</string>
-    <string name="mobile_data_activate_prepaid" msgid="4276738964416795596">"Ați epuizat abonamentul de date mobile."</string>
-    <string name="mobile_data_activate_prepaid_summary" msgid="6846085278531605925">"Adăugați date mobile prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"Ai epuizat abonamentul de date mobile."</string>
+    <string name="mobile_data_activate_prepaid" msgid="4276738964416795596">"Ai epuizat abonamentul de date mobile."</string>
+    <string name="mobile_data_activate_prepaid_summary" msgid="6846085278531605925">"Adaugă date mobile prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
     <string name="mobile_data_activate_roaming_plan" msgid="922290995866269366">"Niciun abonament de roaming"</string>
-    <string name="mobile_data_activate_roaming_plan_summary" msgid="5379228493306235969">"Adăugați un abonament de roaming prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
-    <string name="mobile_data_activate_footer" msgid="7895874069807204548">"Puteți adăuga un abonament de date mobile sau de roaming prin operatorul dvs., <xliff:g id="PROVIDER_NAME">%s</xliff:g>."</string>
-    <string name="mobile_data_activate_diag_title" msgid="5401741936224757312">"Adăugați date?"</string>
-    <string name="mobile_data_activate_diag_message" msgid="3527260988020415441">"Poate fi necesar să adăugați date prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
-    <string name="mobile_data_activate_button" msgid="1139792516354374612">"ADĂUGAȚI DATE"</string>
-    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ANULAȚI"</string>
+    <string name="mobile_data_activate_roaming_plan_summary" msgid="5379228493306235969">"Adaugă un abonament de roaming prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="mobile_data_activate_footer" msgid="7895874069807204548">"Poți adăuga un abonament de date mobile sau de roaming prin operatorul tău, <xliff:g id="PROVIDER_NAME">%s</xliff:g>."</string>
+    <string name="mobile_data_activate_diag_title" msgid="5401741936224757312">"Adaugi date?"</string>
+    <string name="mobile_data_activate_diag_message" msgid="3527260988020415441">"Poate fi necesar să adaugi date prin <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="mobile_data_activate_button" msgid="1139792516354374612">"ADAUGĂ DATE"</string>
+    <string name="mobile_data_activate_cancel_button" msgid="3530174817572005860">"ANULEAZĂ"</string>
     <string name="clh_card_title_call_ended_txt" msgid="5977978317527299698">"Apel încheiat"</string>
     <string name="clh_callFailed_powerOff_txt" msgid="8279934912560765361">"Modul Avion este activat"</string>
     <string name="clh_callFailed_simError_txt" msgid="5128538525762326413">"Nu se poate accesa cardul SIM"</string>
     <string name="clh_incall_error_out_of_service_txt" msgid="2736010617446749869">"Rețeaua mobilă nu este disponibilă"</string>
-    <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"A apărut o problemă legată de numărul de telefon pe care încercați să-l apelați. Cod de eroare 1."</string>
+    <string name="clh_callFailed_unassigned_number_txt" msgid="141967660286695682">"A apărut o problemă legată de numărul de telefon pe care încerci să-l apelezi. Cod de eroare 1."</string>
     <string name="clh_callFailed_no_route_to_destination_txt" msgid="4805015149822352308">"Nu s-a finalizat apelul. Cod de eroare 3."</string>
     <string name="clh_callFailed_channel_unacceptable_txt" msgid="4062754579408613021">"Nu s-a finalizat apelul. Cod de eroare 6."</string>
     <string name="clh_callFailed_operator_determined_barring_txt" msgid="4202077821465974286">"Nu s-a finalizat apelul. Cod de eroare 8."</string>
@@ -767,36 +766,36 @@
     <string name="sum_call_barring_enabled" msgid="5184331188926370824">"Activat"</string>
     <string name="sum_call_barring_disabled" msgid="5699448000600153096">"Dezactivat"</string>
     <string name="call_barring_baoc" msgid="7400892586336429326">"Toate apelurile efectuate"</string>
-    <string name="call_barring_baoc_enabled" msgid="3131509193386668182">"Dezactivați blocarea tuturor apelurilor efectuate?"</string>
-    <string name="call_barring_baoc_disabled" msgid="8534224684091141509">"Blocați toate apelurile efectuate?"</string>
+    <string name="call_barring_baoc_enabled" msgid="3131509193386668182">"Dezactivezi blocarea tuturor apelurilor efectuate?"</string>
+    <string name="call_barring_baoc_disabled" msgid="8534224684091141509">"Blochezi toate apelurile efectuate?"</string>
     <string name="call_barring_baoic" msgid="8668125428666851665">"Apeluri internaționale efectuate"</string>
-    <string name="call_barring_baoic_enabled" msgid="1203758092657630123">"Dezactivați blocarea apelurilor internaționale efectuate?"</string>
-    <string name="call_barring_baoic_disabled" msgid="5656889339002997449">"Blocați apelurile internaționale efectuate?"</string>
+    <string name="call_barring_baoic_enabled" msgid="1203758092657630123">"Dezactivezi blocarea apelurilor internaționale efectuate?"</string>
+    <string name="call_barring_baoic_disabled" msgid="5656889339002997449">"Blochezi apelurile internaționale efectuate?"</string>
     <string name="call_barring_baoicr" msgid="8566167764432343487">"Roaming pentru apeluri internaționale efectuate"</string>
-    <string name="call_barring_baoicr_enabled" msgid="1615324165512798478">"Dezactivați blocarea apelurilor internaționale efectuate prin roaming?"</string>
-    <string name="call_barring_baoicr_disabled" msgid="172010175248142831">"Blocați apelurile internaționale efectuate prin roaming?"</string>
+    <string name="call_barring_baoicr_enabled" msgid="1615324165512798478">"Dezactivezi blocarea apelurilor internaționale efectuate prin roaming?"</string>
+    <string name="call_barring_baoicr_disabled" msgid="172010175248142831">"Blochează apelurile internaționale efectuate prin roaming?"</string>
     <string name="call_barring_baic" msgid="7941393541678658566">"Toate primite"</string>
-    <string name="call_barring_baic_enabled" msgid="4357332358020337470">"Dezactivați blocarea tuturor apelurilor primite?"</string>
-    <string name="call_barring_baic_disabled" msgid="2355945245938240958">"Blocați toate apelurile primite?"</string>
+    <string name="call_barring_baic_enabled" msgid="4357332358020337470">"Dezactivezi blocarea tuturor apelurilor primite?"</string>
+    <string name="call_barring_baic_disabled" msgid="2355945245938240958">"Blochezi toate apelurile primite?"</string>
     <string name="call_barring_baicr" msgid="8712249337313034226">"Roaming pentru apeluri internaționale primite"</string>
-    <string name="call_barring_baicr_enabled" msgid="64774270234828175">"Dezactivați blocarea toate apelurile internaționale primite prin roaming?"</string>
-    <string name="call_barring_baicr_disabled" msgid="3488129262744027262">"Blocați roamingul pentru apeluri internaționale primite?"</string>
-    <string name="call_barring_deactivate_all" msgid="7837931580047157328">"Dezactivați tot"</string>
-    <string name="call_barring_deactivate_all_description" msgid="4474119585042121604">"Dezactivați toate setările de restricționare a apelurilor"</string>
+    <string name="call_barring_baicr_enabled" msgid="64774270234828175">"Dezactivezi blocarea tuturor apelurilor internaționale primite prin roaming?"</string>
+    <string name="call_barring_baicr_disabled" msgid="3488129262744027262">"Blochează roamingul pentru apeluri internaționale primite?"</string>
+    <string name="call_barring_deactivate_all" msgid="7837931580047157328">"Dezactivează tot"</string>
+    <string name="call_barring_deactivate_all_description" msgid="4474119585042121604">"Dezactivează toate setările de restricționare a apelurilor"</string>
     <string name="call_barring_deactivate_success" msgid="3545644320298275337">"Restricționarea apelurilor este dezactivată"</string>
-    <string name="call_barring_change_pwd" msgid="1730691950940338387">"Schimbați parola"</string>
-    <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Schimbați parola pentru restricționarea apelurilor"</string>
+    <string name="call_barring_change_pwd" msgid="1730691950940338387">"Schimbă parola"</string>
+    <string name="call_barring_change_pwd_description" msgid="1274245130382054227">"Schimbă parola pentru restricționarea apelurilor"</string>
     <string name="call_barring_change_pwd_description_disabled" msgid="2911647051915343920">"Nu se poate schimba parola pentru restricționarea apelurilor"</string>
     <string name="call_barring_pwd_not_match" msgid="7638198747579019826">"Parolele nu se potrivesc"</string>
-    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Introduceți o parolă cu 4 cifre"</string>
+    <string name="call_barring_right_pwd_number" msgid="3860630926460851330">"Introdu o parolă cu 4 cifre"</string>
     <string name="call_barring_change_pwd_success" msgid="1837437691277936903">"Parola a fost modificată"</string>
     <string name="call_barring_old_pwd" msgid="5500085633281388281">"Parolă veche"</string>
     <string name="call_barring_new_pwd" msgid="2515524903813227732">"Parolă nouă"</string>
-    <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmați parola"</string>
-    <string name="messageCallBarring" msgid="5537730400652466912">"Introduceți parola"</string>
+    <string name="call_barring_confirm_pwd" msgid="7552526161616461858">"Confirmă parola"</string>
+    <string name="messageCallBarring" msgid="5537730400652466912">"Introdu parola"</string>
     <string name="call_barring_settings" msgid="4616607285790258919">"Setări de restricționare a apelurilor"</string>
-    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Rețeaua este ocupată. Încercați să apelați din nou mai târziu."</string>
-    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Rețeaua este aglomerată. Contactați operatorul de telefonie mobilă pentru a cere asistență."</string>
+    <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"Rețeaua este ocupată. Încearcă să apelezi din nou mai târziu."</string>
+    <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"Rețeaua este aglomerată. Contactează operatorul de telefonie mobilă pentru a cere asistență."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"Apelul a fost deviat."</string>
     <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"Apelul a fost redirecționat."</string>
     <string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"Apelul este în așteptare."</string>
@@ -812,34 +811,35 @@
     <string name="supp_service_call_resumed" msgid="3786864005920743546">"S-a reluat apelul."</string>
     <string name="supp_service_deflected_call" msgid="7565979024562921707">"Apelul a fost deviat."</string>
     <string name="supp_service_forwarded_call" msgid="6475776013771821457">"Apel redirecționat"</string>
-    <string name="supp_service_conference_call" msgid="4004193534408317148">"Vă conectați la conferința telefonică."</string>
+    <string name="supp_service_conference_call" msgid="4004193534408317148">"Te conectezi la conferința telefonică."</string>
     <string name="supp_service_held_call_released" msgid="2847835124639112410">"Apelul în așteptare a fost deconectat."</string>
     <string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"Nu se poate iniția un apel, deoarece, momentan, are loc provizionarea dispozitivului."</string>
     <string name="callFailed_already_dialing" msgid="7250591188960691086">"Nu se poate iniția un apel când se efectuează deja alt apel."</string>
-    <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nu se poate iniția un apel când primiți un apel la care nu ați răspuns. Răspundeți sau respingeți apelul primit înainte de a iniția un apel nou."</string>
+    <string name="callFailed_already_ringing" msgid="2376603543544289303">"Nu se poate iniția un apel când primești un apel la care nu ai răspuns. Răspunde sau respinge apelul primit înainte de a iniția un apel nou."</string>
     <string name="callFailed_calling_disabled" msgid="5010992739401206283">"Nu se poate iniția un apel deoarece apelarea a fost dezactivată folosindu-se funcția de sistem ro.telephony.disable-call."</string>
-    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nu se poate iniția un apel când există deja două apeluri în desfășurare. Deconectați unul dintre ele sau îmbinați-le într-o conferință înainte de a iniția un apel nou."</string>
-    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile trebuie să fie activate. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Puteți modifica acest lucru în setările rețelei mobile."</string>
-    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Închideți"</string>
-    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activați conexiunea de date"</string>
-    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Dezactivați conexiunea de date"</string>
+    <string name="callFailed_too_many_calls" msgid="2761754044990799580">"Nu se poate iniția un apel când există deja două apeluri în desfășurare. Deconectează unul dintre ele sau îmbină-le într-o conferință înainte de a iniția un apel nou."</string>
+    <string name="supp_service_over_ut_precautions" msgid="2145018231396701311">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile trebuie să fie activate. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"Pentru a folosi <xliff:g id="SUPP_SERVICE">%1$s</xliff:g>, datele mobile și roamingul de date trebuie să fie activate pentru cardul SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g>. Poți modifica acest lucru în setările rețelei mobile."</string>
+    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"Închide"</string>
+    <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"Activează conexiunea de date"</string>
+    <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"Dezactivează conexiunea de date"</string>
     <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"Oferit de VoLTE"</string>
     <string name="vt_provisioned_switch_string" msgid="8295542122512195979">"Apelarea video este configurată"</string>
     <string name="wfc_provisioned_switch_string" msgid="3835004640321078988">"Apelarea prin Wi-Fi este configurată"</string>
     <string name="eab_provisioned_switch_string" msgid="4449676720736033035">"Setări configurate pentru EAB/prezență"</string>
     <string name="cbrs_data_switch_string" msgid="6060356430838077653">"Date CBRS"</string>
-    <string name="dsds_switch_string" msgid="7564769822086764796">"Activați DSDS"</string>
-    <string name="dsds_dialog_title" msgid="8494569893941847575">"Reporniți dispozitivul?"</string>
-    <string name="dsds_dialog_message" msgid="4047480385678538850">"Trebuie să reporniți dispozitivul pentru a modifica setarea."</string>
-    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reporniți"</string>
-    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anulați"</string>
+    <string name="dsds_switch_string" msgid="7564769822086764796">"Activează DSDS"</string>
+    <string name="dsds_dialog_title" msgid="8494569893941847575">"Repornești dispozitivul?"</string>
+    <string name="dsds_dialog_message" msgid="4047480385678538850">"Trebuie să repornești dispozitivul pentru a modifica setarea."</string>
+    <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Repornește"</string>
+    <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anulează"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Setează cartela eSIM portabilă drept prestabilită"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Alimentare radio celular"</string>
-    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afișați agenda de pe SIM"</string>
-    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afișați numerele pentru apeluri restricționate"</string>
-    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Vedeți numere de apelare de serviciu"</string>
+    <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Afișează agenda de pe SIM"</string>
+    <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Afișează numerele pentru apeluri restricționate"</string>
+    <string name="radioInfo_menu_viewSDN" msgid="2613431584522392842">"Vezi numere de apelare de serviciu"</string>
     <string name="radioInfo_menu_getIMS" msgid="1950869267853198232">"Starea serviciului IMS"</string>
     <string name="radio_info_ims_reg_status_title" msgid="6875885401313992007">"Stare IMS"</string>
     <string name="radio_info_ims_reg_status_registered" msgid="7095182114078864326">"Înregistrat"</string>
@@ -887,36 +887,36 @@
     <string name="radio_info_ppp_sent_label" msgid="6542208429356199695">"Date trimise:"</string>
     <string name="radio_info_message_waiting_label" msgid="1886549432566952078">"Mesaj în așteptare:"</string>
     <string name="radio_info_phone_number_label" msgid="2533852539562512203">"Număr de telefon:"</string>
-    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Selectați banda radio"</string>
+    <string name="radio_info_band_mode_label" msgid="23480556225515290">"Selectează banda radio"</string>
     <string name="radio_info_voice_network_type_label" msgid="2395347336419593265">"Tipul rețelei de voce:"</string>
     <string name="radio_info_data_network_type_label" msgid="8886597029237501929">"Tipul rețelei de date:"</string>
-    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Modificați tipul de rețea:"</string>
-    <string name="phone_index_label" msgid="6222406512768964268">"Selectați indexul telefonului"</string>
+    <string name="radio_info_override_network_type_label" msgid="4176280017221092005">"Modifică tipul de rețea:"</string>
+    <string name="phone_index_label" msgid="6222406512768964268">"Selectează indexul telefonului"</string>
     <string name="radio_info_set_perferred_label" msgid="7408131389363136210">"Setați tipul preferat de rețea:"</string>
-    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Dați ping adresei IPv4 a numelui de gazdă (www.google.com):"</string>
-    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Dați ping adresei IPv6 a numelui de gazdă (www.google.com):"</string>
+    <string name="radio_info_ping_hostname_v4" msgid="6951237885381284790">"Dă ping adresei IPv4 a numelui de gazdă (www.google.com):"</string>
+    <string name="radio_info_ping_hostname_v6" msgid="2748637889486554603">"Dă ping adresei IPv6 a numelui de gazdă (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="1329583721088428238">"Test client HTTP:"</string>
-    <string name="ping_test_label" msgid="448617502935719694">"Efectuați testul de ping"</string>
+    <string name="ping_test_label" msgid="448617502935719694">"Efectuează testul de ping"</string>
     <string name="radio_info_smsc_label" msgid="3749927072726033763">"SMSC:"</string>
-    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualizați"</string>
-    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualizați"</string>
-    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activați/dezactivați verificarea DNS"</string>
+    <string name="radio_info_smsc_update_label" msgid="5141996256097115753">"Actualizează"</string>
+    <string name="radio_info_smsc_refresh_label" msgid="8409923721451604560">"Actualizează"</string>
+    <string name="radio_info_toggle_dns_check_label" msgid="1394078554927787350">"Activează/dezactivează verificarea DNS"</string>
     <string name="oem_radio_info_label" msgid="2914167475119997456">"Informații/Setări caracteristice OEM"</string>
     <string name="radio_info_endc_available" msgid="2983767110681230019">"Disponibil EN-DC (NSA):"</string>
     <string name="radio_info_dcnr_restricted" msgid="7147511536420148173">"Restricționat DCNR (NSA):"</string>
     <string name="radio_info_nr_available" msgid="3383388088451237182">"Disponibil NR (NSA):"</string>
     <string name="radio_info_nr_state" msgid="4158805093187555149">"Stare NR (NSA):"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecvență NR:"</string>
-    <string name="band_mode_title" msgid="7988822920724576842">"Setați Modul bandă radio"</string>
+    <string name="band_mode_title" msgid="7988822920724576842">"Setează Modul bandă radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Se încarcă lista de benzi…"</string>
-    <string name="band_mode_set" msgid="6657819412803771421">"Setați"</string>
+    <string name="band_mode_set" msgid="6657819412803771421">"Setează"</string>
     <string name="band_mode_failed" msgid="1707488541847192924">"Nereușit"</string>
     <string name="band_mode_succeeded" msgid="2230018000534761063">"Reușit"</string>
     <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"Informații tabletă"</string>
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"Informații despre telefon"</string>
     <string name="carrier_provisioning" msgid="2668065041869578376">"Informații despre provizionarea operatorului"</string>
-    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Declanșați provizionarea operatorului"</string>
-    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Semnalul Bluetooth este slab. Încercați să folosiți difuzorul."</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Declanșează provizionarea operatorului"</string>
+    <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Semnalul Bluetooth este slab. Încearcă să folosești difuzorul."</string>
     <string name="call_quality_notification_name" msgid="3476828289553948830">"Notificare privind calitatea apelului"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"Conturi SIP învechite"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index f6636b1..bf0a56d 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Специальные возможности"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Вызов по Wi-Fi от"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi-звонок"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Чтобы открыть, нажмите ещё раз"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"При расшифровке сообщения произошла ошибка."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"В вашем телефоне уже настроен роуминг и активирована SIM-карта."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Слишком много активных вызовов. Чтобы выполнить новый вызов, завершите или объедините существующие."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Чтобы изменить эту настройку, перезапустите устройство."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Перезапустить"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Отмена"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Установить съемную eSIM-карту в качестве используемой по умолчанию"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Мощность радиосигнала"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Посмотреть адресную книгу на SIM-карте"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Список разрешенных номеров"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index b61e5f9..afd0abf 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ප්‍රවේශ්‍යතාව"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"වෙතින් Wi-Fi ඇමතුම"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi ඇමතුම"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"විවෘත කිරීමට නැවත තට්ටු කරන්න"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"පණිවිඩය විකේතනය කරන අතරතුර දෝෂයක් සිදු විය."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM කාඩ්පතක් ඔබේ සේවාව සක්‍රිය කර ඔබේ දුරකථනයේ රෝමිං හැකියා යාවත්කාලීන කර තිබේ."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"සක්‍රිය ඇමතුම් ඉතා විශාල ගණනක් ඇත. කරුණාකර නව ඇමතුමක් ගැනීමට පෙර පවතින ඇමතුම් අවසන් හෝ ඒකාබද්ධ කරන්න."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"මෙම සැකසීම වෙනස් කිරීමට ඔබ ඔබේ උපාංගය යළි ඇරඹීමට අවශ්‍යයි."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"යළි අරඹන්න"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"අවලංගු කරන්න"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"ඉවත් කළ හැකි eSIM පෙරනිමිය ලෙස සකසන්න"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"ජංගම රේඩියෝ බලය"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM ලිපින පොත බලන්න"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ස්ථාවර ඇමතුම් අංක පෙන්වන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 58c11e8..167d6a9 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Dostupnosť"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Hovor cez Wi‑Fi od:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Hovor cez Wi‑Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Otvoríte opätovným klepnutím"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Pri dekódovaní správy sa vyskytla chyba"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM karta aktivovala vašu službu a aktualizovala možnosti roamingu vášho telefónu"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Prebieha príliš veľa aktívnych hovorov. Skôr ako uskutočníte nový hovor, ukončite existujúce hovory alebo ich zlúčte."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Ak chcete zmeniť nastavenie, musíte reštartovať zariadenie."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Reštartovať"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Zrušiť"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nastaviť odoberateľnú eSIM kartu ako predvolenú"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Sila signálu GSM"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Zobraziť adresár SIM karty"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Zobraziť povolené čísla"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 8a663fe..ec82d5f 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Funkcije za ljudi s posebnimi potrebami"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Klic prek Wi-Fi-ja osebe"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Klic Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Znova se dotaknite, če želite odpreti"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Napaka pri dekodiranju sporočila."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Kartica SIM je aktivirala vašo storitev in posodobila zmožnosti telefona za gostovanje."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Preveč aktivnih klicev. Preden začnete nov klic, končajte ali združite obstoječe klice."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Če želite spremeniti to nastavitev, znova zaženite napravo."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Vnovičen zagon"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Prekliči"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Nastavi izmenljivo kartico e-SIM kot privzeto"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Moč radia mobilne naprave"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Prikaži imenik na kartici SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Prikaži številke za zaporo odhodnih klicev"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 405f7c7..2aec8a7 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Qasshmëria"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Telefonatë Wi-Fi nga"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Telefonatë me Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Trokit përsëri për ta hapur"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ndodhi një gabim gjatë dekodimit të mesazhit."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Një kartë SIM ka aktivizuar shërbimin tënd dhe ka përditësuar aftësitë e roaming-ut të telefonit tënd."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Ka shumë thirrje aktive. Përfundo ose të bashko thirrjet ekzistuese para kryerjes së një thirrjeje të re."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Duhet të rinisësh pajisjen tënde për të ndryshuar këtë cilësim."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Rinis"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Anulo"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Caktoje kartën e lëvizshme eSIM si të parazgjedhur"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Fuqia e radios së rrjetit celular"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Shiko librin e adresave të kartës SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Shiko numrat me telefonim të përzgjedhur"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 003a6be..5a494ec 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Приступачност"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WiFi позив од"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WiFi позив"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Додирните поново да бисте отворили"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Дошло је до грешке при декодирању поруке."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM картица је активирала услугу и ажурирала функције роминга на телефону."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Има превише активних позива. Завршите или обједините постојеће позиве пре него што упутите нови."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Треба да рестартујте уређај да бисте променили ово подешавање."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Рестартуј"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Откажи"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Подеси преносиви eSIM као подразумевани"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Напајање за радио на мобилним уређајима"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Прикажи адресар SIM-а"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Прикажи бројеве за фиксно бирање"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index adb8482..96dc41c 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Tillgänglighet"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"wifi-samtal från"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"wifi-samtal"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Tryck igen för att öppna"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Ett fel inträffade när meddelandet avkodades."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Ett SIM-kort har använts för att aktivera tjänsten och uppdatera roamingfunktionerna i mobilen."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Det finns för många aktiva samtal. Avsluta eller slå samman pågående samtal innan du ringer ett nytt."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Du måste starta om enheten för att ändra den här inställningen."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Starta om"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Avbryt"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Ställ in Flyttbart eSIM som standard"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Strömförsörjning för mobilradio"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Visa SIM-adressbok"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Visa Fasta nummer"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b38ebe3..202381f 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Zana za ufikivu"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Simu ya Wi-Fi kutoka kwa"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Simu ya Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Gusa tena ili ufungue"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Hitilafu imetokea wakati wa usimbuaji wa ujumbe."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM kadi yako imeanzisha huduma yako na kusasisha uwezo wa simu yako wa kutumia mitandao mingine."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Kuna simu nyingi mno zinazoendelea. Tafadhali kata au uunganishe simu zinazoendelea kabla hujapiga nyingine."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Unahitaji kuzima kifaa chako na ukiwashe tena ili ubadilishe mipangilio hii."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Zima kisha uwashe"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Ghairi"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Weka eSIM Inayoweza Kuondolewa kama Chaguomsingi"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Nishati ya Redio ya Vifaa vya Mkononi"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Angalia Kitabu cha Anwani katika SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ona Nambari za Simu Zilizobainishwa"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 4fc4b3f..70276be 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"அணுகல் தன்மை"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"வைஃபை அழைப்பு:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"வைஃபை அழைப்பு"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"திறக்க, மீண்டும் தட்டவும்"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"செய்தியைக் குறிவிலக்கும்போது பிழை ஏற்பட்டது."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ஏற்கனவே சிம் கார்டைப் பயன்படுத்தி சேவை இயக்கப்பட்டது மற்றும் மொபைலின் ரோமிங் செயல்திறன்கள் புதுப்பிக்கப்பட்டன."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"மிகவும் அதிக அளவிலான அழைப்புகள் செயலில் உள்ளன. புதிய அழைப்பை மேற்கொள்ளும் முன், ஏற்கனவேயுள்ள அழைப்புகளைத் துண்டிக்கவும் அல்லது ஒன்றாகப் பிணைக்கவும்."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"இந்த அமைப்பை மாற்ற சாதனத்தை மீண்டும் தொடங்க வேண்டும்."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"மீண்டும் தொடங்கு"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ரத்துசெய்"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"அகற்றக்கூடிய eSIMமை இயல்பாக அமை"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"மொபைல் ரேடியோ பவர்"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"சிம் முகவரிப் புத்தகத்தைக் காட்டு"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"நிலையான அழைப்பு எண்களைக் காட்டு"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 546c977..9837f72 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -47,12 +47,12 @@
     <string name="no_vm_number" msgid="6623853880546176930">"వాయిస్ మెయిల్ నంబర్ లేదు"</string>
     <string name="no_vm_number_msg" msgid="5165161462411372504">"సిమ్ కార్డులో వాయిస్ మెయిల్ నంబర్ ఏదీ నిల్వ చేయబడలేదు."</string>
     <string name="add_vm_number_str" msgid="7368168964435881637">"నంబర్‌ను జోడించు"</string>
-    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"వాయిస్ మెయిల్ సెట్టింగ్‌లను ప్రాథమిక వినియోగదారు మాత్రమే సవరించగలరు."</string>
+    <string name="voice_number_setting_primary_user_only" msgid="3394706575741912843">"వాయిస్ మెయిల్ సెట్టింగ్‌లను ప్రాథమిక వినియోగదారు మాత్రమే ఎడిట్ చేయగలరు."</string>
     <string name="puk_unlocked" msgid="4627340655215746511">"మీ SIM కార్డు అన్‌బ్లాక్ చేయబడింది. మీ ఫోన్ అన్‌లాక్ చేయబడుతోంది…"</string>
     <string name="label_ndp" msgid="7617392683877410341">"SIM నెట్‌వర్క్ అన్‌లాక్ పిన్‌"</string>
     <string name="label_phoneid" msgid="8775611434123577808">"ఈ ఆపరేటర్‌కు సంబంధించి SIM లాక్ చేయబడింది"</string>
     <string name="sim_ndp_unlock_text" msgid="7737338355451978338">"అన్‌లాక్ చేయి"</string>
-    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"తీసివేయి"</string>
+    <string name="sim_ndp_dismiss_text" msgid="89667342248929777">"తీసివేయండి"</string>
     <string name="requesting_unlock" msgid="930512210309437741">"నెట్‌వర్క్ అన్‌లాక్‌ను అభ్యర్థిస్తోంది…"</string>
     <string name="unlock_failed" msgid="7103543844840661366">"నెట్‌వర్క్ అన్‌లాక్ రిక్వెస్ట్‌ విఫలమైంది."</string>
     <string name="unlock_success" msgid="32681089371067565">"నెట్‌వర్క్ అన్‌లాక్ విజయవంతమైంది."</string>
@@ -105,23 +105,23 @@
     <string name="labelCF" msgid="3578719437928476078">"కాల్ ఫార్వార్డింగ్"</string>
     <string name="labelCFU" msgid="8870170873036279706">"ఎల్లప్పుడూ ఫార్వర్డ్ చేయి"</string>
     <string name="messageCFU" msgid="1361806450979589744">"ఎల్లప్పుడూ ఈ నంబర్‌ను ఉపయోగించు"</string>
-    <string name="sum_cfu_enabled_indicator" msgid="9030139213402432776">"అన్ని కాల్స్‌ను ఫార్వార్డ్ చేస్తోంది"</string>
-    <string name="sum_cfu_enabled" msgid="5806923046528144526">"అన్ని కాల్స్‌ను <xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfu_enabled_indicator" msgid="9030139213402432776">"అన్ని కాల్స్‌ను ఫార్వర్డ్ చేస్తోంది"</string>
+    <string name="sum_cfu_enabled" msgid="5806923046528144526">"అన్ని కాల్స్‌ను <xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfu_enabled_no_number" msgid="7287752761743377930">"నంబర్ అందుబాటులో లేదు"</string>
     <string name="sum_cfu_disabled" msgid="5010617134210809853">"ఆఫ్‌లో ఉంది"</string>
     <string name="labelCFB" msgid="615265213360512768">"బిజీగా ఉన్నప్పుడు"</string>
     <string name="messageCFB" msgid="1958017270393563388">"బిజీగా ఉన్నప్పుడు ఫార్వర్డ్ చేయాల్సిన నంబర్"</string>
-    <string name="sum_cfb_enabled" msgid="332037613072049492">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfb_enabled" msgid="332037613072049492">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfb_disabled" msgid="3589913334164866035">"ఆఫ్‌లో ఉంది"</string>
     <string name="disable_cfb_forbidden" msgid="4831494744351633961">"మీ ఫోన్ బిజీగా ఉన్నప్పుడు కాల్ ఫార్వర్డింగ్‌ను నిలిపివేయడానికి మీ ఆపరేటర్ మద్దతు ఇవ్వరు."</string>
     <string name="labelCFNRy" msgid="3403533792248457946">"సమాధానం ఇవ్వనప్పుడు"</string>
     <string name="messageCFNRy" msgid="7644434155765359009">"సమాధానం ఇవ్వనప్పుడు నంబర్"</string>
-    <string name="sum_cfnry_enabled" msgid="3000500837493854799">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfnry_enabled" msgid="3000500837493854799">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfnry_disabled" msgid="1990563512406017880">"ఆఫ్‌లో ఉంది"</string>
     <string name="disable_cfnry_forbidden" msgid="3174731413216550689">"మీ ఫోన్ సమాధానం ఇవ్వలేనప్పుడు కాల్ ఫార్వర్డింగ్‌ను నిలిపివేయడానికి మీ ఆపరేటర్ మద్దతు ఇవ్వరు."</string>
     <string name="labelCFNRc" msgid="4163399350778066013">"చేరుకోలేనప్పుడు"</string>
     <string name="messageCFNRc" msgid="6980340731313007250">"చేరుకోవడం సాధ్యపడనప్పుడు నంబర్"</string>
-    <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వార్డ్ చేస్తోంది"</string>
+    <string name="sum_cfnrc_enabled" msgid="1799069234006073477">"<xliff:g id="PHONENUMBER">{0}</xliff:g>కి ఫార్వర్డ్ చేస్తోంది"</string>
     <string name="sum_cfnrc_disabled" msgid="739289696796917683">"ఆఫ్‌లో ఉంది"</string>
     <string name="disable_cfnrc_forbidden" msgid="775348748084726890">"మీ ఫోన్‌ను చేరుకోవడం సాధ్యపడనప్పుడు కాల్ ఫార్వర్డింగ్‌ను నిలిపివేయడానికి మీ క్యారియర్ మద్దతు ఇవ్వదు."</string>
     <string name="registration_cf_forbidden" msgid="4386482610771190420">"కాల్ ఫార్వర్డింగ్‌ను మీ క్యారియర్ సపోర్ట్ చేయదు."</string>
@@ -145,7 +145,7 @@
     <string name="stk_cc_ss_to_ss_error" msgid="8297155544652134278">"కొత్త SS రిక్వెస్ట్‌కు మార్చబడింది"</string>
     <string name="stk_cc_ss_to_dial_video_error" msgid="4255261231466032505">"SS రిక్వెస్ట్‌ వీడియో కాల్‌కి మార్చబడింది"</string>
     <string name="fdn_check_failure" msgid="1833769746374185247">"మీ ఫోన్ యాప్‌ యొక్క ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ల సెట్టింగ్ ప్రారంభించబడింది. తత్ఫలితంగా, కాల్ సంబంధిత లక్షణాల్లో కొన్ని పని చేయడం లేదు."</string>
-    <string name="radio_off_error" msgid="8321564164914232181">"ఈ సెట్టింగ్‌లను వీక్షించడానికి ముందు రేడియోను ప్రారంభించండి."</string>
+    <string name="radio_off_error" msgid="8321564164914232181">"ఈ సెట్టింగ్‌లను చూడటానికి ముందు రేడియోను ప్రారంభించండి."</string>
     <string name="close_dialog" msgid="1074977476136119408">"సరే"</string>
     <string name="enable" msgid="2636552299455477603">"ఆన్ చేయి"</string>
     <string name="disable" msgid="1122698860799462116">"ఆఫ్ చేయి"</string>
@@ -167,7 +167,7 @@
     <string name="vm_change_pin_progress_message" msgid="626015184502739044">"దయచేసి వేచి ఉండండి."</string>
     <string name="vm_change_pin_error_too_short" msgid="1789139338449945483">"కొత్త PIN చాలా చిన్నదిగా ఉంది."</string>
     <string name="vm_change_pin_error_too_long" msgid="3634907034310018954">"కొత్త PIN చాలా పొడవు ఉంది."</string>
-    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"కొత్త PIN చాలా బలహీనంగా ఉంది. శక్తివంతమైన పాస్‌వర్డ్‌లో వరుస శ్రేణిలో అక్షరాలు/అంకెలు లేదా పునరావృత అంకెలు ఉండకూడదు."</string>
+    <string name="vm_change_pin_error_too_weak" msgid="8581892952627885719">"కొత్త PIN చాలా బలహీనంగా ఉంది. శక్తివంతమైన పాస్‌వర్డ్‌లో వరుస శ్రేణిలో అక్షరాలు/అంకెలు లేదా రిపీట్ అంకెలు ఉండకూడదు."</string>
     <string name="vm_change_pin_error_mismatch" msgid="5364847280026257331">"పాత PIN సరిపోలలేదు."</string>
     <string name="vm_change_pin_error_invalid" msgid="5230002671175580674">"కొత్త PIN చెల్లని అక్షరాలను కలిగి ఉంది."</string>
     <string name="vm_change_pin_error_system_error" msgid="9116483527909681791">"PINని మార్చడం సాధ్యపడలేదు"</string>
@@ -279,7 +279,7 @@
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:1 (5262249464504131443) -->
     <!-- no translation found for enhanced_4g_lte_mode_sumary_variant:2 (6356974241850241718) -->
     <string name="data_enabled" msgid="22525832097434368">"డేటా ప్రారంభించబడింది"</string>
-    <string name="data_enable_summary" msgid="696860063456536557">"డేటా వినియోగాన్ని అనుమతించు"</string>
+    <string name="data_enable_summary" msgid="696860063456536557">"డేటా వినియోగాన్ని అనుమతించండి"</string>
     <string name="dialog_alert_title" msgid="5260471806940268478">"హెచ్చరిక"</string>
     <string name="roaming" msgid="1576180772877858949">"రోమింగ్"</string>
     <string name="roaming_enable" msgid="6853685214521494819">"రోమింగ్‌లో ఉన్నప్పుడు డేటా సర్వీసులకు కనెక్ట్ చేయండి"</string>
@@ -305,7 +305,7 @@
     <string name="carrier_settings_euicc_summary" msgid="2027941166597330117">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> — <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>"</string>
     <string name="mobile_data_settings_title" msgid="7228249980933944101">"మొబైల్ డేటా"</string>
     <string name="mobile_data_settings_summary" msgid="5012570152029118471">"మొబైల్ నెట్‌వర్క్‌ను ఉపయోగించి డేటాను యాక్సెస్ చేయండి"</string>
-    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"మొబైల్ డేటాని ఆఫ్ చేయాలా?"</string>
+    <string name="data_usage_disable_mobile" msgid="5669109209055988308">"మొబైల్ డేటాను ఆఫ్ చేయాలా?"</string>
     <string name="sim_selection_required_pref" msgid="6985901872978341314">"ఎంపిక అవసరం"</string>
     <string name="sim_change_data_title" msgid="9142726786345906606">"డేటా SIMని మార్చాలా?"</string>
     <string name="sim_change_data_message" msgid="3567358694255933280">"మొబైల్ డేటా కోసం <xliff:g id="OLD_SIM">%2$s</xliff:g>కి బదులుగా <xliff:g id="NEW_SIM">%1$s</xliff:g>ని ఉపయోగించాలా?"</string>
@@ -433,7 +433,7 @@
     <item msgid="2953825013895327785">"0"</item>
     <item msgid="7970797749269738435">"1"</item>
   </string-array>
-    <string name="cdma_activate_device" msgid="5914720276140097632">"పరికరాన్ని సక్రియం చేయండి"</string>
+    <string name="cdma_activate_device" msgid="5914720276140097632">"పరికరాన్ని యాక్టివేట్ చేయండి"</string>
     <string name="cdma_lte_data_service" msgid="359786441782404562">"డేటా సేవను సెటప్ చేయండి"</string>
     <string name="carrier_settings_title" msgid="6292869148169850220">"క్యారియర్ సెట్టింగ్‌లు"</string>
     <string name="fdn" msgid="2545904344666098749">"ఫిక్సెడ్ డయలింగ్ నంబర్‌లు"</string>
@@ -471,13 +471,13 @@
     <string name="fdn_contact_added" msgid="2840016151693394596">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ జోడించబడింది."</string>
     <string name="edit_fdn_contact" msgid="6030829994819587408">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను ఎడిట్ చేయండి"</string>
     <string name="updating_fdn_contact" msgid="6989341376868227150">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను అప్‌డేట్ చేస్తోంది..."</string>
-    <string name="fdn_contact_updated" msgid="6876330243323118937">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ నవీకరించబడింది."</string>
+    <string name="fdn_contact_updated" msgid="6876330243323118937">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ అప్‌డేట్ చేయబడింది."</string>
     <string name="delete_fdn_contact" msgid="7027405651994507077">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను తొలగించండి"</string>
     <string name="deleting_fdn_contact" msgid="6872320570844460428">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌ను తొలగిస్తోంది..."</string>
     <string name="fdn_contact_deleted" msgid="1680714996763848838">"ఫిక్స్‌డ్ డయలింగ్ నంబర్ తొలగించబడింది."</string>
-    <string name="pin2_invalid" msgid="2313954262684494442">"మీరు చెల్లని PINను టైప్ చేసినందున FDN నవీకరించబడలేదు."</string>
+    <string name="pin2_invalid" msgid="2313954262684494442">"మీరు చెల్లని PINను టైప్ చేసినందున FDN అప్‌డేట్ చేయబడలేదు."</string>
     <string name="fdn_invalid_number" msgid="9067189814657840439">"నంబర్ <xliff:g id="FDN_NUMBER_LIMIT_LENGTH">%d</xliff:g> అంకెలను మించినందున FDN అప్‌డేట్ చేయబడలేదు."</string>
-    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN నవీకరించబడలేదు. PIN2 చెల్లదు లేదా ఫోన్ నంబర్ తిరస్కరించబడింది."</string>
+    <string name="pin2_or_fdn_invalid" msgid="7542639487955868181">"FDN అప్‌డేట్ చేయబడలేదు. PIN2 చెల్లదు లేదా ఫోన్ నంబర్ తిరస్కరించబడింది."</string>
     <string name="fdn_failed" msgid="216592346853420250">"FDN చర్య విఫలమైంది."</string>
     <string name="simContacts_emptyLoading" msgid="4989040293858675483">"SIM కార్డు నుండి చదువుతోంది…"</string>
     <string name="simContacts_empty" msgid="1135632055473689521">"మీ SIM కార్డులో కాంటాక్ట్‌లు ఏవీ లేవు."</string>
@@ -498,7 +498,7 @@
     <string name="enable_pin_ok" msgid="2877428038280804256">"PIN సెట్ చేయబడింది"</string>
     <string name="disable_pin_ok" msgid="888505244389647754">"PIN తీసివేయబడింది"</string>
     <string name="pin_failed" msgid="4527347792881939652">"PIN చెల్లదు"</string>
-    <string name="pin_changed" msgid="7291153750090452808">"PIN నవీకరించబడింది"</string>
+    <string name="pin_changed" msgid="7291153750090452808">"PIN అప్‌డేట్ చేయబడింది"</string>
     <string name="puk_requested" msgid="2061337960609806851">"పాస్‌వర్డ్ చెల్లదు. PIN ఇప్పుడు బ్లాక్ చేయబడింది. PUK రిక్వెస్ట్ చేయబడింది."</string>
     <string name="enter_pin2_text" msgid="7266379426804295979">"PIN2"</string>
     <string name="oldPin2Label" msgid="4648543187859997203">"పాత PIN2"</string>
@@ -509,7 +509,7 @@
     <string name="mismatchPin2" msgid="4952718725266700631">"PIN2లు సరిపోలలేదు. మళ్లీ ప్రయత్నించండి."</string>
     <string name="invalidPin2" msgid="6467957903056379343">"4 నుండి 8 సంఖ్యలు ఉండే PIN2ని నమోదు చేయండి."</string>
     <string name="invalidPuk2" msgid="713729511903849544">"8 సంఖ్యలు ఉండే PUK2ను నమోదు చేయండి."</string>
-    <string name="pin2_changed" msgid="5710551850481287821">"PIN2 నవీకరించబడింది"</string>
+    <string name="pin2_changed" msgid="5710551850481287821">"PIN2 అప్‌డేట్ చేయబడింది"</string>
     <string name="label_puk2_code" msgid="2852217004288085562">"PUK2 కోడ్‌ను నమోదు చేయండి"</string>
     <string name="fdn_enable_puk2_requested" msgid="5793652792131588041">"పాస్‌వర్డ్ చెల్లదు. PIN2 ఇప్పుడు బ్లాక్ చేయబడింది. మళ్లీ ప్రయత్నించడానికి, PIN 2ను మార్చండి."</string>
     <string name="puk2_requested" msgid="6992374450720307514">"పాస్‌వర్డ్ చెల్లదు. SIM ఇప్పుడు లాక్ చేయబడింది. PUK2ని నమోదు చేయండి."</string>
@@ -582,14 +582,14 @@
     <string name="onscreenAddCallText" msgid="9075675082903611677">"కాల్‌ను జోడించు"</string>
     <string name="onscreenMergeCallsText" msgid="3692389519611225407">"కాల్స్‌ను విలీనం చేయి"</string>
     <string name="onscreenSwapCallsText" msgid="2682542150803377991">"స్వాప్ చేయి"</string>
-    <string name="onscreenManageCallsText" msgid="1162047856081836469">"కాల్స్‌ను నిర్వహించు"</string>
-    <string name="onscreenManageConferenceText" msgid="4700574060601755137">"కాన్ఫరెన్స్‌ను నిర్వహించు"</string>
+    <string name="onscreenManageCallsText" msgid="1162047856081836469">"కాల్స్‌ను మేనేజ్ చేయండి"</string>
+    <string name="onscreenManageConferenceText" msgid="4700574060601755137">"కాన్ఫరెన్స్‌ను మేనేజ్ చేయండి"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"ఆడియో"</string>
     <string name="onscreenVideoCallText" msgid="1743992456126258698">"వీడియో కాల్"</string>
-    <string name="importSimEntry" msgid="3892354284082689894">"దిగుమతి చేయి"</string>
-    <string name="importAllSimEntries" msgid="2628391505643564007">"అన్నింటినీ దిగుమతి చేయి"</string>
+    <string name="importSimEntry" msgid="3892354284082689894">"దిగుమతి చేయండి"</string>
+    <string name="importAllSimEntries" msgid="2628391505643564007">"అన్నింటినీ దిగుమతి చేయండి"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"SIM కాంటాక్ట్‌లను దిగుమతి చేస్తోంది"</string>
-    <string name="importToFDNfromContacts" msgid="5068664870738407341">"కాంటాక్ట్‌ల నుండి దిగుమతి చేయి"</string>
+    <string name="importToFDNfromContacts" msgid="5068664870738407341">"కాంటాక్ట్‌ల నుండి దిగుమతి చేయండి"</string>
     <string name="singleContactImportedMsg" msgid="3619804066300998934">"కాంటాక్ట్ దిగుమతి చేయబడింది"</string>
     <string name="failedToImportSingleContactMsg" msgid="228095510489830266">"కాంటాక్ట్‌ను దిగుమతి చేయడంలో విఫలమైంది"</string>
     <string name="hac_mode_title" msgid="4127986689621125468">"వినికిడి సహాయక సాధనాలు"</string>
@@ -612,8 +612,8 @@
   </string-array>
     <string name="network_info_message" msgid="7599413947016532355">"నెట్‌వర్క్ మెసేజ్‌"</string>
     <string name="network_error_message" msgid="4271579424089326618">"లోప మెసేజ్‌"</string>
-    <string name="ota_title_activate" msgid="4049645324841263423">"మీ ఫోన్‌ను సక్రియం చేయండి"</string>
-    <string name="ota_touch_activate" msgid="838764494319694754">"మీ ఫోన్ సేవను సక్రియం చేయడానికి ప్రత్యేక కాల్ చేయాల్సి ఉంటుంది. \n\n“సక్రియం చేయి” నొక్కిన తర్వాత, మీ ఫోన్‌ను సక్రియం చేయడానికి అందించబడే సూచనలను వినండి."</string>
+    <string name="ota_title_activate" msgid="4049645324841263423">"మీ ఫోన్‌ను యాక్టివేట్ చేయండి"</string>
+    <string name="ota_touch_activate" msgid="838764494319694754">"మీ ఫోన్ సేవను సక్రియం చేయడానికి ప్రత్యేక కాల్ చేయాల్సి ఉంటుంది. \n\n“యాక్టివేట్ చేయండి” నొక్కిన తర్వాత, మీ ఫోన్‌ను సక్రియం చేయడానికి అందించబడే సూచనలను వినండి."</string>
     <string name="ota_hfa_activation_title" msgid="3300556778212729671">"సక్రియం చేస్తోంది..."</string>
     <string name="ota_hfa_activation_dialog_message" msgid="7921718445773342996">"ఫోన్ మీ మొబైల్ డేటా సేవను సక్రియం చేస్తోంది.\n\nదీనికి గరిష్టంగా 5 నిమిషాలు పట్టవచ్చు."</string>
     <string name="ota_skip_activation_dialog_title" msgid="7666611236789203797">"సక్రియం చేయడాన్ని దాటవేయాలా?"</string>
@@ -643,7 +643,7 @@
     <string name="progress_dialog_exiting_ecm" msgid="9159080081676927217">"అత్యవసర కాల్‌బ్యాక్ మోడ్ నుండి నిష్క్రమిస్తోంది"</string>
     <string name="alert_dialog_yes" msgid="3532525979632841417">"అవును"</string>
     <string name="alert_dialog_no" msgid="1075632654085988420">"కాదు"</string>
-    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"తీసివేయి"</string>
+    <string name="alert_dialog_dismiss" msgid="1336356286354517054">"తీసివేయండి"</string>
     <string name="phone_in_ecm_call_notification_text_without_data_restriction_hint" msgid="3747860785153531225">"ఫోన్ అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉంది"</string>
     <string name="phone_in_ecm_notification_complete_time_without_data_restriction_hint" msgid="3690292264812050858">"<xliff:g id="COMPLETETIME">%s</xliff:g> వరకు"</string>
     <string name="alert_dialog_exit_ecm_without_data_restriction_hint" msgid="7549850847524907932">"{count,plural, =1{ఫోన్ ఒక నిమిషం పాటు ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది.\nమీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?}other{ఫోన్ %s నిమిషాల పాటు ఎమర్జెన్సీ కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది.\nమీరు ఇప్పుడే నిష్క్రమించాలనుకుంటున్నారా?}}"</string>
@@ -674,10 +674,9 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"యాక్సెసిబిలిటీ"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"వీరి నుండి Wi-Fi కాల్"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi కాల్"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"తెరవడానికి మళ్లీ నొక్కండి"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"మెసేజ్‌ను డీకోడ్ చేస్తున్నప్పుడు ఎర్రర్ ఏర్పడింది."</string>
-    <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM కార్డ్ మీ సేవను సక్రియం చేసింది మరియు మీ ఫోన్ రోమింగ్ సామర్థ్యాలను నవీకరించింది."</string>
-    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"చాలా ఎక్కువ కాల్స్‌ సక్రియంగా ఉన్నాయి. దయచేసి మరొక కొత్త కాల్ చేసే ముందు ఇప్పటికే ఉన్న కాల్స్‌ను ముగించండి లేదా విలీనం చేయండి."</string>
+    <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM కార్డ్ మీ సేవను సక్రియం చేసింది మరియు మీ ఫోన్ రోమింగ్ సామర్థ్యాలను అప్‌డేట్ చేసింది."</string>
+    <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"చాలా ఎక్కువ కాల్స్‌ యాక్టివ్‌గా ఉన్నాయి. దయచేసి మరొక కొత్త కాల్ చేసే ముందు ఇప్పటికే ఉన్న కాల్స్‌ను ముగించండి లేదా విలీనం చేయండి."</string>
     <string name="callFailed_imei_not_accepted" msgid="7257903653685147251">"కనెక్ట్ చేయడం సాధ్యపడలేదు, దయచేసి చెల్లుబాటు అయ్యే SIM కార్డ్‌ను చొప్పించండి."</string>
     <string name="callFailed_wifi_lost" msgid="1788036730589163141">"Wi-Fi కనెక్షన్ పోయింది. కాల్ ముగిసింది."</string>
     <string name="dialFailed_low_battery" msgid="6857904237423407056">"తక్కువ బ్యాటరీ కారణంగా మీ వీడియో కాల్ చేయడం సాధ్యపడదు."</string>
@@ -694,12 +693,12 @@
     <string name="change_pin_enter_new_pin_hint" msgid="2326038476516364210">"PIN తప్పనిసరిగా <xliff:g id="MIN">%1$d</xliff:g>-<xliff:g id="MAX">%2$d</xliff:g> అంకెల మధ్య ఉండాలి."</string>
     <string name="change_pin_confirm_pin_header" msgid="2606303906320705726">"మీ PINని నిర్ధారించండి"</string>
     <string name="change_pin_confirm_pins_dont_match" msgid="305164501222587215">"PINలు సరిపోలలేదు"</string>
-    <string name="change_pin_succeeded" msgid="2504705600693014403">"వాయిస్ మెయిల్ PIN నవీకరించబడింది"</string>
+    <string name="change_pin_succeeded" msgid="2504705600693014403">"వాయిస్ మెయిల్ PIN అప్‌డేట్ చేయబడింది"</string>
     <string name="change_pin_system_error" msgid="7772788809875146873">"PINని సెట్ చేయడం సాధ్యపడలేదు"</string>
     <string name="mobile_data_status_roaming_turned_off_subtext" msgid="6840673347416227054">"డేటా రోమింగ్ ఆఫ్ చేయబడింది"</string>
     <string name="mobile_data_status_roaming_turned_on_subtext" msgid="5615757897768777865">"డేటా రోమింగ్ ఆన్ చేయబడింది"</string>
     <string name="mobile_data_status_roaming_without_plan_subtext" msgid="6536671968072284677">"ప్రస్తుతం రోమింగ్‌లో ఉంది, డేటా ప్లాన్ అవసరం"</string>
-    <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"ప్రస్తుతం రోమింగ్‌లో ఉంది, డేటా ప్లాన్ సక్రియంగా ఉంది"</string>
+    <string name="mobile_data_status_roaming_with_plan_subtext" msgid="2576177169108123095">"ప్రస్తుతం రోమింగ్‌లో ఉంది, డేటా ప్లాన్ యాక్టివ్‌గా ఉంది"</string>
     <string name="mobile_data_status_no_plan_subtext" msgid="170331026419263657">"మొబైల్ డేటా ఏదీ మిగిలి లేదు"</string>
     <string name="mobile_data_activate_prepaid" msgid="4276738964416795596">"మొబైల్ డేటా ఏదీ మిగిలి లేదు"</string>
     <string name="mobile_data_activate_prepaid_summary" msgid="6846085278531605925">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ద్వారా మొబైల్ డేటాను జోడించండి"</string>
@@ -798,20 +797,20 @@
     <string name="callFailed_NetworkBusy" msgid="5437103975842913681">"నెట్‌వర్క్ బిజీగా ఉంది. దయచేసి తిరిగి తర్వాత కాల్ చేయండి."</string>
     <string name="callFailed_NetworkCongested" msgid="6801283142342775380">"నెట్‌వర్క్‌లో అంతరాయం ఏర్పడింది. సహాయం కోసం మీ మొబైల్ ఆపరేటర్‌ను సంప్రదించండి."</string>
     <string name="supp_service_notification_call_deflected" msgid="4980942818105909813">"కాల్ మళ్లించబడింది."</string>
-    <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"కాల్ ఫార్వార్డ్ చేయబడింది."</string>
+    <string name="supp_service_notification_call_forwarded" msgid="7102930311735433088">"కాల్ ఫార్వర్డ్ చేయబడింది."</string>
     <string name="supp_service_notification_call_waiting" msgid="4577403881609445324">"కాల్ నిరీక్షణలో ఉంది."</string>
     <string name="supp_service_clir_suppression_rejected" msgid="6105737020194776121">"నంబర్ బ్లాకింగ్ తిరస్కరించబడింది."</string>
     <string name="supp_service_closed_user_group_call" msgid="2811636666505250689">"దగ్గరి వినియోగదారు సమూహ కాల్."</string>
     <string name="supp_service_incoming_calls_barred" msgid="2034627421274447674">"ఇన్‌కమింగ్ కాల్స్‌ నిరోధించబడ్డాయి"</string>
     <string name="supp_service_outgoing_calls_barred" msgid="5205725332394087112">"అవుట్‌గోయింగ్ కాల్స్‌ నిరోధించబడ్డాయి."</string>
-    <string name="supp_service_call_forwarding_active" msgid="7910162960395132464">"కాల్ ఫార్వర్డింగ్ సక్రియంగా ఉంది."</string>
-    <string name="supp_service_additional_call_forwarded" msgid="8772753260008398632">"అదనపు కాల్ ఫార్వార్డ్ చేయబడింది."</string>
+    <string name="supp_service_call_forwarding_active" msgid="7910162960395132464">"కాల్ ఫార్వర్డింగ్ యాక్టివ్‌గా ఉంది."</string>
+    <string name="supp_service_additional_call_forwarded" msgid="8772753260008398632">"అదనపు కాల్ ఫార్వర్డ్ చేయబడింది."</string>
     <string name="supp_service_additional_ect_connected" msgid="8525934162945220237">"అభ్యంతరకరమైన కాల్ బదిలీ పూర్తయింది."</string>
     <string name="supp_service_additional_ect_connecting" msgid="7046240728781222753">"అభ్యంతరకరమైన కాల్ బదిలీ ప్రోగ్రెస్‌లో ఉంది."</string>
     <string name="supp_service_call_on_hold" msgid="2836811319594503059">"కాల్ హోల్డ్‌లో ఉంది."</string>
     <string name="supp_service_call_resumed" msgid="3786864005920743546">"కాల్ మళ్లీ ప్రారంభించబడింది."</string>
     <string name="supp_service_deflected_call" msgid="7565979024562921707">"కాల్ మళ్లించబడింది."</string>
-    <string name="supp_service_forwarded_call" msgid="6475776013771821457">"కాల్ ఫార్వార్డ్ చేయబడింది."</string>
+    <string name="supp_service_forwarded_call" msgid="6475776013771821457">"కాల్ ఫార్వర్డ్ చేయబడింది."</string>
     <string name="supp_service_conference_call" msgid="4004193534408317148">"కాన్ఫరెన్స్ కాల్‌లో చేరుతున్నారు"</string>
     <string name="supp_service_held_call_released" msgid="2847835124639112410">"హోల్డ్‌లో ఉంచిన కాల్ ప్రారంభించబడింది."</string>
     <string name="callFailed_otasp_provisioning_in_process" msgid="3345666183602879326">"వినియోగదారుకు ప్రస్తుతం ఏ సేవలు అందుబాటులో ఉన్నాయనే విచారణ పనిలో పరికరం ఉన్నందున కాల్ చేయడం సాధ్యం కాదు."</string>
@@ -823,7 +822,7 @@
     <string name="supp_service_over_ut_precautions_roaming" msgid="670342104569972327">"<xliff:g id="SUPP_SERVICE">%s</xliff:g>ని ఉపయోగించడానికి, మొబైల్ డేటా మరియు డేటా రోమింగ్‌ని తప్పకుండా ఆన్ చేసారని నిర్ధారించుకోండి. మీరు వీటిని మొబైల్ నెట్‌వర్క్ సెట్టింగ్‌లలో మార్చవచ్చు."</string>
     <string name="supp_service_over_ut_precautions_dual_sim" msgid="5166866975550910474">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>ని ఉపయోగించడానికి, SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> కోసం మొబైల్ డేటాను తప్పకుండా ఆన్ చేసారని నిర్ధారించుకోండి. మీరు దీనిని మొబైల్ నెట్‌వర్క్ సెట్టింగ్‌లలో మార్చవచ్చు."</string>
     <string name="supp_service_over_ut_precautions_roaming_dual_sim" msgid="6627654855191817965">"<xliff:g id="SUPP_SERVICE">%1$s</xliff:g>ని ఉపయోగించడానికి, SIM <xliff:g id="SIM_NUMBER">%2$d</xliff:g> కోసం మొబైల్ డేటా మరియు డేటా రోమింగ్‌ని తప్పకుండా ఆన్ చేసారని నిర్ధారించుకోండి. మీరు వీటిని మొబైల్ నెట్‌వర్క్ సెట్టింగ్‌లలో మార్చవచ్చు."</string>
-    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"తీసివేయి"</string>
+    <string name="supp_service_over_ut_precautions_dialog_dismiss" msgid="5934541487903081652">"తీసివేయండి"</string>
     <string name="radio_info_data_connection_enable" msgid="6183729739783252840">"డేటా కనెక్షన్‌ను ప్రారంభించండి"</string>
     <string name="radio_info_data_connection_disable" msgid="6404751291511368706">"డేటా కనెక్షన్‌ను నిలిపివేయండి"</string>
     <string name="volte_provisioned_switch_string" msgid="4812874990480336178">"VoLTE సదుపాయం ఉంది"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"మీరు ఈ సెట్టింగ్‌ను మార్చడానికి మీ పరికరాన్ని మళ్లీ ప్రారంభించాలి."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"పునఃప్రారంభించు"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"రద్దు చేయండి"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"తీసివేయగలిగే eSIMని ఆటోమేటిక్ సెట్టింగ్‌గా సెట్ చేయండి"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"మొబైల్ రేడియో పవర్"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM అడ్రస్‌ పుస్తకాన్ని చూడండి"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ఫిక్స్‌డ్ డయలింగ్ నంబర్‌లను చూడండి"</string>
@@ -915,7 +915,7 @@
     <string name="phone_info_label" product="tablet" msgid="7477478709388477397">"టాబ్లెట్ సమాచారం"</string>
     <string name="phone_info_label" product="default" msgid="1784175881556791433">"ఫోన్ సమాచారం"</string>
     <string name="carrier_provisioning" msgid="2668065041869578376">"క్యారియర్ కేటాయింపు సమాచారం"</string>
-    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"క్యారియర్ కేటాయింపు సక్రియం చేయండి"</string>
+    <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"క్యారియర్ కేటాయింపు యాక్టివేట్ చేయండి"</string>
     <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"మీ బ్లూటూత్ సిగ్నల్ బలహీనంగా ఉంది. స్పీకర్‌ఫోన్‌కు స్విచ్ అవ్వడానికి ట్రై చేయండి."</string>
     <string name="call_quality_notification_name" msgid="3476828289553948830">"కాల్ క్వాలిటీ నోటిఫికేషన్"</string>
     <string name="notification_channel_sip_account" msgid="1261816025156179637">"తీసివేయబడిన SIP ఖాతాలు"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 601d72a..ef93cd6 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -585,7 +585,7 @@
     <string name="onscreenManageCallsText" msgid="1162047856081836469">"จัดการการโทร"</string>
     <string name="onscreenManageConferenceText" msgid="4700574060601755137">"จัดการการประชุม"</string>
     <string name="onscreenAudioText" msgid="7224226735052019986">"เสียง"</string>
-    <string name="onscreenVideoCallText" msgid="1743992456126258698">" Hangouts วิดีโอ"</string>
+    <string name="onscreenVideoCallText" msgid="1743992456126258698">"วิดีโอคอล"</string>
     <string name="importSimEntry" msgid="3892354284082689894">"นำเข้า"</string>
     <string name="importAllSimEntries" msgid="2628391505643564007">"นำเข้าทั้งหมด"</string>
     <string name="importingSimContacts" msgid="4995457122107888932">"กำลังนำเข้าสมุดโทรศัพท์ในซิม"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"การเข้าถึง"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"โทรผ่าน Wi-Fi จาก"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"การโทรผ่าน Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"แตะอีกครั้งเพื่อเปิด"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"เกิดข้อผิดพลาดขณะถอดรหัสข้อความ"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"ซิมการ์ดได้เปิดใช้บริการของคุณและอัปเดตความสามารถในการโรมมิ่งของโทรศัพท์"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"มีสายที่ใช้งานอยู่มากเกินไป โปรดวางสายหรือรวมสายที่มีก่อนโทรออกครั้งใหม่"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"คุณต้องรีสตาร์ทอุปกรณ์เพื่อเปลี่ยนการตั้งค่านี้"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"รีสตาร์ท"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"ยกเลิก"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"กำหนดให้ eSIM แบบนำออกได้เป็นค่าเริ่มต้น"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"กำลังส่งของวิทยุเครือข่ายมือถือ"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"ดูสมุดที่อยู่ของซิม"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"ดูการจำกัดหมายเลขโทรออก"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 7c6e68a..6ec3320 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Pagiging Accessible"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Tawag sa Wi-Fi mula kay"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Tawag sa Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"I-tap muli upang buksan"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Nagkaroon ng error habang dine-decode ang mensahe."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Na-activate ng isang SIM card ang iyong serbisyo at na-update ang mga kakayahang roaming ng iyong telepono."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Masyadong maraming aktibong tawag. Mangyaring tapusin o pagsamahin ang mga umiiral na tawag bago gumawa ng bago."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Kailangan mong i-restart ang device para mabago ang setting."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"I-restart"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Kanselahin"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Itakda na Default ang Naaalis na eSIM"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobile Radio Power"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Tingnan ang Address Book ng SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Tingnan ang Mga Fixed Dialing Number"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 9e86f5d..af9687b 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Erişilebilirlik"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Gelen çağrı (kablosuz):"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Kablosuz çağrı"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Açmak için tekrar dokunun"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"İletinin kodu çözülürken bir hata oluştu."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Bir SIM kart, hizmetinizi etkinleştirdi ve telefonunuzun dolaşım özelliklerini güncelledi."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Etkin çağrıların sayısı çok fazla. Yeni bir çağrı yapmadan önce lütfen mevcut çağrıları sonlandırın veya birleştirin."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bu ayarı değiştirmek için cihazınızı yeniden başlatın."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Yeniden başlat"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"İptal"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Çıkarılabilir eSIM\'i Varsayılan Yap"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Mobil Radyo Gücü"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM Adres Defterini Görüntüle"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Sabit Arama Numaralarını Görüntüle"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 4f5a170..94bdb50 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Спеціальні можливості"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Виклик Wi-Fi від"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Дзвінок через Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Торкніться знову, щоб відкрити"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Під час розшифрування повідомлення сталася помилка."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Коли ви вставили SIM-карту, було активовано мобільний зв’язок і оновлено можливості роумінгу вашого телефона."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Забагато активних викликів. Перш ніж зателефонувати новому абоненту, завершіть або об’єднайте поточні виклики."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Щоб змінити це налаштування, перезапустіть пристрій."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Перезапустити"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Скасувати"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Установити знімну eSIM-карту як карту за умовчанням"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Потужність мобільного радіо"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Переглянути адресну книгу SIM-карти"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Переглянути фіксовані номери"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 60ca85a..efa5197 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"ایکسیسبیلٹی"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"‏Wi-Fi کال منجانب"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"‏Wi-Fi کال"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"کھولنے کیلئے دوبارہ تھپتھپائیں"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"پیغام کو ڈیکوڈ کرتے وقت ایک خرابی پیش آ گئی۔"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"‏ایک SIM کارڈ نے آپ کی سروس فعال کر دی ہے اور آپ کے فون کی رومنگ اہلیتیں اپ ڈیٹ کر دی ہیں۔"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"بہت زیادہ فعال کالیں ہیں۔ براہ کرم نئی کال کرنے سے پہلے موجودہ کالوں کو ضم کریں یا ختم کریں۔"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"یہ ترتیب تبدیل کرنے کیلئے آپ کو اپنا آلہ ریسٹارٹ کرنا ہوگا۔"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"دوبارہ شروع کریں"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"منسوخ کریں"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"‏ہٹانے لائق eSIM کو بطور ڈیفالٹ سیٹ کریں"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"موبائل ریڈیو پاور"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"‏SIM ایڈریس بک دیکھیں"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"فکسڈ ڈائلنگ نمبرز دیکھیں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 1f87dc4..929b5b6 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Maxsus imkoniyatlar"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi orqali qo‘ng‘iroq:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi qo‘ng‘irog‘i"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Ochish uchun yana bosing"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Xabarni kodsizlashda xatolik yuz berdi."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Telefoningizda rouming xizmati sozlangan va SIM karta faollashtirilgan."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Hozir bir nechta chaqiruv amalda. Boshqa abonentga telefon qilishdan avval amaldagi chaqiruvlarni tugating yoki ularni konferens-aloqaga birlashtiring."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bu sozlamani o‘zgartirish uchun qurilmangizni o‘chirib yoqing."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"O‘chirib yoqish"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Bekor qilish"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Olinadigan eSIM kartani birlamchi qilib belgilash"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Radio signal quvvati"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"SIM kartadagi abonentlar ro‘yxatini ochish"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Ruxsat etilgan raqamlar ro‘yxatini ochish"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 027c3b6..e73a5bc 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Hỗ trợ tiếp cận"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Cuộc gọi qua Wi-Fi từ"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Cuộc gọi qua Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Nhấn lại để mở"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Đã xảy ra lỗi khi giải mã tin nhắn."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Thẻ SIM đã kích hoạt dịch vụ của bạn và đã cập nhật chức năng chuyển vùng của điện thoại."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Có quá nhiều cuộc gọi hiện hoạt. Vui lòng kết thúc hoặc hợp nhất các cuộc gọi hiện có trước khi thực hiện cuộc gọi mới."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Bạn cần khởi động lại thiết bị để thay đổi chế độ cài đặt này."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Khởi động lại"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Hủy"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Đặt eSIM có thể tháo rời là Mặc định"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Cường độ của sóng di động"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Xem sổ địa chỉ trên SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Xem số gọi định sẵn"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 73c5141..a335b21 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -575,7 +575,7 @@
     <string name="fire_type_description" msgid="6565200468934914930">"火警"</string>
     <string name="description_concat_format" msgid="2014471565101724088">"%1$s、%2$s"</string>
     <string name="dialerKeyboardHintText" msgid="1115266533703764049">"使用键盘拨号"</string>
-    <string name="onscreenHoldText" msgid="4025348842151665191">"保持"</string>
+    <string name="onscreenHoldText" msgid="4025348842151665191">"保持通话"</string>
     <string name="onscreenEndCallText" msgid="6138725377654842757">"挂断"</string>
     <string name="onscreenShowDialpadText" msgid="658465753816164079">"拨号键盘"</string>
     <string name="onscreenMuteText" msgid="5470306116733843621">"静音"</string>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"无障碍功能"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"WLAN 通话来电:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"WLAN 通话"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"再次点按即可打开"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"对邮件解码时出错。"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM 卡已启用您的服务,并更新了您手机的漫游功能。"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"进行中的通话过多。请结束现有通话或将其合并,然后再拨打新的电话。"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"您需要重启设备才能让这项设置更改生效。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"重启"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"取消"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"将可卸载的 eSIM 卡设为默认 eSIM 卡"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"移动无线装置电源"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 卡通讯录"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定拨号号码"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b457a80..213ade9 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"無障礙功能"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi 通話來自"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi 通話"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"再次輕按即可開啟"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"為訊息解碼時發生錯誤。"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM 卡已啟動您的服務,並更新了您的手機漫遊功能。"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"進行中的通話過多。請先結束或合併現有通話,再重新撥打。"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"您需要重新啟動裝置,才可變更此設定。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"重新啟動"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"取消"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"將可移除的 eSIM 卡設為預設值"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"流動無線電的電源"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 卡通訊錄"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定撥號"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 4818d63..b59d162 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"無障礙設定"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Wi-Fi 通話來電:"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Wi-Fi 通話"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"再次輕觸即可開啟"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"為郵件解碼時發生錯誤。"</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"SIM 卡已啟用您的服務並更新了手機的漫遊功能。"</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"進行中的通話過多。請先結束或合併現有通話,再撥打新的電話。"</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"你必須重新啟動裝置,才能變更這項設定。"</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"重新啟動"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"取消"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"將可移除的 eSIM 卡設為預設 eSIM 卡"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"行動無線電電源"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"查看 SIM 通訊錄"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"查看固定撥號"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 79965ad..3133e27 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -357,13 +357,13 @@
     <string name="list_language_title" msgid="1850167908665485738">"Ulimi"</string>
     <string name="list_language_summary" msgid="7921756070782277559">"Khetha ulimi lwezindaba"</string>
   <string-array name="list_language_entries">
-    <item msgid="2347238508726934281">"i-English"</item>
+    <item msgid="2347238508726934281">"English"</item>
     <item msgid="5172468397620875174">"isi-French"</item>
     <item msgid="3978110664146015398">"isi-Spanish"</item>
     <item msgid="2637764545851526369">"isi-Japanese"</item>
-    <item msgid="6103816221834932751">"isi-Korean"</item>
-    <item msgid="3127367370005168399">"isi-Chinese"</item>
-    <item msgid="9130651361816196355">"isi-Hebrew"</item>
+    <item msgid="6103816221834932751">"Korean"</item>
+    <item msgid="3127367370005168399">"Chinese"</item>
+    <item msgid="9130651361816196355">"Hebrew"</item>
   </string-array>
   <string-array name="list_language_values">
     <item msgid="798673247233934667">"1"</item>
@@ -674,7 +674,6 @@
     <string name="accessibility_settings_activity_title" msgid="7883415189273700298">"Ukufinyeleleka"</string>
     <string name="status_hint_label_incoming_wifi_call" msgid="2606052595898044071">"Ikholi ye-Wi-Fi kusukela ku-"</string>
     <string name="status_hint_label_wifi_call" msgid="942993035689809853">"Ikholi ye-Wi-Fi"</string>
-    <string name="emergency_action_launch_hint" msgid="2762016865340891314">"Thepha futhi ukuze uvule"</string>
     <string name="message_decode_error" msgid="1061856591500290887">"Kube nephutha ngenkathi kukhishwa ikhodi kumlayezo."</string>
     <string name="callFailed_cdma_activation" msgid="5392057031552253550">"Ikhadi le-SIM lenze kwasebenza isevisi yakho laphinde labuyekeza amakhono okuzula wefoni yakho."</string>
     <string name="callFailed_cdma_call_limit" msgid="1074219746093031412">"Kunamakholi amaningi asebenzayo. Sicela uphelise noma uhlanganise amakholi akhona ngaphambi kokubeka eyodwa."</string>
@@ -836,6 +835,7 @@
     <string name="dsds_dialog_message" msgid="4047480385678538850">"Udinga ukuqalisa kabusha idivayisi yakho ukushintsha lesi silungiselelo."</string>
     <string name="dsds_dialog_confirm" msgid="9032004888134129885">"Qala kabusha"</string>
     <string name="dsds_dialog_cancel" msgid="3245958947099586655">"Khansela"</string>
+    <string name="removable_esim_string" msgid="7931369811671787649">"Setha i-eSim Esusekayo Njengezenzakalelayo"</string>
     <string name="radio_info_radio_power" msgid="8805595022160471587">"Amandla erediyo yeselula"</string>
     <string name="radioInfo_menu_viewADN" msgid="4533179730908559846">"Buka incwadi yekheli le-SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="1847236480527032061">"Buka Izinombolo Zokudayela Okungaguquki"</string>
diff --git a/res/values/config.xml b/res/values/config.xml
index 9f8cc81..19252c0 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -156,7 +156,7 @@
     <!-- Package name for the mobile network settings [DO NOT TRANSLATE] -->
     <string name="mobile_network_settings_package" translatable="false">com.android.settings</string>
     <!-- Class name for the mobile network settings activity [DO NOT TRANSLATE] -->
-    <string name="mobile_network_settings_class" translatable="false">com.android.settings.network.telephony.MobileNetworkActivity</string>
+    <string name="mobile_network_settings_class" translatable="false">com.android.settings.Settings$MobileNetworkActivity</string>
 
     <!-- CDMA activation goes through HFA -->
     <!-- DEPRECATED: Use CarrierConfigManager#KEY_USE_HFA_FOR_PROVISIONING_BOOL -->
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 25d28de..38a86f9 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1601,9 +1601,6 @@
     <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
     <string name="wifi_calling_settings_key">button_wifi_calling_settings_key</string>
 
-    <!-- Hint appearing below a selected action on the emergency dialer telling user to tap again to execute the action [CHAR LIMIT=NONE] -->
-    <string name="emergency_action_launch_hint">Tap again to open</string>
-
     <!-- Strings for IMAP -->
 
     <!-- String used in place of a message that could not be properly decoded (e.g. bad base64
@@ -2007,6 +2004,9 @@
     <!-- UI debug setting: Enable/Disable DSDS [CHAR LIMIT=none] -->
     <string name="dsds_dialog_cancel">Cancel</string>
 
+    <!-- Setting Removable esim as default. Only shown in diagnostic screen, so precise translation is not needed -->
+    <string name="removable_esim_string">Set Removable eSIM as Default</string>
+
     <!-- Title for controlling on/off for Mobile phone's radio power. Only shown in diagnostic screen, so precise translation is not needed. -->
     <string name="radio_info_radio_power">Mobile Radio Power</string>
 
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 8218a84..d0f427c 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -207,8 +207,6 @@
     <style name="DialerAlertDialogTheme"
         parent="@android:style/Theme.Material.Light.Dialog">
         <item name="android:forceDarkAllowed">true</item>
-        <item name="android:colorAccent">@color/dialer_theme_color</item>
-        <item name="android:textColor">?android:attr/textColorPrimaryInverseDisableOnly</item>
     </style>
 
     <style name="Empty" parent="@android:style/Theme.Material.Light">
diff --git a/src/com/android/phone/CallBarringEditPreference.java b/src/com/android/phone/CallBarringEditPreference.java
index 757600e..34c017c 100644
--- a/src/com/android/phone/CallBarringEditPreference.java
+++ b/src/com/android/phone/CallBarringEditPreference.java
@@ -101,9 +101,8 @@
     }
 
     void init(TimeConsumingPreferenceListener listener, boolean skipReading, Phone phone) {
-        if (DBG) {
-            Log.d(LOG_TAG, "init: phone id = " + phone.getPhoneId());
-        }
+        Log.d(LOG_TAG, "init: phone id = " + phone.getPhoneId());
+
         mPhone = phone;
 
         mTcpListener = listener;
@@ -184,10 +183,9 @@
     @Override
     protected void onDialogClosed(boolean positiveResult) {
         super.onDialogClosed(positiveResult);
-        if (DBG) {
-            Log.d(LOG_TAG, "onDialogClosed: mButtonClicked=" + mButtonClicked + ", positiveResult="
-                    + positiveResult);
-        }
+        Log.d(LOG_TAG, "onDialogClosed: mButtonClicked=" + mButtonClicked + ", positiveResult="
+                + positiveResult);
+
         if (mButtonClicked != DialogInterface.BUTTON_NEGATIVE) {
             String password = getEditText().getText().toString();
 
@@ -199,9 +197,8 @@
                 return;
             }
 
-            if (DBG) {
-                Log.d(LOG_TAG, "onDialogClosed: password=" + password);
-            }
+            Log.d(LOG_TAG, "onDialogClosed");
+
             // Send set call barring message to RIL layer.
             mPhone.setCallBarring(mFacility, !mIsActivated, password,
                     mHandler.obtainMessage(MyHandler.MESSAGE_SET_CALL_BARRING),
@@ -214,9 +211,7 @@
 
     void handleCallBarringResult(boolean status) {
         mIsActivated = status;
-        if (DBG) {
-            Log.d(LOG_TAG, "handleCallBarringResult: mIsActivated=" + mIsActivated);
-        }
+        Log.i(LOG_TAG, "handleCallBarringResult: mIsActivated=" + mIsActivated);
     }
 
     private static int getServiceClassForCallBarring(Phone phone) {
@@ -277,9 +272,7 @@
                 return;
             }
 
-            if (DBG) {
-                Log.d(LOG_TAG, "handleGetCallBarringResponse: done");
-            }
+            Log.i(LOG_TAG, "handleGetCallBarringResponse: done");
 
             AsyncResult ar = (AsyncResult) msg.obj;
 
@@ -291,9 +284,7 @@
 
             // Unsuccessful query for call barring.
             if (ar.exception != null) {
-                if (DBG) {
-                    Log.d(LOG_TAG, "handleGetCallBarringResponse: ar.exception=" + ar.exception);
-                }
+                Log.i(LOG_TAG, "handleGetCallBarringResponse: ar.exception=" + ar.exception);
                 pref.mTcpListener.onException(pref, (CommandException) ar.exception);
             } else {
                 if (ar.userObj instanceof Throwable) {
@@ -301,18 +292,14 @@
                 }
                 int[] ints = (int[]) ar.result;
                 if (ints.length == 0) {
-                    if (DBG) {
-                        Log.d(LOG_TAG, "handleGetCallBarringResponse: ar.result.length==0");
-                    }
+                    Log.i(LOG_TAG, "handleGetCallBarringResponse: ar.result.length==0");
                     pref.setEnabled(false);
                     pref.mTcpListener.onError(pref, RESPONSE_ERROR);
                 } else {
                     pref.handleCallBarringResult(ints[0] != 0);
-                    if (DBG) {
-                        Log.d(LOG_TAG,
-                                "handleGetCallBarringResponse: CB state successfully queried: "
-                                        + ints[0]);
-                    }
+                    Log.i(LOG_TAG,
+                            "handleGetCallBarringResponse: CB state successfully queried: "
+                                    + ints[0]);
                 }
             }
             // Update call barring status.
@@ -329,13 +316,9 @@
             AsyncResult ar = (AsyncResult) msg.obj;
 
             if (ar.exception != null || ar.userObj instanceof Throwable) {
-                if (DBG) {
-                    Log.d(LOG_TAG, "handleSetCallBarringResponse: ar.exception=" + ar.exception);
-                }
+                Log.i(LOG_TAG, "handleSetCallBarringResponse: ar.exception=" + ar.exception);
             }
-            if (DBG) {
-                Log.d(LOG_TAG, "handleSetCallBarringResponse: re-get call barring option");
-            }
+            Log.i(LOG_TAG, "handleSetCallBarringResponse: re-get call barring option");
             pref.mPhone.getCallBarring(
                     pref.mFacility,
                     "",
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index e64c81c..fdd610e 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -225,7 +225,7 @@
                         new Dialog.OnClickListener() {
                             @Override
                             public void onClick(DialogInterface dialog, int which) {
-                                Intent intent = new Intent(Intent.ACTION_MAIN);
+                                Intent intent = new Intent();
                                 ComponentName mobileNetworkSettingsComponent = new ComponentName(
                                         getString(R.string.mobile_network_settings_package),
                                         getString(R.string.mobile_network_settings_class));
@@ -456,11 +456,7 @@
                     CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL,
                     false);
         boolean isDataEnabled;
-        if (mPhone.isUsingNewDataStack()) {
-            isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
-        } else {
-            isDataEnabled = mPhone.getDataEnabledSettings().isDataEnabled();
-        }
+        isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
         if (mImsMgr.isVtEnabledByPlatform() && mImsMgr.isVtProvisionedOnDevice()
                 && (carrierConfig.getBoolean(
                         CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
diff --git a/src/com/android/phone/CallWaitingSwitchPreference.java b/src/com/android/phone/CallWaitingSwitchPreference.java
index 609488c..00407f3 100644
--- a/src/com/android/phone/CallWaitingSwitchPreference.java
+++ b/src/com/android/phone/CallWaitingSwitchPreference.java
@@ -1,6 +1,7 @@
 package com.android.phone;
 
 import static com.android.phone.TimeConsumingPreferenceActivity.EXCEPTION_ERROR;
+import static com.android.phone.TimeConsumingPreferenceActivity.FDN_CHECK_FAILURE;
 import static com.android.phone.TimeConsumingPreferenceActivity.RESPONSE_ERROR;
 
 import android.content.Context;
@@ -128,17 +129,27 @@
                 }
             }
 
-            if (mIsDuringUpdateProcess && (
-                    mUpdateStatus == TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED
-                            || mUpdateStatus
-                            == TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR)) {
-                Log.d(LOG_TAG, "handleSetCallWaitingResponse: Exception");
-                if (mTcpListener != null) {
-                    mTcpListener.onError(CallWaitingSwitchPreference.this, EXCEPTION_ERROR);
+            if (mQueryStatus != TelephonyManager.CALL_WAITING_STATUS_ENABLED
+                    && mQueryStatus != TelephonyManager.CALL_WAITING_STATUS_DISABLED
+                    && mQueryStatus != TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR) {
+                Log.d(LOG_TAG, "handleGetCallWaitingResponse: Exception:" + mQueryStatus);
+                int error = EXCEPTION_ERROR;
+                switch (mQueryStatus) {
+                    case TelephonyManager.CALL_WAITING_STATUS_FDN_CHECK_FAILURE:
+                        error = FDN_CHECK_FAILURE;
+                        break;
+                    default:
+                        error = EXCEPTION_ERROR;
+                        break;
                 }
-            } else if (mQueryStatus == TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED
-                    || mQueryStatus == TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR) {
-                Log.d(LOG_TAG, "handleGetCallWaitingResponse: Exception");
+                if (mTcpListener != null) {
+                    mTcpListener.onError(CallWaitingSwitchPreference.this, error);
+                }
+            } else if (mQueryStatus == TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR
+                    || (mIsDuringUpdateProcess && (
+                    mUpdateStatus != TelephonyManager.CALL_WAITING_STATUS_ENABLED
+                            && mUpdateStatus != TelephonyManager.CALL_WAITING_STATUS_DISABLED))) {
+                Log.d(LOG_TAG, "handleSetCallWaitingResponse: Exception");
                 if (mTcpListener != null) {
                     mTcpListener.onError(CallWaitingSwitchPreference.this, RESPONSE_ERROR);
                 }
diff --git a/src/com/android/phone/EmergencyActionGroup.java b/src/com/android/phone/EmergencyActionGroup.java
deleted file mode 100644
index 4961a69..0000000
--- a/src/com/android/phone/EmergencyActionGroup.java
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.phone;
-
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
-import android.annotation.Nullable;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ResolveInfo;
-import android.telephony.TelephonyManager;
-import android.text.Layout;
-import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewAnimationUtils;
-import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityManager;
-import android.view.animation.AnimationUtils;
-import android.view.animation.Interpolator;
-import android.widget.Button;
-import android.widget.FrameLayout;
-import android.widget.TextView;
-
-import java.util.List;
-
-public class EmergencyActionGroup extends FrameLayout implements View.OnClickListener {
-
-    private static final long HIDE_DELAY = 3000;
-    private static final int RIPPLE_DURATION = 600;
-    private static final long RIPPLE_PAUSE = 1000;
-
-    private final Interpolator mFastOutLinearInInterpolator;
-
-    private ViewGroup mSelectedContainer;
-    private TextView mSelectedLabel;
-    private View mRippleView;
-    private View mLaunchHint;
-
-    private View mLastRevealed;
-
-    private MotionEvent mPendingTouchEvent;
-
-    private boolean mHiding;
-
-    public EmergencyActionGroup(Context context, @Nullable AttributeSet attrs) {
-        super(context, attrs);
-        mFastOutLinearInInterpolator = AnimationUtils.loadInterpolator(context,
-                android.R.interpolator.fast_out_linear_in);
-    }
-
-    @Override
-    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
-        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        super.onFinishInflate();
-
-        mSelectedContainer = (ViewGroup) findViewById(R.id.selected_container);
-        mSelectedContainer.setOnClickListener(this);
-        mSelectedLabel = (TextView) findViewById(R.id.selected_label);
-        mSelectedLabel.addOnLayoutChangeListener(mLayoutChangeListener);
-        mRippleView = findViewById(R.id.ripple_view);
-        mLaunchHint = findViewById(R.id.launch_hint);
-        mLaunchHint.addOnLayoutChangeListener(mLayoutChangeListener);
-    }
-
-    @Override
-    protected void onWindowVisibilityChanged(int visibility) {
-        super.onWindowVisibilityChanged(visibility);
-        if (visibility == View.VISIBLE) {
-            setupAssistActions();
-        }
-    }
-
-    /**
-     * Called by the activity before a touch event is dispatched to the view hierarchy.
-     */
-    public void onPreTouchEvent(MotionEvent event) {
-        mPendingTouchEvent = event;
-    }
-
-    @Override
-    public boolean dispatchTouchEvent(MotionEvent event) {
-        boolean handled = super.dispatchTouchEvent(event);
-        if (mPendingTouchEvent == event && handled) {
-            mPendingTouchEvent = null;
-        }
-        return handled;
-    }
-
-    /**
-     * Called by the activity after a touch event is dispatched to the view hierarchy.
-     */
-    public void onPostTouchEvent(MotionEvent event) {
-        // Hide the confirmation button if a touch event was delivered to the activity but not to
-        // this view.
-        if (mPendingTouchEvent != null) {
-            hideTheButton();
-        }
-        mPendingTouchEvent = null;
-    }
-
-    private void setupAssistActions() {
-        int[] buttonIds = new int[] {R.id.action1, R.id.action2, R.id.action3};
-
-        List<ResolveInfo> infos;
-
-        if (TelephonyManager.EMERGENCY_ASSISTANCE_ENABLED) {
-            infos = EmergencyAssistanceHelper.resolveAssistPackageAndQueryActivities(getContext());
-        } else {
-            infos = null;
-        }
-
-        for (int i = 0; i < 3; i++) {
-            Button button = (Button) findViewById(buttonIds[i]);
-            boolean visible = false;
-
-            button.setOnClickListener(this);
-
-            if (infos != null && infos.size() > i && infos.get(i) != null) {
-                ResolveInfo info = infos.get(i);
-                ComponentName name = EmergencyAssistanceHelper.getComponentName(info);
-
-                button.setTag(R.id.tag_intent,
-                        new Intent(EmergencyAssistanceHelper.getIntentAction())
-                                .setComponent(name));
-                button.setText(info.loadLabel(getContext().getPackageManager()));
-                visible = true;
-            }
-
-            button.setVisibility(visible ? View.VISIBLE : View.GONE);
-        }
-    }
-
-    @Override
-    public void onClick(View v) {
-        Intent intent = (Intent) v.getTag(R.id.tag_intent);
-
-        if (v.getId() == R.id.action1 || v.getId() == R.id.action2 || v.getId() == R.id.action3) {
-            AccessibilityManager accessibilityMgr =
-                    (AccessibilityManager) getContext().getSystemService(
-                            Context.ACCESSIBILITY_SERVICE);
-            if (accessibilityMgr.isTouchExplorationEnabled()) {
-                getContext().startActivity(intent);
-            } else {
-                revealTheButton(v);
-            }
-        } else if (v.getId() == R.id.selected_container) {
-            if (!mHiding) {
-                getContext().startActivity(intent);
-            }
-        }
-    }
-
-    private void revealTheButton(View v) {
-        CharSequence buttonText = ((Button) v).getText();
-        mSelectedLabel.setText(buttonText);
-        mSelectedLabel.setAutoSizeTextTypeWithDefaults(TextView.AUTO_SIZE_TEXT_TYPE_UNIFORM);
-
-        // In order to trigger OnLayoutChangeListener for reset default minimum font size.
-        mSelectedLabel.requestLayout();
-        mLaunchHint.requestLayout();
-
-        mSelectedContainer.setVisibility(VISIBLE);
-        int centerX = v.getLeft() + v.getWidth() / 2;
-        int centerY = v.getTop() + v.getHeight() / 2;
-        Animator reveal = ViewAnimationUtils.createCircularReveal(
-                mSelectedContainer,
-                centerX,
-                centerY,
-                0,
-                Math.max(centerX, mSelectedContainer.getWidth() - centerX)
-                        + Math.max(centerY, mSelectedContainer.getHeight() - centerY));
-        reveal.start();
-
-        animateHintText(mSelectedLabel, v, reveal);
-        animateHintText(mLaunchHint, v, reveal);
-
-        mSelectedContainer.setTag(R.id.tag_intent, v.getTag(R.id.tag_intent));
-        mLastRevealed = v;
-        postDelayed(mHideRunnable, HIDE_DELAY);
-        postDelayed(mRippleRunnable, RIPPLE_PAUSE / 2);
-
-        // Transfer focus from the originally clicked button to the expanded button.
-        mSelectedContainer.requestFocus();
-    }
-
-
-    private final OnLayoutChangeListener mLayoutChangeListener = new OnLayoutChangeListener() {
-        @Override
-        public void onLayoutChange(View v, int left, int top, int right, int bottom,
-                int oldLeft,
-                int oldTop, int oldRight, int oldBottom) {
-            decreaseAutoSizeMinTextSize(v);
-        }
-    };
-
-    /**
-     * Prevent some localization string will be truncated if there is low resolution screen
-     * or font size and display size of setting is largest.
-     */
-    private void decreaseAutoSizeMinTextSize(View selectedView) {
-        if (selectedView != null) {
-            if (selectedView instanceof TextView) {
-                TextView textView = (TextView) selectedView;
-                textView.setEllipsize(TextUtils.TruncateAt.END);
-
-                // The textView layout will be null due to it's property is hiding when
-                // initialization.
-                Layout layout = textView.getLayout();
-                if (layout != null) {
-                    if (layout.getEllipsisCount(textView.getMaxLines() - 1) > 0) {
-                        textView.setAutoSizeTextTypeUniformWithConfiguration(
-                                8,
-                                textView.getAutoSizeMaxTextSize(),
-                                textView.getAutoSizeStepGranularity(),
-                                TypedValue.COMPLEX_UNIT_SP);
-                        textView.setGravity(Gravity.CENTER);
-                    }
-                }
-            }
-        }
-    }
-
-    private void animateHintText(View selectedView, View v, Animator reveal) {
-        selectedView.setTranslationX(
-                (v.getLeft() + v.getWidth() / 2 - mSelectedContainer.getWidth() / 2) / 5);
-        selectedView.animate()
-                .setDuration(reveal.getDuration() / 3)
-                .setStartDelay(reveal.getDuration() / 5)
-                .translationX(0)
-                .setInterpolator(mFastOutLinearInInterpolator)
-                .start();
-    }
-
-    private void hideTheButton() {
-        if (mHiding || mSelectedContainer.getVisibility() != VISIBLE) {
-            return;
-        }
-
-        mHiding = true;
-
-        removeCallbacks(mHideRunnable);
-
-        View v = mLastRevealed;
-        int centerX = v.getLeft() + v.getWidth() / 2;
-        int centerY = v.getTop() + v.getHeight() / 2;
-        Animator reveal = ViewAnimationUtils.createCircularReveal(
-                mSelectedContainer,
-                centerX,
-                centerY,
-                Math.max(centerX, mSelectedContainer.getWidth() - centerX)
-                        + Math.max(centerY, mSelectedContainer.getHeight() - centerY),
-                0);
-        reveal.addListener(new AnimatorListenerAdapter() {
-            @Override
-            public void onAnimationEnd(Animator animation) {
-                mSelectedContainer.setVisibility(INVISIBLE);
-                removeCallbacks(mRippleRunnable);
-                mHiding = false;
-            }
-        });
-        reveal.start();
-
-        // Transfer focus back to the originally clicked button.
-        if (mSelectedContainer.isFocused()) {
-            v.requestFocus();
-        }
-    }
-
-    private void startRipple() {
-        final View ripple = mRippleView;
-        ripple.animate().cancel();
-        ripple.setVisibility(VISIBLE);
-        Animator reveal = ViewAnimationUtils.createCircularReveal(
-                ripple,
-                ripple.getLeft() + ripple.getWidth() / 2,
-                ripple.getTop() + ripple.getHeight() / 2,
-                0,
-                ripple.getWidth() / 2);
-        reveal.setDuration(RIPPLE_DURATION);
-        reveal.start();
-
-        ripple.setAlpha(0);
-        ripple.animate().alpha(1).setDuration(RIPPLE_DURATION / 2)
-                .withEndAction(new Runnable() {
-            @Override
-            public void run() {
-                ripple.animate().alpha(0).setDuration(RIPPLE_DURATION / 2)
-                        .withEndAction(new Runnable() {
-                            @Override
-                            public void run() {
-                                ripple.setVisibility(INVISIBLE);
-                                postDelayed(mRippleRunnable, RIPPLE_PAUSE);
-                            }
-                        }).start();
-            }
-        }).start();
-    }
-
-    private final Runnable mHideRunnable = new Runnable() {
-        @Override
-        public void run() {
-            if (!isAttachedToWindow()) return;
-            hideTheButton();
-        }
-    };
-
-    private final Runnable mRippleRunnable = new Runnable() {
-        @Override
-        public void run() {
-            if (!isAttachedToWindow()) return;
-            startRipple();
-        }
-    };
-}
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 42bfb24..9b7a43e 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -173,9 +173,8 @@
     // determines if we want to playback local DTMF tones.
     private boolean mDTMFToneEnabled;
 
-    private EmergencyActionGroup mEmergencyActionGroup;
-
-    private EmergencyInfoGroup mEmergencyInfoGroup;
+    private EmergencyInfoGroup mEmergencyInfoInDialpad;
+    private EmergencyInfoGroup mEmergencyInfoInShortcut;
 
     // close activity when screen turns off
     private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@@ -357,9 +356,13 @@
         intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
         registerReceiver(mBroadcastReceiver, intentFilter);
 
-        mEmergencyActionGroup = (EmergencyActionGroup) findViewById(R.id.emergency_action_group);
+        mEmergencyInfoInDialpad = findViewById(R.id.emergency_dialer)
+                .findViewById(R.id.emergency_info_button);
 
-        mEmergencyInfoGroup = (EmergencyInfoGroup) findViewById(R.id.emergency_info_button);
+        mEmergencyInfoInShortcut = findViewById(R.id.emergency_dialer_shortcuts)
+                .findViewById(R.id.emergency_info_button);
+
+        setupEmergencyDialpadViews();
 
         if (mShortcutViewConfig.isEnabled()) {
             setupEmergencyShortcutsView();
@@ -968,6 +971,10 @@
         }
     }
 
+    private void setupEmergencyDialpadViews() {
+        mEmergencyInfoInDialpad.setOnConfirmClickListener(this);
+    }
+
     private void setupEmergencyShortcutsView() {
         mEmergencyShortcutView = findViewById(R.id.emergency_dialer_shortcuts);
         mDialpadView = findViewById(R.id.emergency_dialer);
@@ -978,7 +985,7 @@
         final View dialpadButton = findViewById(R.id.floating_action_button_dialpad);
         dialpadButton.setOnClickListener(this);
 
-        mEmergencyInfoGroup.setOnConfirmClickListener(this);
+        mEmergencyInfoInShortcut.setOnConfirmClickListener(this);
 
         mEmergencyShortcutButtonList = new ArrayList<>();
         setupEmergencyCallShortcutButton();
@@ -1076,8 +1083,8 @@
      * Called by the activity before a touch event is dispatched to the view hierarchy.
      */
     private void onPreTouchEvent(MotionEvent event) {
-        mEmergencyActionGroup.onPreTouchEvent(event);
-        mEmergencyInfoGroup.onPreTouchEvent(event);
+        mEmergencyInfoInDialpad.onPreTouchEvent(event);
+        mEmergencyInfoInShortcut.onPreTouchEvent(event);
 
         if (mEmergencyShortcutButtonList != null) {
             for (EmergencyShortcutButton button : mEmergencyShortcutButtonList) {
@@ -1090,8 +1097,8 @@
      * Called by the activity after a touch event is dispatched to the view hierarchy.
      */
     private void onPostTouchEvent(MotionEvent event) {
-        mEmergencyActionGroup.onPostTouchEvent(event);
-        mEmergencyInfoGroup.onPostTouchEvent(event);
+        mEmergencyInfoInDialpad.onPostTouchEvent(event);
+        mEmergencyInfoInShortcut.onPostTouchEvent(event);
 
         if (mEmergencyShortcutButtonList != null) {
             for (EmergencyShortcutButton button : mEmergencyShortcutButtonList) {
diff --git a/src/com/android/phone/ImsProvisioningController.java b/src/com/android/phone/ImsProvisioningController.java
index d78e565..696f567 100644
--- a/src/com/android/phone/ImsProvisioningController.java
+++ b/src/com/android/phone/ImsProvisioningController.java
@@ -16,6 +16,8 @@
 
 package com.android.phone;
 
+import static android.telephony.ims.ImsRcsManager.CAPABILITY_TYPE_OPTIONS_UCE;
+import static android.telephony.ims.ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE;
 import static android.telephony.ims.ProvisioningManager.KEY_EAB_PROVISIONING_STATUS;
 import static android.telephony.ims.ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE;
 import static android.telephony.ims.ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS;
@@ -29,8 +31,6 @@
 import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT;
 import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO;
 import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE;
-import static android.telephony.ims.feature.RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_OPTIONS_UCE;
-import static android.telephony.ims.feature.RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE;
 import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM;
 import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN;
 import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_LTE;
@@ -202,7 +202,7 @@
     /**
      * This class contains the provisioning status to notify changes.
      * {{@link MmTelCapabilities.MmTelCapability} for MMTel services}
-     * {{@link RcsImsCapabilities.RcsImsCapabilityFlag} for RCS services}
+     * {{@link android.telephony.ims.ImsRcsManager.RcsImsCapabilityFlag} for RCS services}
      * {{@link ImsRegistrationImplBase.ImsRegistrationTech} for Registration tech}
      */
     private static final class FeatureProvisioningData {
@@ -496,8 +496,15 @@
             int value = ImsProvisioningLoader.STATUS_NOT_SET;
 
             // updating KEY_VOLTE_PROVISIONING_STATUS
-            required = isProvisioningRequired(subId, CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE,
-                    /*isMmTel*/true);
+            try {
+                required = isImsProvisioningRequiredForCapability(subId, CAPABILITY_TYPE_VOICE,
+                        REGISTRATION_TECH_LTE);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_VOLTE_PROVISIONING_STATUS failed for"
+                        + " subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
             log(LOG_PREFIX, mSlotId,
                     "setInitialProvisioningKeys provisioning required(voice, lte) " + required);
             if (required) {
@@ -511,8 +518,15 @@
             }
 
             // updating KEY_VT_PROVISIONING_STATUS
-            required = isProvisioningRequired(subId, CAPABILITY_TYPE_VIDEO, REGISTRATION_TECH_LTE,
-                    /*isMmTel*/true);
+            try {
+                required = isImsProvisioningRequiredForCapability(subId, CAPABILITY_TYPE_VIDEO,
+                        REGISTRATION_TECH_LTE);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_VT_PROVISIONING_STATUS failed for"
+                        + " subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
             log(LOG_PREFIX, mSlotId,
                     "setInitialProvisioningKeys provisioning required(video, lte) " + required);
             if (required) {
@@ -526,8 +540,15 @@
             }
 
             // updating KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE
-            required = isProvisioningRequired(subId, CAPABILITY_TYPE_VOICE,
-                    REGISTRATION_TECH_IWLAN, /*isMmTel*/true);
+            try {
+                required = isImsProvisioningRequiredForCapability(subId, CAPABILITY_TYPE_VOICE,
+                        REGISTRATION_TECH_IWLAN);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE failed"
+                        + " for subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
             log(LOG_PREFIX, mSlotId,
                     "setInitialProvisioningKeys provisioning required(voice, iwlan) " + required);
             if (required) {
@@ -647,6 +668,10 @@
             return retValue;
         }
 
+        public boolean isConnectionReady() {
+            return mReady;
+        }
+
         public void onRcsAvailable() {
             log(LOG_PREFIX, mSlotId, "onRcsAvailable");
 
@@ -681,7 +706,14 @@
             // Assume that all radio techs have the same provisioning value
             int tech = REGISTRATION_TECH_LTE;
 
-            required = isProvisioningRequired(subId, capability, tech, /*isMmTel*/false);
+            try {
+                required = isRcsProvisioningRequiredForCapability(subId, capability, tech);
+            } catch (IllegalArgumentException e) {
+                logw("setInitialProvisioningKeys: KEY_EAB_PROVISIONING_STATUS failed for"
+                        + " subId=" + subId + ", exception: " + e.getMessage());
+                return;
+            }
+
             if (required) {
                 value = mImsProvisioningLoader.getProvisioningStatus(subId, FEATURE_RCS,
                         capability, tech);
@@ -889,8 +921,27 @@
             throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
         }
 
+        // check new carrier config first KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE
         boolean retVal = isProvisioningRequired(subId, capability, tech, /*isMmTel*/true);
 
+        // if that returns false, check deprecated carrier config
+        // KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL
+        if (!retVal && (capability == CAPABILITY_TYPE_VOICE
+                || capability == CAPABILITY_TYPE_VIDEO
+                || capability == CAPABILITY_TYPE_UT)) {
+            String key = CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL;
+            if (capability == CAPABILITY_TYPE_UT) {
+                key = CarrierConfigManager.KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL;
+            }
+
+            PersistableBundle imsCarrierConfigs = mCarrierConfigManager.getConfigForSubId(subId);
+            if (imsCarrierConfigs != null) {
+                retVal = imsCarrierConfigs.getBoolean(key);
+            } else {
+                retVal = CarrierConfigManager.getDefaultConfig().getBoolean(key);
+            }
+        }
+
         log("isImsProvisioningRequiredForCapability capability " + capability
                 + " tech " + tech + " return value " + retVal);
 
@@ -920,8 +971,22 @@
             throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
         }
 
+        // check new carrier config first KEY_RCS_REQUIRES_PROVISIONING_BUNDLE
         boolean retVal = isProvisioningRequired(subId, capability, tech, /*isMmTel*/false);
 
+        // if that returns false, check deprecated carrier config
+        // KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL
+        if (!retVal) {
+            PersistableBundle imsCarrierConfigs = mCarrierConfigManager.getConfigForSubId(subId);
+            if (imsCarrierConfigs != null) {
+                retVal = imsCarrierConfigs.getBoolean(
+                        CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL);
+            } else {
+                retVal = CarrierConfigManager.getDefaultConfig().getBoolean(
+                        CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL);
+            }
+        }
+
         log("isRcsProvisioningRequiredForCapability capability " + capability
                 + " tech " + tech + " return value " + retVal);
 
@@ -1056,8 +1121,19 @@
         int key =  ProvisioningManager.KEY_EAB_PROVISIONING_STATUS;
         int value = getIntValue(isProvisioned);
         try {
-            // set key and value to vendor ImsService for Rcs
-            mRcsFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+            // On some older devices, EAB is managed on the MmTel ImsService when the RCS
+            // ImsService is not configured. If there is no RCS ImsService defined, fallback to
+            // MmTel. In the rare case that we hit a race condition where the RCS ImsService has
+            // crashed or has not come up yet, the value will be synchronized via
+            // setInitialProvisioningKeys().
+            if (mRcsFeatureListenersSlotMap.get(slotId).isConnectionReady()) {
+                mRcsFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+            }
+
+            // EAB provisioning status should be updated to both the Rcs and MmTel ImsService,
+            // because the provisioning callback is listening to only MmTel provisioning key
+            // changes.
+            mMmTelFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
         } catch (NullPointerException e) {
             loge("can not access RcsFeatureListener with capability " + capability);
         }
@@ -1094,14 +1170,21 @@
         }
 
         try {
-            if (key == KEY_EAB_PROVISIONING_STATUS) {
-                // set key and value to vendor ImsService for Rcs
-                retVal = mRcsFeatureListenersSlotMap.get(slotId)
-                        .setProvisioningValue(key, value);
-            } else {
-                // set key and value to vendor ImsService for MmTel
-                retVal = mMmTelFeatureListenersSlotMap.get(slotId)
-                        .setProvisioningValue(key, value);
+            // set key and value to vendor ImsService for MmTel
+            // EAB provisioning status should be updated to both the Rcs and MmTel ImsService,
+            // because the provisioning callback is listening to only MmTel provisioning key
+            // changes.
+            retVal = mMmTelFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
+
+            // If the  Rcs ImsService is not available, the EAB provisioning status will be written
+            // to the MmTel ImsService for backwards compatibility. In the rare case that this is
+            // hit due to RCS ImsService temporarily unavailable, the value will be synchronized
+            // via setInitialProvisioningKeys() when the RCS ImsService comes back up.
+            if (key == KEY_EAB_PROVISIONING_STATUS
+                    && mRcsFeatureListenersSlotMap.get(slotId).isConnectionReady()) {
+                // set key and value to vendor ImsService for RCS and use retVal from RCS if
+                // related to EAB when possible.
+                retVal = mRcsFeatureListenersSlotMap.get(slotId).setProvisioningValue(key, value);
             }
         } catch (NullPointerException e) {
             loge("can not access FeatureListener to set provisioning value");
@@ -1212,8 +1295,7 @@
         return false;
     }
 
-    @VisibleForTesting
-    protected int[] getTechsFromCarrierConfig(int subId, int capability, boolean isMmTel) {
+    private int[] getTechsFromCarrierConfig(int subId, int capability, boolean isMmTel) {
         String featureKey;
         String capabilityKey;
         if (isMmTel) {
@@ -1272,16 +1354,24 @@
 
     private int getRcsValueFromImsService(int subId, int capability) {
         int config = ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+        int slotId = getSlotId(subId);
 
-        if (capability == CAPABILITY_TYPE_PRESENCE_UCE) {
-            try {
-                config = mRcsFeatureListenersSlotMap.get(getSlotId(subId))
-                        .getProvisioningValue(ProvisioningManager.KEY_EAB_PROVISIONING_STATUS);
-            } catch (NullPointerException e) {
-                logw("can not access RcsFeatureListener");
-            }
-        } else {
+        if (capability != CAPABILITY_TYPE_PRESENCE_UCE) {
             log("Capability " + capability + " has been provisioning");
+            return config;
+        }
+        try {
+            if (mRcsFeatureListenersSlotMap.get(slotId).isConnectionReady()) {
+                config = mRcsFeatureListenersSlotMap.get(slotId)
+                        .getProvisioningValue(ProvisioningManager.KEY_EAB_PROVISIONING_STATUS);
+            } else {
+                log("Rcs ImsService is not available, "
+                        + "EAB provisioning status should be read from MmTel ImsService");
+                config = mMmTelFeatureListenersSlotMap.get(slotId)
+                        .getProvisioningValue(ProvisioningManager.KEY_EAB_PROVISIONING_STATUS);
+            }
+        } catch (NullPointerException e) {
+            logw("can not access FeatureListener : " + e.getMessage());
         }
 
         return config;
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index f2641a1..226664d 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -18,6 +18,7 @@
 
 import static android.Manifest.permission.READ_PHONE_STATE;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.BroadcastOptions;
 import android.app.Notification;
@@ -47,6 +48,7 @@
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
 import android.telephony.PhoneNumberUtils;
+import android.telephony.RadioAccessFamily;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
@@ -59,6 +61,7 @@
 
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.RILConstants;
 import com.android.internal.telephony.TelephonyCapabilities;
 import com.android.internal.telephony.util.NotificationChannelController;
 import com.android.phone.settings.VoicemailSettingsActivity;
@@ -895,15 +898,21 @@
         Log.i(LOG_TAG, msg);
     }
 
-    /**
-     * In case network selection notification shows up repeatedly under
-     * unstable network condition. The logic is to check whether or not
-     * the service state keeps in no service condition for at least
-     * {@link #NETWORK_SELECTION_NOTIFICATION_MAX_PENDING_TIME_IN_MS}.
-     * And checking {@link #NETWORK_SELECTION_NOTIFICATION_MAX_PENDING_TIMES} times.
-     * To avoid the notification showing up for the momentary state.
-     */
     private void shouldShowNotification(int serviceState, int subId) {
+        // "Network selection unavailable" notification should only show when network selection is
+        // visible to the end user. Some CC items e.g. KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL
+        // can be overridden to hide the network selection to the end user. In this case, the
+        // notification is not shown to avoid confusion to the end user.
+        if (!shouldDisplayNetworkSelectOptions(subId)) {
+            logi("Skipping network selection unavailable notification due to carrier policy.");
+            return;
+        }
+
+        // In unstable network condition, the phone may go in and out of service. Add logic here to
+        // debounce the network selection notification. The notification only shows after phone is
+        // out of service, AND fulfills one of the two conditions below:
+        // - Out of service lasts {@link #NETWORK_SELECTION_NOTIFICATION_MAX_PENDING_TIME_IN_MS}
+        // - Or has checked {@link #NETWORK_SELECTION_NOTIFICATION_MAX_PENDING_TIMES} times
         if (serviceState == ServiceState.STATE_OUT_OF_SERVICE) {
             if (mPreviousServiceState.get(subId, STATE_UNKNOWN_SERVICE)
                     != ServiceState.STATE_OUT_OF_SERVICE) {
@@ -955,4 +964,111 @@
     private static long getTimeStamp() {
         return SystemClock.elapsedRealtime();
     }
+
+    // TODO(b/243010310): merge methods below with Settings#MobileNetworkUtils and optimize them.
+    // The methods below are copied from com.android.settings.network.telephony.MobileNetworkUtils
+    // to make sure the network selection unavailable notification should not show when network
+    // selection menu is not visible to the end user in Settings app.
+    private boolean shouldDisplayNetworkSelectOptions(int subId) {
+        final TelephonyManager telephonyManager = mTelephonyManager.createForSubscriptionId(subId);
+        final CarrierConfigManager carrierConfigManager = mContext.getSystemService(
+                CarrierConfigManager.class);
+        final PersistableBundle carrierConfig = carrierConfigManager.getConfigForSubId(subId);
+
+        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID
+                || carrierConfig == null
+                || !carrierConfig.getBoolean(
+                CarrierConfigManager.KEY_OPERATOR_SELECTION_EXPAND_BOOL)
+                || carrierConfig.getBoolean(
+                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
+                || (carrierConfig.getBoolean(CarrierConfigManager.KEY_CSP_ENABLED_BOOL)
+                && !telephonyManager.isManualNetworkSelectionAllowed())) {
+            return false;
+        }
+
+        if (isWorldMode(carrierConfig)) {
+            final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
+                    (int) telephonyManager.getAllowedNetworkTypesForReason(
+                            TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
+            if (networkMode == RILConstants.NETWORK_MODE_LTE_CDMA_EVDO) {
+                return false;
+            }
+            if (shouldSpeciallyUpdateGsmCdma(telephonyManager, carrierConfig)) {
+                return false;
+            }
+            if (networkMode == RILConstants.NETWORK_MODE_LTE_GSM_WCDMA) {
+                return true;
+            }
+        }
+
+        return isGsmBasicOptions(telephonyManager, carrierConfig);
+    }
+
+    private static boolean isWorldMode(@NonNull PersistableBundle carrierConfig) {
+        return carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL);
+    }
+
+    private static boolean shouldSpeciallyUpdateGsmCdma(@NonNull TelephonyManager telephonyManager,
+            @NonNull PersistableBundle carrierConfig) {
+        if (!isWorldMode(carrierConfig)) {
+            return false;
+        }
+
+        final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
+                (int) telephonyManager.getAllowedNetworkTypesForReason(
+                        TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
+        if (networkMode == RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM
+                || networkMode == RILConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA
+                || networkMode == RILConstants.NETWORK_MODE_LTE_TDSCDMA
+                || networkMode == RILConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA
+                || networkMode
+                == RILConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA
+                || networkMode == RILConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) {
+            if (!isTdscdmaSupported(telephonyManager, carrierConfig)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    private static boolean isTdscdmaSupported(@NonNull TelephonyManager telephonyManager,
+            @NonNull PersistableBundle carrierConfig) {
+        if (carrierConfig.getBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL)) {
+            return true;
+        }
+        final String[] numericArray = carrierConfig.getStringArray(
+                CarrierConfigManager.KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY);
+        if (numericArray == null) {
+            return false;
+        }
+        final ServiceState serviceState = telephonyManager.getServiceState();
+        final String operatorNumeric =
+                (serviceState != null) ? serviceState.getOperatorNumeric() : null;
+        if (operatorNumeric == null) {
+            return false;
+        }
+        for (String numeric : numericArray) {
+            if (operatorNumeric.equals(numeric)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static boolean isGsmBasicOptions(@NonNull TelephonyManager telephonyManager,
+            @NonNull PersistableBundle carrierConfig) {
+        if (!carrierConfig.getBoolean(
+                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
+                && carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
+            return true;
+        }
+
+        if (telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) {
+            return true;
+        }
+
+        return false;
+    }
+    // END of TODO:(b/243010310): merge methods above with Settings#MobileNetworkUtils and optimize.
 }
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index 426c473..abbd816 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -32,7 +32,6 @@
 import android.net.ConnectivityManager;
 import android.net.Uri;
 import android.os.AsyncResult;
-import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.os.PersistableBundle;
@@ -47,9 +46,9 @@
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyLocalConnection;
 import android.telephony.TelephonyManager;
-import android.telephony.data.ApnSetting;
 import android.util.LocalLog;
 import android.util.Log;
 import android.widget.Toast;
@@ -60,6 +59,7 @@
 import com.android.internal.telephony.IccCardConstants;
 import com.android.internal.telephony.MmiCode;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneConfigurationManager;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.SettingsObserver;
@@ -67,8 +67,6 @@
 import com.android.internal.telephony.TelephonyComponentFactory;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.data.DataEvaluation.DataDisallowedReason;
-import com.android.internal.telephony.dataconnection.DataConnectionReasons;
-import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataDisallowedReasonType;
 import com.android.internal.telephony.ims.ImsResolver;
 import com.android.internal.telephony.imsphone.ImsPhone;
 import com.android.internal.telephony.imsphone.ImsPhoneCallTracker;
@@ -124,6 +122,7 @@
     private static final int EVENT_DATA_ROAMING_SETTINGS_CHANGED = 15;
     private static final int EVENT_MOBILE_DATA_SETTINGS_CHANGED = 16;
     private static final int EVENT_CARRIER_CONFIG_CHANGED = 17;
+    private static final int EVENT_MULTI_SIM_CONFIG_CHANGED = 18;
 
     // The MMI codes are also used by the InCallScreen.
     public static final int MMI_INITIATE = 51;
@@ -208,6 +207,30 @@
     private final SettingsObserver mSettingsObserver;
     private BinderCallsStats.SettingsObserver mBinderCallsSettingsObserver;
 
+    // Mapping of phone ID to the associated TelephonyCallback. These should be registered without
+    // fine or coarse location since we only use ServiceState for
+    private PhoneAppCallback[] mTelephonyCallbacks;
+
+    private class PhoneAppCallback extends TelephonyCallback implements
+            TelephonyCallback.ServiceStateListener {
+        private final int mSubId;
+
+        PhoneAppCallback(int subId) {
+            mSubId = subId;
+        }
+
+        @Override
+        public void onServiceStateChanged(ServiceState serviceState) {
+            // Note when registering that we should be registering with INCLUDE_LOCATION_DATA_NONE.
+            // PhoneGlobals only uses the state and roaming status, which does not require location.
+            handleServiceStateChanged(serviceState, mSubId);
+        }
+
+        public int getSubId() {
+            return mSubId;
+        }
+    }
+
     private static class EventSimStateChangedBag {
         final int mPhoneId;
         final String mIccStatus;
@@ -339,10 +362,44 @@
                     // refresh the message waiting (voicemail) indicator.
                     refreshMwiIndicator(subId);
                     phone = getPhone(subId);
-                    if (phone != null && isSimLocked(phone)) {
-                        // pass in subType=-1 so handleSimLock can find the actual subType if
-                        // needed. This is safe as valid values for subType are >= 0
-                        handleSimLock(-1, phone);
+                    if (phone != null) {
+                        if (isSimLocked(phone)) {
+                            // pass in subType=-1 so handleSimLock can find the actual subType if
+                            // needed. This is safe as valid values for subType are >= 0
+                            handleSimLock(-1, phone);
+                        }
+                        TelephonyManager tm = getSystemService(TelephonyManager.class);
+                        PhoneAppCallback callback = mTelephonyCallbacks[phone.getPhoneId()];
+                        // TODO: We may need to figure out a way to unregister if subId is invalid
+                        tm.createForSubscriptionId(callback.getSubId())
+                                .unregisterTelephonyCallback(callback);
+                        callback = new PhoneAppCallback(subId);
+                        tm.createForSubscriptionId(subId).registerTelephonyCallback(
+                                TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post,
+                                callback);
+                        mTelephonyCallbacks[phone.getPhoneId()] = callback;
+                    }
+                    break;
+                case EVENT_MULTI_SIM_CONFIG_CHANGED:
+                    int activeModems = (int) ((AsyncResult) msg.obj).result;
+                    TelephonyManager tm = getSystemService(TelephonyManager.class);
+                    // Unregister all previous callbacks
+                    for (int phoneId = 0; phoneId < mTelephonyCallbacks.length; phoneId++) {
+                        PhoneAppCallback callback = mTelephonyCallbacks[phoneId];
+                        if (callback != null) {
+                            tm.createForSubscriptionId(callback.getSubId())
+                                    .unregisterTelephonyCallback(callback);
+                            mTelephonyCallbacks[phoneId] = null;
+                        }
+                    }
+                    // Register callbacks for all active modems
+                    for (int phoneId = 0; phoneId < activeModems; phoneId++) {
+                        int sub = PhoneFactory.getPhone(phoneId).getSubId();
+                        PhoneAppCallback callback = new PhoneAppCallback(sub);
+                        tm.createForSubscriptionId(sub).registerTelephonyCallback(
+                                TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post,
+                                callback);
+                        mTelephonyCallbacks[phoneId] = callback;
                     }
                     break;
             }
@@ -363,11 +420,11 @@
         // Initialize the shim from frameworks/opt/telephony into packages/services/Telephony.
         TelephonyLocalConnection.setInstance(new LocalConnectionImpl(this));
 
+        TelephonyManager tm = getSystemService(TelephonyManager.class);
         // Cache the "voice capable" flag.
         // This flag currently comes from a resource (which is
         // overrideable on a per-product basis):
-        sVoiceCapable = ((TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE))
-                .isVoiceCapable();
+        sVoiceCapable = tm.isVoiceCapable();
         // ...but this might eventually become a PackageManager "system
         // feature" instead, in which case we'd do something like:
         // sVoiceCapable =
@@ -480,12 +537,24 @@
                     new IntentFilter(Intent.ACTION_AIRPLANE_MODE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED);
-            intentFilter.addAction(TelephonyIntents.ACTION_SERVICE_STATE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED);
             intentFilter.addAction(TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
             intentFilter.addAction(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED);
             registerReceiver(mReceiver, intentFilter);
 
+            PhoneConfigurationManager.registerForMultiSimConfigChange(
+                    mHandler, EVENT_MULTI_SIM_CONFIG_CHANGED, null);
+
+            mTelephonyCallbacks = new PhoneAppCallback[tm.getSupportedModemCount()];
+            if (tm.getSupportedModemCount() > 0) {
+                for (Phone phone : PhoneFactory.getPhones()) {
+                    int subId = phone.getSubId();
+                    PhoneAppCallback callback = new PhoneAppCallback(subId);
+                    tm.createForSubscriptionId(subId).registerTelephonyCallback(
+                            TelephonyManager.INCLUDE_LOCATION_DATA_NONE, mHandler::post, callback);
+                    mTelephonyCallbacks[phone.getPhoneId()] = callback;
+                }
+            }
             mCarrierVvmPackageInstalledReceiver.register(this);
 
             //set the default values for the preferences in the phone.
@@ -731,8 +800,6 @@
                 String newPhone = intent.getStringExtra(PhoneConstants.PHONE_NAME_KEY);
                 Log.d(LOG_TAG, "Radio technology switched. Now " + newPhone + " is active.");
                 initForNewRadioTechnology();
-            } else if (action.equals(TelephonyIntents.ACTION_SERVICE_STATE_CHANGED)) {
-                handleServiceStateChanged(intent);
             } else if (action.equals(TelephonyIntents.ACTION_EMERGENCY_CALLBACK_MODE_CHANGED)) {
                 int phoneId = intent.getIntExtra(PhoneConstants.PHONE_KEY, 0);
                 phoneInEcm = PhoneFactory.getPhone(phoneId);
@@ -782,33 +849,17 @@
         }
     }
 
-    private void handleServiceStateChanged(Intent intent) {
-        /**
-         * This used to handle updating EriTextWidgetProvider this routine
-         * and and listening for ACTION_SERVICE_STATE_CHANGED intents could
-         * be removed. But leaving just in case it might be needed in the near
-         * future.
-         */
-
+    private void handleServiceStateChanged(ServiceState serviceState, int subId) {
         if (VDBG) Log.v(LOG_TAG, "handleServiceStateChanged");
-        // If service just returned, start sending out the queued messages
-        Bundle extras = intent.getExtras();
-        if (extras != null) {
-            ServiceState ss = ServiceState.newFromBundle(extras);
-            if (ss != null) {
-                int state = ss.getState();
-                int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
-                        SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-                notificationMgr.updateNetworkSelection(state, subId);
+        int state = serviceState.getState();
+        notificationMgr.updateNetworkSelection(state, subId);
 
-                if (VDBG) {
-                    Log.v(LOG_TAG, "subId=" + subId + ",mDefaultDataSubId="
-                            + mDefaultDataSubId + ",ss roaming=" + ss.getDataRoaming());
-                }
-                if (subId == mDefaultDataSubId) {
-                    updateDataRoamingStatus();
-                }
-            }
+        if (VDBG) {
+            Log.v(LOG_TAG, "subId=" + subId + ", mDefaultDataSubId="
+                    + mDefaultDataSubId + ", ss roaming=" + serviceState.getDataRoaming());
+        }
+        if (subId == mDefaultDataSubId) {
+            updateDataRoamingStatus();
         }
     }
 
@@ -837,22 +888,13 @@
 
         boolean dataAllowed;
         boolean notAllowedDueToRoamingOff;
-        if (phone.isUsingNewDataStack()) {
-            List<DataDisallowedReason> reasons = phone.getDataNetworkController()
-                    .getInternetDataDisallowedReasons();
-            dataAllowed = reasons.isEmpty();
-            notAllowedDueToRoamingOff = (reasons.size() == 1
-                    && reasons.contains(DataDisallowedReason.ROAMING_DISABLED));
-            mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-            if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-        } else {
-            DataConnectionReasons reasons = new DataConnectionReasons();
-            dataAllowed = phone.isDataAllowed(ApnSetting.TYPE_DEFAULT, reasons);
-            notAllowedDueToRoamingOff = reasons.containsOnly(
-                    DataDisallowedReasonType.ROAMING_DISABLED);
-            mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-            if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
-        }
+        List<DataDisallowedReason> reasons = phone.getDataNetworkController()
+                .getInternetDataDisallowedReasons();
+        dataAllowed = reasons.isEmpty();
+        notAllowedDueToRoamingOff = (reasons.size() == 1
+                && reasons.contains(DataDisallowedReason.ROAMING_DISABLED));
+        mDataRoamingNotifLog.log("dataAllowed=" + dataAllowed + ", reasons=" + reasons);
+        if (VDBG) Log.v(LOG_TAG, "dataAllowed=" + dataAllowed + ", reasons=" + reasons);
 
         if (!dataAllowed && notAllowedDueToRoamingOff) {
             // No need to show it again if we never cancelled it explicitly.
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
old mode 100755
new mode 100644
index 1947d91..bdbd5f9
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -31,9 +31,9 @@
 import android.annotation.RequiresPermission;
 import android.app.AppOpsManager;
 import android.app.PendingIntent;
+import android.app.PropertyInvalidatedCache;
 import android.app.compat.CompatChanges;
 import android.app.role.RoleManager;
-import android.compat.Compatibility;
 import android.compat.annotation.ChangeId;
 import android.compat.annotation.EnabledSince;
 import android.content.ComponentName;
@@ -72,6 +72,8 @@
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
+import android.telephony.AccessNetworkConstants;
+import android.telephony.ActivityStatsTechSpecificInfo;
 import android.telephony.Annotation.ApnType;
 import android.telephony.Annotation.DataActivityType;
 import android.telephony.Annotation.ThermalMitigationResult;
@@ -131,8 +133,6 @@
 import android.telephony.ims.aidl.IImsRegistrationCallback;
 import android.telephony.ims.aidl.IRcsConfigCallback;
 import android.telephony.ims.feature.ImsFeature;
-import android.telephony.ims.feature.MmTelFeature;
-import android.telephony.ims.feature.RcsFeature;
 import android.telephony.ims.stub.ImsConfigImplBase;
 import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
@@ -184,7 +184,6 @@
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyPermissions;
 import com.android.internal.telephony.data.DataUtils;
-import com.android.internal.telephony.dataconnection.ApnSettingUtils;
 import com.android.internal.telephony.emergency.EmergencyNumberTracker;
 import com.android.internal.telephony.euicc.EuiccConnector;
 import com.android.internal.telephony.ims.ImsResolver;
@@ -380,6 +379,7 @@
     private SharedPreferences mTelephonySharedPreferences;
     private PhoneConfigurationManager mPhoneConfigurationManager;
     private final RadioInterfaceCapabilityController mRadioInterfaceCapabilities;
+    private final Telephony2gUpdater mTelephony2gUpdater;
 
     /** User Activity */
     private AtomicBoolean mNotifyUserActivity;
@@ -544,7 +544,7 @@
                     request = (MainThreadRequest) msg.obj;
                     final Phone phone = getPhoneFromRequest(request);
                     Pair<String, ResultReceiver> ussdObject = (Pair) request.argument;
-                    String ussdRequest =  ussdObject.first;
+                    String ussdRequest = ussdObject.first;
                     ResultReceiver wrappedCallback = ussdObject.second;
 
                     if (!isUssdApiAllowed(request.subId)) {
@@ -588,15 +588,15 @@
                     uiccPort = getUiccPortFromRequest(request);
                     if (uiccPort == null) {
                         loge("iccTransmitApduLogicalChannel: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_TRANSMIT_APDU_LOGICAL_CHANNEL_DONE,
-                            request);
+                                request);
                         uiccPort.iccTransmitApduLogicalChannel(
-                            iccArgument.channel, iccArgument.cla, iccArgument.command,
-                            iccArgument.p1, iccArgument.p2, iccArgument.p3, iccArgument.data,
-                            onCompleted);
+                                iccArgument.channel, iccArgument.cla, iccArgument.command,
+                                iccArgument.p1, iccArgument.p2, iccArgument.p3, iccArgument.data,
+                                onCompleted);
                     }
                     break;
 
@@ -606,7 +606,7 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         if (ar.result == null) {
                             loge("iccTransmitApduLogicalChannel: Empty response");
                         } else if (ar.exception instanceof CommandException) {
@@ -625,14 +625,15 @@
                     uiccPort = getUiccPortFromRequest(request);
                     if (uiccPort == null) {
                         loge("iccTransmitApduBasicChannel: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_TRANSMIT_APDU_BASIC_CHANNEL_DONE,
-                            request);
+                                request);
                         uiccPort.iccTransmitApduBasicChannel(
-                            iccArgument.cla, iccArgument.command, iccArgument.p1, iccArgument.p2,
-                            iccArgument.p3, iccArgument.data, onCompleted);
+                                iccArgument.cla, iccArgument.command, iccArgument.p1,
+                                iccArgument.p2,
+                                iccArgument.p3, iccArgument.data, onCompleted);
                     }
                     break;
 
@@ -642,7 +643,7 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         if (ar.result == null) {
                             loge("iccTransmitApduBasicChannel: Empty response");
                         } else if (ar.exception instanceof CommandException) {
@@ -661,7 +662,7 @@
                     uiccPort = getUiccPortFromRequest(request);
                     if (uiccPort == null) {
                         loge("iccExchangeSimIO: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_EXCHANGE_SIM_IO_DONE,
@@ -678,7 +679,7 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6f, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6f, 0, (byte[]) null);
                     }
                     notifyRequester(request);
                     break;
@@ -688,11 +689,11 @@
                     uiccPort = getUiccPortFromRequest(request);
                     if (uiccPort == null) {
                         loge("sendEnvelopeWithStatus: No UICC");
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_SEND_ENVELOPE_DONE, request);
-                        uiccPort.sendEnvelopeWithStatus((String)request.argument, onCompleted);
+                        uiccPort.sendEnvelopeWithStatus((String) request.argument, onCompleted);
                     }
                     break;
 
@@ -702,7 +703,7 @@
                     if (ar.exception == null && ar.result != null) {
                         request.result = ar.result;
                     } else {
-                        request.result = new IccIoResult(0x6F, 0, (byte[])null);
+                        request.result = new IccIoResult(0x6F, 0, (byte[]) null);
                         if (ar.result == null) {
                             loge("sendEnvelopeWithStatus: Empty response");
                         } else if (ar.exception instanceof CommandException) {
@@ -723,7 +724,7 @@
                     if (uiccPort == null) {
                         loge("iccOpenLogicalChannel: No UICC");
                         request.result = new IccOpenLogicalChannelResponse(-1,
-                            IccOpenLogicalChannelResponse.STATUS_MISSING_RESOURCE, null);
+                                IccOpenLogicalChannelResponse.STATUS_MISSING_RESOURCE, null);
                         notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_OPEN_CHANNEL_DONE, request);
@@ -747,7 +748,7 @@
                             }
                         }
                         openChannelResp = new IccOpenLogicalChannelResponse(channelId,
-                            IccOpenLogicalChannelResponse.STATUS_NO_ERROR, selectResponse);
+                                IccOpenLogicalChannelResponse.STATUS_NO_ERROR, selectResponse);
 
                         uiccPort = getUiccPortFromRequest(request);
                         if (uiccPort == null) {
@@ -769,7 +770,7 @@
                         int errorCode = IccOpenLogicalChannelResponse.STATUS_UNKNOWN_ERROR;
                         if (ar.exception instanceof CommandException) {
                             CommandException.Error error =
-                                ((CommandException) (ar.exception)).getCommandError();
+                                    ((CommandException) (ar.exception)).getCommandError();
                             if (error == CommandException.Error.MISSING_RESOURCE) {
                                 errorCode = IccOpenLogicalChannelResponse.STATUS_MISSING_RESOURCE;
                             } else if (error == CommandException.Error.NO_SUCH_ELEMENT) {
@@ -777,7 +778,7 @@
                             }
                         }
                         openChannelResp = new IccOpenLogicalChannelResponse(
-                            IccOpenLogicalChannelResponse.INVALID_CHANNEL, errorCode, null);
+                                IccOpenLogicalChannelResponse.INVALID_CHANNEL, errorCode, null);
                     }
                     request.result = openChannelResp;
                     notifyRequester(request);
@@ -788,7 +789,9 @@
                     uiccPort = getUiccPortFromRequest(request);
                     if (uiccPort == null) {
                         loge("iccCloseLogicalChannel: No UICC");
-                        throw new IllegalArgumentException("iccCloseLogicalChannel: No UICC");
+                        request.result = new IllegalArgumentException(
+                                    "iccCloseLogicalChannel: No UICC");
+                        notifyRequester(request);
                     } else {
                         onCompleted = obtainMessage(EVENT_CLOSE_CHANNEL_DONE, request);
                         uiccPort.iccCloseLogicalChannel((Integer) request.argument, onCompleted);
@@ -809,26 +812,22 @@
                         }
                     } else {
                         request.result = false;
+                        Exception exception = null;
                         if (ar.exception instanceof CommandException) {
                             loge("iccCloseLogicalChannel: CommandException: " + ar.exception);
                             CommandException.Error error =
                                     ((CommandException) (ar.exception)).getCommandError();
-                            // before this feature is enabled, this API should only return false if
-                            // the operation fails instead of throwing runtime exception for
-                            // backward-compatibility.
-                            if (Compatibility.isChangeEnabled(
-                                    ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE)
-                                    && error == CommandException.Error.INVALID_ARGUMENTS) {
-                                throw new IllegalArgumentException(
+                            if (error == CommandException.Error.INVALID_ARGUMENTS) {
+                                // should only throw exceptions from the binder threads.
+                                exception = new IllegalArgumentException(
                                         "iccCloseLogicalChannel: invalid argument ");
                             }
                         } else {
                             loge("iccCloseLogicalChannel: Unknown exception");
                         }
-                        if (Compatibility.isChangeEnabled(ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE)) {
-                            throw new IllegalStateException(
-                                    "exception from modem to close iccLogical Channel");
-                        }
+                        request.result = (exception != null) ? exception :
+                                new IllegalStateException(
+                                        "exception from modem to close iccLogical Channel");
                     }
                     notifyRequester(request);
                     break;
@@ -1268,7 +1267,7 @@
                     ar = (AsyncResult) msg.obj;
                     request = (MainThreadRequest) ar.userObj;
                     Consumer<Integer> callback = (Consumer<Integer>) request.argument;
-                    int callForwardingStatus = TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR;
+                    int callWaitingStatus = TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR;
                     if (ar.exception == null && ar.result != null) {
                         int[] callForwardResults = (int[]) ar.result;
                         // Service Class is a bit mask per 3gpp 27.007.
@@ -1276,11 +1275,11 @@
                         if (callForwardResults.length > 1
                                 && ((callForwardResults[1]
                                 & CommandsInterface.SERVICE_CLASS_VOICE) > 0)) {
-                            callForwardingStatus = callForwardResults[0] == 0
+                            callWaitingStatus = callForwardResults[0] == 0
                                     ? TelephonyManager.CALL_WAITING_STATUS_DISABLED
                                     : TelephonyManager.CALL_WAITING_STATUS_ENABLED;
                         } else {
-                            callForwardingStatus = TelephonyManager.CALL_WAITING_STATUS_DISABLED;
+                            callWaitingStatus = TelephonyManager.CALL_WAITING_STATUS_DISABLED;
                         }
                     } else {
                         if (ar.result == null) {
@@ -1293,12 +1292,15 @@
                             CommandException.Error error =
                                     ((CommandException) (ar.exception)).getCommandError();
                             if (error == CommandException.Error.REQUEST_NOT_SUPPORTED) {
-                                callForwardingStatus =
+                                callWaitingStatus =
                                         TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED;
+                            } else if (error == CommandException.Error.FDN_CHECK_FAILURE) {
+                                callWaitingStatus =
+                                        TelephonyManager.CALL_WAITING_STATUS_FDN_CHECK_FAILURE;
                             }
                         }
                     }
-                    callback.accept(callForwardingStatus);
+                    callback.accept(callWaitingStatus);
                     break;
                 }
 
@@ -1323,6 +1325,9 @@
                                     ((CommandException) (ar.exception)).getCommandError();
                             if (error == CommandException.Error.REQUEST_NOT_SUPPORTED) {
                                 callback.accept(TelephonyManager.CALL_WAITING_STATUS_NOT_SUPPORTED);
+                            } else if (error == CommandException.Error.FDN_CHECK_FAILURE) {
+                                callback.accept(
+                                        TelephonyManager.CALL_WAITING_STATUS_FDN_CHECK_FAILURE);
                             } else {
                                 callback.accept(TelephonyManager.CALL_WAITING_STATUS_UNKNOWN_ERROR);
                             }
@@ -1408,43 +1413,39 @@
                     ar = (AsyncResult) msg.obj;
                     request = (MainThreadRequest) ar.userObj;
                     ResultReceiver result = (ResultReceiver) request.argument;
-
-                    ModemActivityInfo ret = null;
                     int error = 0;
+                    if (mLastModemActivityInfo == null) {
+                        mLastModemActivitySpecificInfo = new ActivityStatsTechSpecificInfo[1];
+                        mLastModemActivitySpecificInfo[0] =
+                                new ActivityStatsTechSpecificInfo(
+                                        0,
+                                        0,
+                                        new int[ModemActivityInfo.getNumTxPowerLevels()],
+                                        0);
+                        mLastModemActivityInfo =
+                                new ModemActivityInfo(0, 0, 0, mLastModemActivitySpecificInfo);
+                    }
+
                     if (ar.exception == null && ar.result != null) {
                         // Update the last modem activity info and the result of the request.
                         ModemActivityInfo info = (ModemActivityInfo) ar.result;
                         if (isModemActivityInfoValid(info)) {
-                            int[] mergedTxTimeMs = new int[ModemActivityInfo.getNumTxPowerLevels()];
-                            int[] txTimeMs = info.getTransmitTimeMillis();
-                            int[] lastModemTxTimeMs = mLastModemActivityInfo
-                                    .getTransmitTimeMillis();
-                            for (int i = 0; i < mergedTxTimeMs.length; i++) {
-                                mergedTxTimeMs[i] = txTimeMs[i] + lastModemTxTimeMs[i];
-                            }
-                            mLastModemActivityInfo.setTimestamp(info.getTimestampMillis());
-                            mLastModemActivityInfo.setSleepTimeMillis(info.getSleepTimeMillis()
-                                    + mLastModemActivityInfo.getSleepTimeMillis());
-                            mLastModemActivityInfo.setIdleTimeMillis(info.getIdleTimeMillis()
-                                    + mLastModemActivityInfo.getIdleTimeMillis());
-                            mLastModemActivityInfo.setTransmitTimeMillis(mergedTxTimeMs);
-                            mLastModemActivityInfo.setReceiveTimeMillis(
-                                    info.getReceiveTimeMillis()
-                                            + mLastModemActivityInfo.getReceiveTimeMillis());
+                            mergeModemActivityInfo(info);
                         }
-                        ret = new ModemActivityInfo(mLastModemActivityInfo.getTimestampMillis(),
-                                mLastModemActivityInfo.getSleepTimeMillis(),
-                                mLastModemActivityInfo.getIdleTimeMillis(),
-                                mLastModemActivityInfo.getTransmitTimeMillis(),
-                                mLastModemActivityInfo.getReceiveTimeMillis());
+                        mLastModemActivityInfo =
+                                new ModemActivityInfo(
+                                        mLastModemActivityInfo.getTimestampMillis(),
+                                        mLastModemActivityInfo.getSleepTimeMillis(),
+                                        mLastModemActivityInfo.getIdleTimeMillis(),
+                                        mLastModemActivitySpecificInfo);
+
                     } else {
                         if (ar.result == null) {
                             loge("queryModemActivityInfo: Empty response");
                             error = TelephonyManager.ModemActivityInfoException
                                     .ERROR_INVALID_INFO_RECEIVED;
                         } else if (ar.exception instanceof CommandException) {
-                            loge("queryModemActivityInfo: CommandException: " +
-                                    ar.exception);
+                            loge("queryModemActivityInfo: CommandException: " + ar.exception);
                             error = TelephonyManager.ModemActivityInfoException
                                     .ERROR_MODEM_RESPONSE_ERROR;
                         } else {
@@ -1454,8 +1455,10 @@
                         }
                     }
                     Bundle bundle = new Bundle();
-                    if (ret != null) {
-                        bundle.putParcelable(TelephonyManager.MODEM_ACTIVITY_RESULT_KEY, ret);
+                    if (mLastModemActivityInfo != null) {
+                        bundle.putParcelable(
+                                TelephonyManager.MODEM_ACTIVITY_RESULT_KEY,
+                                mLastModemActivityInfo);
                     } else {
                         bundle.putInt(TelephonyManager.EXCEPTION_RESULT_KEY, error);
                     }
@@ -2133,7 +2136,8 @@
                 case CMD_PREPARE_UNATTENDED_REBOOT:
                     request = (MainThreadRequest) msg.obj;
                     request.result =
-                            UiccController.getInstance().getPinStorage().prepareUnattendedReboot();
+                            UiccController.getInstance().getPinStorage()
+                                .prepareUnattendedReboot(request.workSource);
                     notifyRequester(request);
                     break;
 
@@ -2342,7 +2346,10 @@
         mPhoneConfigurationManager = PhoneConfigurationManager.getInstance();
         mRadioInterfaceCapabilities = RadioInterfaceCapabilityController.getInstance();
         mNotifyUserActivity = new AtomicBoolean(false);
-
+        PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
+        mTelephony2gUpdater = new Telephony2gUpdater(
+                Executors.newSingleThreadExecutor(), mApp);
+        mTelephony2gUpdater.init();
         publish();
     }
 
@@ -2857,13 +2864,8 @@
             int subId = mSubscriptionController.getDefaultDataSubId();
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                if (phone.isUsingNewDataStack()) {
-                    phone.getDataSettingsManager().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, true, callingPackage);
-                } else {
-                    phone.getDataEnabledSettings().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, true);
-                }
+                phone.getDataSettingsManager().setDataEnabled(
+                        TelephonyManager.DATA_ENABLED_REASON_USER, true, callingPackage);
                 return true;
             } else {
                 return false;
@@ -2883,13 +2885,8 @@
             int subId = mSubscriptionController.getDefaultDataSubId();
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                if (phone.isUsingNewDataStack()) {
-                    phone.getDataSettingsManager().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, false, callingPackage);
-                } else {
-                    phone.getDataEnabledSettings().setDataEnabled(
-                            TelephonyManager.DATA_ENABLED_REASON_USER, false);
-                }
+                phone.getDataSettingsManager().setDataEnabled(
+                        TelephonyManager.DATA_ENABLED_REASON_USER, false, callingPackage);
                 return true;
             } else {
                 return false;
@@ -3005,10 +3002,7 @@
         try {
             final Phone phone = getPhone(subId);
             if (phone != null) {
-                if (phone.isUsingNewDataStack()) {
-                    return phone.getDataNetworkController().getInternetDataNetworkState();
-                }
-                return PhoneConstantConversions.convertDataState(phone.getDataConnectionState());
+                return phone.getDataNetworkController().getInternetDataNetworkState();
             } else {
                 return PhoneConstantConversions.convertDataState(
                         PhoneConstants.DataState.DISCONNECTED);
@@ -4644,10 +4638,16 @@
             throw new IllegalArgumentException("Invalid Subscription ID: " + subId);
         }
 
-        ImsProvisioningController.getInstance()
-                .addFeatureProvisioningChangedCallback(subId, callback);
-
-        Binder.restoreCallingIdentity(identity);
+        try {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                throw new ServiceSpecificException(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION,
+                        "Device does not support IMS");
+            }
+            controller.addFeatureProvisioningChangedCallback(subId, callback);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
     }
 
     @Override
@@ -4661,10 +4661,16 @@
             throw new IllegalArgumentException("Invalid Subscription ID: " + subId);
         }
 
-        ImsProvisioningController.getInstance()
-                .removeFeatureProvisioningChangedCallback(subId, callback);
-
-        Binder.restoreCallingIdentity(identity);
+        try {
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("unregisterFeatureProvisioningChangedCallback: Device does not support IMS");
+                return;
+            }
+            controller.removeFeatureProvisioningChangedCallback(subId, callback);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
     }
 
     private void checkModifyPhoneStatePermission(int subId, String message) {
@@ -4672,25 +4678,6 @@
                 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, int tech,
             boolean isProvisioned) {
@@ -4698,9 +4685,13 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsProvisioningController.getInstance()
-                    .setRcsProvisioningStatusForCapability(subId, capability, tech, isProvisioned);
-            return;
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("setRcsProvisioningStatusForCapability: Device does not support IMS");
+                return;
+            }
+            controller.setRcsProvisioningStatusForCapability(
+                    subId, capability, tech, isProvisioned);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4714,8 +4705,14 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            return ImsProvisioningController.getInstance()
-                    .getRcsProvisioningStatusForCapability(subId, capability, tech);
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("getRcsProvisioningStatusForCapability: Device does not support IMS");
+
+                // device does not support IMS, this method will return true always.
+                return true;
+            }
+            return controller.getRcsProvisioningStatusForCapability(subId, capability, tech);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4728,8 +4725,13 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            ImsProvisioningController.getInstance()
-                    .setImsProvisioningStatusForCapability(subId, capability, tech, isProvisioned);
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("setImsProvisioningStatusForCapability: Device does not support IMS");
+                return;
+            }
+            controller.setImsProvisioningStatusForCapability(
+                    subId, capability, tech, isProvisioned);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4742,9 +4744,14 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            return ImsProvisioningController.getInstance()
-                    .getImsProvisioningStatusForCapability(subId, capability, tech);
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("getImsProvisioningStatusForCapability: Device does not support IMS");
 
+                // device does not support IMS, this method will return true always.
+                return true;
+            }
+            return controller.getImsProvisioningStatusForCapability(subId, capability, tech);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4757,8 +4764,14 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            return ImsProvisioningController.getInstance()
-                    .isImsProvisioningRequiredForCapability(subId, capability, tech);
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("isProvisioningRequiredForCapability: Device does not support IMS");
+
+                // device does not support IMS, this method will return false
+                return false;
+            }
+            return controller.isImsProvisioningRequiredForCapability(subId, capability, tech);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -4771,78 +4784,19 @@
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            return ImsProvisioningController.getInstance()
-                    .isRcsProvisioningRequiredForCapability(subId, capability, tech);
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("isRcsProvisioningRequiredForCapability: Device does not support IMS");
+
+                // device does not support IMS, this method will return false
+                return false;
+            }
+            return controller.isRcsProvisioningRequiredForCapability(subId, capability, tech);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
     }
 
-    private static String getMmTelProvisioningKey(int subId, int tech) {
-        // resulting key is provision_ims_mmtel_{subId}_{tech}
-        return PREF_PROVISION_IMS_MMTEL_PREFIX + subId + "_" + tech;
-    }
-
-    /**
-     * Query CarrierConfig to see if the specified capability requires provisioning for the
-     * carrier associated with the subscription id.
-     */
-    private boolean doesImsCapabilityRequireProvisioning(Context context, int subId,
-            int capability) {
-        CarrierConfigManager configManager = new CarrierConfigManager(context);
-        PersistableBundle c = configManager.getConfigForSubId(subId);
-        boolean requireUtProvisioning = c.getBoolean(
-                CarrierConfigManager.KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL, false)
-                && c.getBoolean(CarrierConfigManager.KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL,
-                false);
-        boolean requireVoiceVtProvisioning = c.getBoolean(
-                CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, false);
-
-        // First check to make sure that the capability requires provisioning.
-        switch (capability) {
-            case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE:
-                // intentional fallthrough
-            case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO: {
-                if (requireVoiceVtProvisioning) {
-                    // Voice and Video requires provisioning
-                    return true;
-                }
-                break;
-            }
-            case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT: {
-                if (requireUtProvisioning) {
-                    // UT requires provisioning
-                    return true;
-                }
-                break;
-            }
-        }
-        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)) {
@@ -4861,7 +4815,14 @@
                 return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
             }
 
-            int retVal = ImsProvisioningController.getInstance().getProvisioningValue(subId, key);
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("getImsProvisioningInt: Device does not support IMS");
+
+                // device does not support IMS, this method will return CONFIG_RESULT_UNKNOWN.
+                return ImsConfigImplBase.CONFIG_RESULT_UNKNOWN;
+            }
+            int retVal = controller.getProvisioningValue(subId, key);
             if (retVal != ImsConfigImplBase.CONFIG_RESULT_UNKNOWN) {
                 return retVal;
             }
@@ -4921,8 +4882,14 @@
                 return ImsConfigImplBase.CONFIG_RESULT_FAILED;
             }
 
-            int retVal = ImsProvisioningController.getInstance()
-                    .setProvisioningValue(subId, key, value);
+            ImsProvisioningController controller = ImsProvisioningController.getInstance();
+            if (controller == null) {
+                loge("setImsProvisioningInt: Device does not support IMS");
+
+                // device does not support IMS, this method will return CONFIG_RESULT_FAILED.
+                return ImsConfigImplBase.CONFIG_RESULT_FAILED;
+            }
+            int retVal = controller.setProvisioningValue(subId, key, value);
             if (retVal != ImsConfigImplBase.CONFIG_RESULT_UNKNOWN) {
                 return retVal;
             }
@@ -5289,13 +5256,31 @@
 
     private boolean iccCloseLogicalChannelWithPermission(Phone phone,
             IccLogicalChannelRequest request) {
+        // before this feature is enabled, this API should only return false if
+        // the operation fails instead of throwing runtime exception for
+        // backward-compatibility.
+        final boolean shouldThrowExceptionOnFailure = CompatChanges.isChangeEnabled(
+                ICC_CLOSE_CHANNEL_EXCEPTION_ON_FAILURE, Binder.getCallingUid());
         final long identity = Binder.clearCallingIdentity();
         try {
             if (request.channel < 0) {
                 throw new IllegalArgumentException("request.channel is less than 0");
             }
-            Boolean success = (Boolean) sendRequest(CMD_CLOSE_CHANNEL, request.channel, phone,
+            Object result = sendRequest(CMD_CLOSE_CHANNEL, request.channel, phone,
                     null /* workSource */);
+            Boolean success = false;
+            if (result instanceof RuntimeException) {
+                // if there is an exception returned, throw from the binder thread here.
+                if (shouldThrowExceptionOnFailure) {
+                    throw (RuntimeException) result;
+                } else {
+                    return false;
+                }
+            } else if (result instanceof Boolean) {
+                success = (Boolean) result;
+            } else {
+                loge("iccCloseLogicalChannelWithPermission: supported return type " + result);
+            }
             if (DBG) log("iccCloseLogicalChannelWithPermission: success=" + success);
             return success;
         } finally {
@@ -6504,6 +6489,17 @@
             @TelephonyManager.NetworkTypeBitMask long allowedNetworkTypes) {
         TelephonyPermissions.enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(
                 mApp, subId, "setAllowedNetworkTypesForReason");
+        // If the caller only has carrier privileges, then they should not be able to override
+        // any network types which were set for security reasons.
+        if (mApp.checkCallingOrSelfPermission(Manifest.permission.MODIFY_PHONE_STATE)
+                != PERMISSION_GRANTED
+                && (reason == TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G
+                || reason == TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS)) {
+            throw new SecurityException(
+                    "setAllowedNetworkTypesForReason cannot be called with carrier privileges for"
+                            + " reason "
+                            + reason);
+        }
         if (!TelephonyManager.isValidAllowedNetworkTypesReason(reason)) {
             loge("setAllowedNetworkTypesForReason: Invalid allowed network type reason: " + reason);
             return false;
@@ -6653,11 +6649,7 @@
             Phone phone = PhoneFactory.getPhone(phoneId);
             if (phone != null) {
                 boolean retVal;
-                if (phone.isUsingNewDataStack()) {
-                    retVal = phone.getDataSettingsManager().isDataEnabled();
-                } else {
-                    retVal = phone.getDataEnabledSettings().isDataEnabled();
-                }
+                retVal = phone.getDataSettingsManager().isDataEnabled();
                 if (DBG) log("isDataEnabled: " + retVal + ", subId=" + subId);
                 return retVal;
             } else {
@@ -6709,15 +6701,7 @@
             Phone phone = PhoneFactory.getPhone(phoneId);
             if (phone != null) {
                 boolean retVal;
-                if (phone.isUsingNewDataStack()) {
-                    retVal = phone.getDataSettingsManager().isDataEnabledForReason(reason);
-                } else {
-                    if (reason == TelephonyManager.DATA_ENABLED_REASON_USER) {
-                        retVal = phone.isUserDataEnabled();
-                    } else {
-                        retVal = phone.getDataEnabledSettings().isDataEnabledForReason(reason);
-                    }
-                }
+                retVal = phone.getDataSettingsManager().isDataEnabledForReason(reason);
                 if (DBG) log("isDataEnabledForReason: retVal=" + retVal);
                 return retVal;
             } else {
@@ -7526,16 +7510,6 @@
     }
 
     @Override
-    public int getSubIdForPhoneAccount(PhoneAccount phoneAccount) {
-        final long identity = Binder.clearCallingIdentity();
-        try {
-            return PhoneUtils.getSubIdForPhoneAccount(phoneAccount);
-        } finally {
-            Binder.restoreCallingIdentity(identity);
-        }
-    }
-
-    @Override
     public int getSubIdForPhoneAccountHandle(
             PhoneAccountHandle phoneAccountHandle, String callingPackage, String callingFeatureId) {
         if (!TelephonyPermissions.checkCallingOrSelfReadPhoneState(mApp, getDefaultSubscription(),
@@ -7754,8 +7728,8 @@
                 mApp.getAttributionTag());
     }
 
-    private final ModemActivityInfo mLastModemActivityInfo =
-            new ModemActivityInfo(0, 0, 0, new int[ModemActivityInfo.getNumTxPowerLevels()], 0);
+    private ActivityStatsTechSpecificInfo[] mLastModemActivitySpecificInfo = null;
+    private ModemActivityInfo mLastModemActivityInfo = null;
 
     /**
      * Responds to the ResultReceiver with the {@link android.telephony.ModemActivityInfo} object
@@ -7795,6 +7769,91 @@
             && (totalTxTimeMs <= activityDurationMs));
     }
 
+    private void updateLastModemActivityInfo(ModemActivityInfo info, int rat, int freq) {
+        int[] mergedTxTimeMs = new int [ModemActivityInfo.getNumTxPowerLevels()];
+        int[] txTimeMs = info.getTransmitTimeMillis(rat, freq);
+        int[] lastModemTxTimeMs = mLastModemActivityInfo.getTransmitTimeMillis(rat, freq);
+
+        for (int lvl = 0; lvl < mergedTxTimeMs.length; lvl++) {
+            mergedTxTimeMs[lvl] = txTimeMs[lvl] + lastModemTxTimeMs[lvl];
+        }
+
+        mLastModemActivityInfo.setTransmitTimeMillis(rat, freq, mergedTxTimeMs);
+        mLastModemActivityInfo.setReceiveTimeMillis(
+                rat,
+                freq,
+                info.getReceiveTimeMillis(rat, freq)
+                        + mLastModemActivityInfo.getReceiveTimeMillis(rat, freq));
+    }
+
+    private void updateLastModemActivityInfo(ModemActivityInfo info, int rat) {
+        int[] mergedTxTimeMs = new int [ModemActivityInfo.getNumTxPowerLevels()];
+        int[] txTimeMs = info.getTransmitTimeMillis(rat);
+        int[] lastModemTxTimeMs = mLastModemActivityInfo.getTransmitTimeMillis(rat);
+
+        for (int lvl = 0; lvl < mergedTxTimeMs.length; lvl++) {
+            mergedTxTimeMs[lvl] = txTimeMs[lvl] + lastModemTxTimeMs[lvl];
+        }
+        mLastModemActivityInfo.setTransmitTimeMillis(rat, mergedTxTimeMs);
+        mLastModemActivityInfo.setReceiveTimeMillis(
+                rat,
+                info.getReceiveTimeMillis(rat) + mLastModemActivityInfo.getReceiveTimeMillis(rat));
+    }
+
+   /**
+    * Merge this ModemActivityInfo with mLastModemActivitySpecificInfo
+    * @param info recent ModemActivityInfo
+    */
+    private void mergeModemActivityInfo(ModemActivityInfo info) {
+        List<ActivityStatsTechSpecificInfo> merged = new ArrayList<>();
+        ActivityStatsTechSpecificInfo mDeltaSpecificInfo;
+        boolean matched;
+        for (int i = 0; i < info.getSpecificInfoLength(); i++) {
+            matched = false;
+            int rat = info.getSpecificInfoRat(i);
+            int freq = info.getSpecificInfoFrequencyRange(i);
+            //Check each ActivityStatsTechSpecificInfo in this ModemActivityInfo for new rat returns
+            //Add a new ActivityStatsTechSpecificInfo if is a new rat, and merge with the original
+            //if it already exists
+            for (int j = 0; j < mLastModemActivitySpecificInfo.length; j++) {
+                if (rat == mLastModemActivityInfo.getSpecificInfoRat(j) && !matched) {
+                    //Merged based on frequency range (MMWAVE vs SUB6) for 5G
+                    if (rat == AccessNetworkConstants.AccessNetworkType.NGRAN) {
+                        if (freq == mLastModemActivityInfo.getSpecificInfoFrequencyRange(j)) {
+                            updateLastModemActivityInfo(info, rat, freq);
+                            matched = true;
+                        }
+                    } else {
+                        updateLastModemActivityInfo(info, rat);
+                        matched = true;
+                    }
+                }
+            }
+
+            if (!matched) {
+                mDeltaSpecificInfo =
+                        new ActivityStatsTechSpecificInfo(
+                                rat,
+                                freq,
+                                info.getTransmitTimeMillis(rat, freq),
+                                (int) info.getReceiveTimeMillis(rat, freq));
+                merged.addAll(Arrays.asList(mDeltaSpecificInfo));
+            }
+        }
+        merged.addAll(Arrays.asList(mLastModemActivitySpecificInfo));
+        mLastModemActivitySpecificInfo =
+                new ActivityStatsTechSpecificInfo[merged.size()];
+        merged.toArray(mLastModemActivitySpecificInfo);
+
+        mLastModemActivityInfo.setTimestamp(info.getTimestampMillis());
+        mLastModemActivityInfo.setSleepTimeMillis(
+                info.getSleepTimeMillis()
+                + mLastModemActivityInfo.getSleepTimeMillis());
+        mLastModemActivityInfo.setIdleTimeMillis(
+                info.getIdleTimeMillis()
+                + mLastModemActivityInfo.getIdleTimeMillis());
+    }
+
     /**
      * Returns the service state information on specified subscription.
      */
@@ -8025,8 +8084,7 @@
             }
             String vvmPackage = componentName.getPackageName();
             if (!callingPackage.equals(vvmPackage)) {
-                throw new SecurityException("Caller not current active visual voicemail package["
-                        + vvmPackage + "]");
+                throw new SecurityException("Caller not current active visual voicemail package");
             }
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -8381,12 +8439,8 @@
                 if (reason == TelephonyManager.DATA_ENABLED_REASON_CARRIER) {
                     phone.carrierActionSetMeteredApnsEnabled(enabled);
                 } else {
-                    if (phone.isUsingNewDataStack()) {
-                        phone.getDataSettingsManager().setDataEnabled(
-                                reason, enabled, callingPackage);
-                    } else {
-                        phone.getDataEnabledSettings().setDataEnabled(reason, enabled);
-                    }
+                    phone.getDataSettingsManager().setDataEnabled(
+                            reason, enabled, callingPackage);
                 }
             }
         } finally {
@@ -8800,20 +8854,11 @@
         mApp.getSystemService(AppOpsManager.class)
                 .checkPackage(Binder.getCallingUid(), callingPackage);
 
-        boolean hasReadPermission = false;
         boolean isLogicalSlotAccessRestricted = false;
 
-        try {
-            enforceReadPrivilegedPermission("getUiccSlotsInfo");
-            hasReadPermission = true;
-        } catch (SecurityException e) {
-            // even without READ_PRIVILEGED_PHONE_STATE, we allow the call to continue if the caller
-            // has carrier privileges on an active UICC
-            if (checkCarrierPrivilegesForPackageAnyPhoneWithPermission(callingPackage)
-                    == TelephonyManager.CARRIER_PRIVILEGE_STATUS_HAS_ACCESS) {
-                hasReadPermission = true;
-            }
-        }
+        // This will make sure caller has the READ_PRIVILEGED_PHONE_STATE. Do not remove this as
+        // we are reading iccId which is PII data.
+        enforceReadPrivilegedPermission("getUiccSlotsInfo");
 
         // checking compatibility, if calling app's target SDK is T and beyond.
         if (CompatChanges.isChangeEnabled(GET_API_SIGNATURES_FROM_UICC_PORT_INFO,
@@ -8823,8 +8868,8 @@
         final long identity = Binder.clearCallingIdentity();
         try {
             UiccSlot[] slots = UiccController.getInstance().getUiccSlots();
-            if (slots == null) {
-                Rlog.i(LOG_TAG, "slots is null.");
+            if (slots == null || slots.length == 0) {
+                Rlog.i(LOG_TAG, "slots is null or empty.");
                 return null;
             }
             UiccSlotInfo[] infos = new UiccSlotInfo[slots.length];
@@ -8841,11 +8886,8 @@
                 } else {
                     cardId = slot.getEid();
                     if (TextUtils.isEmpty(cardId)) {
-                        // If cardId is null, use iccId of default port as cardId. Check if has
-                        // read permission otherwise set to null.(card is null which means no
-                        // carrier permission)
-                       cardId = hasReadPermission ? slot.getIccId(
-                               TelephonyManager.DEFAULT_PORT_INDEX) : null;
+                        // If cardId is null, use iccId of default port as cardId.
+                        cardId = slot.getIccId(TelephonyManager.DEFAULT_PORT_INDEX);
                     }
                 }
 
@@ -8877,14 +8919,9 @@
                 int[] portIndexes = slot.getPortList();
                 for (int portIdx : portIndexes) {
                     String iccId = IccUtils.stripTrailingFs(getIccId(slot, portIdx,
-                            callingPackage, hasReadPermission));
-                    if (slot.isPortActive(portIdx)) {
-                        UiccPort port = slot.getUiccCard().getUiccPort(portIdx);
-                        portInfos.add(new UiccPortInfo(iccId, port.getPortIdx(),
-                                port.getPhoneId(), true));
-                    } else {
-                        portInfos.add(new UiccPortInfo(iccId, portIdx, -1, false));
-                    }
+                            callingPackage, /* hasReadPermission= */ true));
+                    portInfos.add(new UiccPortInfo(iccId, portIdx,
+                            slot.getPhoneIdFromPortIndex(portIdx), slot.isPortActive(portIdx)));
                 }
                 infos[i] = new UiccSlotInfo(
                         slot.isEuicc(),
@@ -9613,15 +9650,10 @@
 
             boolean isMetered;
             boolean isDataEnabled;
-            if (phone.isUsingNewDataStack()) {
-                isMetered = phone.getDataNetworkController().getDataConfigManager()
-                        .isMeteredCapability(DataUtils.apnTypeToNetworkCapability(apnType),
-                                phone.getServiceState().getDataRoaming());
-                isDataEnabled = phone.getDataSettingsManager().isDataEnabled(apnType);
-            } else {
-                isMetered = ApnSettingUtils.isMeteredApnType(apnType, phone);
-                isDataEnabled = phone.getDataEnabledSettings().isDataEnabled(apnType);
-            }
+            isMetered = phone.getDataNetworkController().getDataConfigManager()
+                    .isMeteredCapability(DataUtils.apnTypeToNetworkCapability(apnType),
+                            phone.getServiceState().getDataRoaming());
+            isDataEnabled = phone.getDataSettingsManager().isDataEnabled(apnType);
             return !isMetered || isDataEnabled;
         } finally {
             Binder.restoreCallingIdentity(identity);
@@ -9637,13 +9669,9 @@
         try {
             Phone phone = getPhone(subId);
             if (phone == null) return true; // By default return true.
-            if (phone.isUsingNewDataStack()) {
-                return phone.getDataNetworkController().getDataConfigManager().isMeteredCapability(
-                        DataUtils.apnTypeToNetworkCapability(apnType),
-                        phone.getServiceState().getDataRoaming());
-            }
-
-            return ApnSettingUtils.isMeteredApnType(apnType, phone);
+            return phone.getDataNetworkController().getDataConfigManager().isMeteredCapability(
+                    DataUtils.apnTypeToNetworkCapability(apnType),
+                    phone.getServiceState().getDataRoaming());
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -9775,17 +9803,9 @@
 
             switch (policy) {
                 case TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL:
-                    if (phone.isUsingNewDataStack()) {
-                        return phone.getDataSettingsManager().isDataAllowedInVoiceCall();
-                    } else {
-                        return phone.getDataEnabledSettings().isDataAllowedInVoiceCall();
-                    }
+                    return phone.getDataSettingsManager().isDataAllowedInVoiceCall();
                 case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
-                    if (phone.isUsingNewDataStack()) {
-                        return phone.getDataSettingsManager().isMmsAlwaysAllowed();
-                    } else {
-                        return phone.getDataEnabledSettings().isMmsAlwaysAllowed();
-                    }
+                    return phone.getDataSettingsManager().isMmsAlwaysAllowed();
                 default:
                     throw new IllegalArgumentException(policy + " is not a valid policy");
             }
@@ -9806,18 +9826,10 @@
 
             switch (policy) {
                 case TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL:
-                    if (phone.isUsingNewDataStack()) {
-                        phone.getDataSettingsManager().setAllowDataDuringVoiceCall(enabled);
-                    } else {
-                        phone.getDataEnabledSettings().setAllowDataDuringVoiceCall(enabled);
-                    }
+                    phone.getDataSettingsManager().setAllowDataDuringVoiceCall(enabled);
                     break;
                 case TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED:
-                    if (phone.isUsingNewDataStack()) {
-                        phone.getDataSettingsManager().setAlwaysAllowMmsData(enabled);
-                    } else {
-                        phone.getDataEnabledSettings().setAlwaysAllowMmsData(enabled);
-                    }
+                    phone.getDataSettingsManager().setAlwaysAllowMmsData(enabled);
                     break;
                 default:
                     throw new IllegalArgumentException(policy + " is not a valid policy");
@@ -11043,11 +11055,12 @@
     @Override
     @TelephonyManager.PrepareUnattendedRebootResult
     public int prepareForUnattendedReboot() {
+        WorkSource workSource = getWorkSource(Binder.getCallingUid());
         enforceRebootPermission();
 
         final long identity = Binder.clearCallingIdentity();
         try {
-            return (int) sendRequest(CMD_PREPARE_UNATTENDED_REBOOT, null);
+            return (int) sendRequest(CMD_PREPARE_UNATTENDED_REBOOT, null, workSource);
         } finally {
             Binder.restoreCallingIdentity(identity);
         }
@@ -11218,7 +11231,7 @@
         Log.d(LOG_TAG, "getModemService");
         TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "getModemService");
         TelephonyPermissions
-                .enforceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
+                        .enforceCallingOrSelfReadPrivilegedPhoneStatePermissionOrCarrierPrivilege(
                         mApp, SubscriptionManager.INVALID_SUBSCRIPTION_ID,
                         "getModemService");
         result = mPhoneConfigurationManager.getModemService();
@@ -11227,8 +11240,57 @@
     }
 
     @Override
-    public boolean isUsingNewDataStack() {
-        TelephonyPermissions.enforceShellOnly(Binder.getCallingUid(), "isUsingNewDataStack");
-        return getDefaultPhone().isUsingNewDataStack();
+    public void setVoiceServiceStateOverride(int subId, boolean hasService, String callingPackage) {
+        // Only telecom (and shell, for CTS purposes) is allowed to call this method.
+        mApp.enforceCallingOrSelfPermission(
+                permission.BIND_TELECOM_CONNECTION_SERVICE, "setVoiceServiceStateOverride");
+        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            Phone phone = getPhone(subId);
+            if (phone == null) return;
+            phone.setVoiceServiceStateOverride(hasService);
+        } finally {
+            Binder.restoreCallingIdentity(identity);
+        }
     }
+
+    /**
+     * set removable eSIM as default eUICC.
+     *
+     * @hide
+     */
+    @Override
+    public void setRemovableEsimAsDefaultEuicc(boolean isDefault, String callingPackage) {
+        enforceModifyPermission();
+        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            UiccController.getInstance().setRemovableEsimAsDefaultEuicc(isDefault);
+        }  finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+    /**
+     * Returns whether the removable eSIM is default eUICC or not.
+     *
+     * @hide
+     */
+    @Override
+    public boolean isRemovableEsimDefaultEuicc(String callingPackage) {
+        enforceReadPrivilegedPermission("isRemovableEsimDefaultEuicc");
+        mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            return UiccController.getInstance().isRemovableEsimDefaultEuicc();
+        }  finally {
+            Binder.restoreCallingIdentity(identity);
+        }
+    }
+
+
 }
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index 35cfdd3..d0aad4a 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -469,7 +469,7 @@
 
                 // build the dialog
                 final AlertDialog newDialog =
-                        FrameworksUtils.makeAlertDialogBuilder(contextThemeWrapper)
+                        new AlertDialog.Builder(contextThemeWrapper)
                         .setMessage(text)
                         .setView(dialogView)
                         .setPositiveButton(R.string.send_button, mUSSDDialogListener)
@@ -547,7 +547,9 @@
             // R.array.config_defaultNotificationVibePattern is not defined.
             long[] pattern = getLongArray(context.getResources(),
                     R.array.config_defaultNotificationVibePattern, DEFAULT_VIBRATE_PATTERN);
-            vibrator.vibrate(VibrationEffect.createWaveform(pattern, -1));
+            vibrator.vibrate(VibrationEffect.createWaveform(pattern, -1),
+                    new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_NOTIFICATION)
+                            .build());
         }
     }
 
@@ -716,7 +718,7 @@
         // TODO: Should use some sort of special hidden flag to decorate this account as
         // an emergency-only account
         String id = isEmergency ? EMERGENCY_ACCOUNT_HANDLE_ID : prefix +
-                String.valueOf(phone.getFullIccSerialNumber());
+                String.valueOf(phone.getSubId());
         return makePstnPhoneAccountHandleWithPrefix(id, prefix, isEmergency);
     }
 
@@ -744,7 +746,7 @@
 
     public static Phone getPhoneForPhoneAccountHandle(PhoneAccountHandle handle) {
         if (handle != null && handle.getComponentName().equals(getPstnConnectionServiceName())) {
-            return getPhoneFromIccId(handle.getId());
+            return getPhoneFromSubId(handle.getId());
         }
         return null;
     }
@@ -759,18 +761,18 @@
      * {@code false} otherwise.
      */
     public static boolean isPhoneAccountActive(SubscriptionManager sm, PhoneAccountHandle handle) {
-        return sm.getActiveSubscriptionInfoForIcc(handle.getId()) != null;
+        return sm.getActiveSubscriptionInfo(Integer.parseInt(handle.getId())) != null;
     }
 
     private static ComponentName getPstnConnectionServiceName() {
         return PSTN_CONNECTION_SERVICE_COMPONENT;
     }
 
-    private static Phone getPhoneFromIccId(String iccId) {
-        if (!TextUtils.isEmpty(iccId)) {
+    private static Phone getPhoneFromSubId(String subId) {
+        if (!TextUtils.isEmpty(subId)) {
             for (Phone phone : PhoneFactory.getPhones()) {
-                String phoneIccId = phone.getFullIccSerialNumber();
-                if (iccId.equals(phoneIccId)) {
+                String phoneSubId = Integer.toString(phone.getSubId());
+                if (subId.equals(phoneSubId)) {
                     return phone;
                 }
             }
diff --git a/src/com/android/phone/RcsProvisioningMonitor.java b/src/com/android/phone/RcsProvisioningMonitor.java
index 1ed0d72..a948d08 100644
--- a/src/com/android/phone/RcsProvisioningMonitor.java
+++ b/src/com/android/phone/RcsProvisioningMonitor.java
@@ -828,7 +828,7 @@
 
     private void onConfigReceived(int subId, byte[] config, boolean isCompressed) {
         logv("onConfigReceived, subId:" + subId + ", config:"
-                + config + ", isCompressed:" + isCompressed);
+                + Arrays.toString(config) + ", isCompressed:" + isCompressed);
         RcsProvisioningInfo info = mRcsProvisioningInfos.get(subId);
         if (info == null) {
             logd("sub[" + subId + "] has been removed");
diff --git a/src/com/android/phone/SubscriptionInfoHelper.java b/src/com/android/phone/SubscriptionInfoHelper.java
index 7c373e0..14faebc 100644
--- a/src/com/android/phone/SubscriptionInfoHelper.java
+++ b/src/com/android/phone/SubscriptionInfoHelper.java
@@ -91,7 +91,8 @@
 
         intent.putExtra(SubscriptionInfoHelper.SUB_ID_EXTRA, subscription.getSubscriptionId());
         intent.putExtra(
-                SubscriptionInfoHelper.SUB_LABEL_EXTRA, subscription.getDisplayName().toString());
+                SubscriptionInfoHelper.SUB_LABEL_EXTRA, subscription.getDisplayName() == null ? null
+                        : subscription.getDisplayName().toString());
     }
 
     /**
diff --git a/src/com/android/phone/Telephony2gUpdater.java b/src/com/android/phone/Telephony2gUpdater.java
new file mode 100644
index 0000000..0919385
--- /dev/null
+++ b/src/com/android/phone/Telephony2gUpdater.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.UserManager;
+import android.telephony.RadioAccessFamily;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.RILConstants;
+
+import java.util.List;
+import java.util.concurrent.Executor;
+
+/**
+ * A {@link BroadcastReceiver} that ensures that user restrictions are correctly applied to
+ * telephony.
+ * This includes handling broadcasts from user restriction state changes, as well as ensuring that
+ * SIM-specific settings are correctly applied when new subscriptions become active.
+ *
+ * Callers are expected to call {@code init()} and keep an instance of this class alive.
+ */
+public class Telephony2gUpdater extends BroadcastReceiver {
+    private static final String TAG = "TelephonyUserManagerReceiver";
+
+    // We can't interact with the HAL on the main thread of the phone process (where
+    // receivers are run by default), so we execute our logic from a separate thread.
+    private final Executor mExecutor;
+    private final Context mContext;
+    private final long mBaseAllowedNetworks;
+
+    public Telephony2gUpdater(Executor executor, Context context) {
+        this(executor, context,
+                RadioAccessFamily.getRafFromNetworkType(RILConstants.PREFERRED_NETWORK_MODE));
+    }
+
+    public Telephony2gUpdater(Executor executor, Context context,
+            long baseAllowedNetworks) {
+        mExecutor = executor;
+        mContext = context;
+        mBaseAllowedNetworks = baseAllowedNetworks;
+    }
+
+    /**
+     * Register the given instance as a {@link BroadcastReceiver} and a {@link
+     * SubscriptionManager.OnSubscriptionsChangedListener}.
+     */
+    public void init() {
+        mContext.getSystemService(SubscriptionManager.class).addOnSubscriptionsChangedListener(
+                mExecutor, new SubscriptionListener());
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(UserManager.ACTION_USER_RESTRICTIONS_CHANGED);
+        mContext.registerReceiver(this, filter);
+    }
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (context == null || intent == null) return;
+        Log.i(TAG, "Received callback for action " + intent.getAction());
+        final PendingResult result = goAsync();
+        mExecutor.execute(() -> {
+            Log.i(TAG, "Running handler for action " + intent.getAction());
+            handleUserRestrictionsChanged(context);
+            result.finish();
+        });
+    }
+
+    /**
+     * Update all active subscriptions with allowed network types depending on the current state
+     * of the {@link UserManager.DISALLOW_2G}.
+     */
+    @VisibleForTesting
+    public void handleUserRestrictionsChanged(Context context) {
+        UserManager um = context.getSystemService(UserManager.class);
+        TelephonyManager tm = context.getSystemService(TelephonyManager.class);
+        SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
+        final long twoGBitmask = TelephonyManager.NETWORK_CLASS_BITMASK_2G;
+
+        boolean shouldDisable2g = um.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G);
+
+        // This is expected when subscription info cannot be determined. We'll get another
+        // callback in the future from our SubscriptionListener once we have valid subscriptions.
+        List<SubscriptionInfo> subscriptionInfoList = sm.getAvailableSubscriptionInfoList();
+        if (subscriptionInfoList == null) {
+            return;
+        }
+
+        long allowedNetworkTypes = mBaseAllowedNetworks;
+
+        // 2G device admin controls are global
+        for (SubscriptionInfo info : subscriptionInfoList) {
+            TelephonyManager telephonyManager = tm.createForSubscriptionId(
+                    info.getSubscriptionId());
+            if (shouldDisable2g) {
+                allowedNetworkTypes &= ~twoGBitmask;
+            } else {
+                allowedNetworkTypes |= twoGBitmask;
+            }
+            telephonyManager.setAllowedNetworkTypesForReason(
+                    TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS,
+                    allowedNetworkTypes);
+        }
+    }
+
+    private class SubscriptionListener extends SubscriptionManager.OnSubscriptionsChangedListener {
+        @Override
+        public void onSubscriptionsChanged() {
+            Log.i(TAG, "Running handler for subscription change.");
+            handleUserRestrictionsChanged(mContext);
+        }
+    }
+
+}
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index 1c41b1d..3eb4511 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -21,6 +21,8 @@
 import static com.android.internal.telephony.d2d.Communicator.MESSAGE_DEVICE_BATTERY_STATE;
 import static com.android.internal.telephony.d2d.Communicator.MESSAGE_DEVICE_NETWORK_COVERAGE;
 
+import static java.util.Map.entry;
+
 import android.Manifest;
 import android.content.Context;
 import android.net.Uri;
@@ -30,7 +32,6 @@
 import android.os.RemoteException;
 import android.os.ServiceSpecificException;
 import android.provider.BlockedNumberContract;
-import android.provider.DeviceConfig;
 import android.telephony.BarringInfo;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionInfo;
@@ -62,7 +63,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -172,8 +172,8 @@
             "get-allowed-network-types-for-users";
     private static final String SET_ALLOWED_NETWORK_TYPES_FOR_USER =
             "set-allowed-network-types-for-users";
-    // Check if telephony new data stack is enabled.
-    private static final String GET_DATA_MODE = "get-data-mode";
+    private static final String GET_IMEI = "get-imei";
+    private static final String GET_SIM_SLOTS_MAPPING = "get-sim-slots-mapping";
     // Take advantage of existing methods that already contain permissions checks when possible.
     private final ITelephony mInterface;
 
@@ -197,33 +197,32 @@
     // For instance: "xxxx_string", "xxxx_string_array", etc.
     // The carrier config keys in this map does not follow this convention. It is therefore not
     // possible to infer the type for these keys by looking at the string.
-    private static final Map<String, CcType> CC_TYPE_MAP = new HashMap<String, CcType>() {{
-            put(CarrierConfigManager.Gps.KEY_A_GLONASS_POS_PROTOCOL_SELECT_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_GPS_LOCK_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_LPP_PROFILE_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_NFW_PROXY_APPS_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_ES_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_HOST_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_MODE_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_PORT_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_SUPL_VER_STRING, CcType.STRING);
-            put(CarrierConfigManager.Gps.KEY_USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL_STRING,
-                    CcType.STRING);
-            put(CarrierConfigManager.KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
-                    CcType.STRING_ARRAY);
-            put(CarrierConfigManager.KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
-                    CcType.STRING_ARRAY);
-            put(CarrierConfigManager.KEY_CARRIER_CALL_SCREENING_APP_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_HTTP_PARAMS_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_NAI_SUFFIX_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_UA_PROF_TAG_NAME_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_UA_PROF_URL_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_MMS_USER_AGENT_STRING, CcType.STRING);
-            put(CarrierConfigManager.KEY_RATCHET_RAT_FAMILIES, CcType.STRING_ARRAY);
-        }
-    };
+    private static final Map<String, CcType> CC_TYPE_MAP = Map.ofEntries(
+            entry(CarrierConfigManager.Gps.KEY_A_GLONASS_POS_PROTOCOL_SELECT_STRING,
+                    CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_ES_EXTENSION_SEC_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_GPS_LOCK_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_LPP_PROFILE_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_NFW_PROXY_APPS_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_ES_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_HOST_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_MODE_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_PORT_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_SUPL_VER_STRING, CcType.STRING),
+            entry(CarrierConfigManager.Gps.KEY_USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL_STRING,
+                    CcType.STRING),
+            entry(CarrierConfigManager.KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
+                    CcType.STRING_ARRAY),
+            entry(CarrierConfigManager.KEY_CARRIER_APP_WAKE_SIGNAL_CONFIG_STRING_ARRAY,
+                    CcType.STRING_ARRAY),
+            entry(CarrierConfigManager.KEY_CARRIER_CALL_SCREENING_APP_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_HTTP_PARAMS_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_NAI_SUFFIX_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_UA_PROF_TAG_NAME_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_UA_PROF_URL_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_MMS_USER_AGENT_STRING, CcType.STRING),
+            entry(CarrierConfigManager.KEY_RATCHET_RAT_FAMILIES, CcType.STRING_ARRAY));
 
     /**
      * Map from a shorthand string to the feature tags required in registration required in order
@@ -328,8 +327,12 @@
             case GET_ALLOWED_NETWORK_TYPES_FOR_USER:
             case SET_ALLOWED_NETWORK_TYPES_FOR_USER:
                 return handleAllowedNetworkTypesCommand(cmd);
-            case GET_DATA_MODE:
-                return handleGetDataMode();
+            case GET_IMEI:
+                return handleGetImei();
+            case GET_SIM_SLOTS_MAPPING:
+                return handleGetSimSlotsMapping();
+            case RADIO_SUBCOMMAND:
+                return handleRadioCommand();
             default: {
                 return handleDefaultCommands(cmd);
             }
@@ -382,6 +385,7 @@
         onHelpDisableOrEnablePhysicalSubscription();
         onHelpAllowedNetworkTypes();
         onHelpRadio();
+        onHelpImei();
     }
 
     private void onHelpD2D() {
@@ -693,6 +697,15 @@
         pw.println("    the result would be 'unknown'.");
     }
 
+    private void onHelpImei() {
+        PrintWriter pw = getOutPrintWriter();
+        pw.println("IMEI Commands:");
+        pw.println("  get-imei [-s SLOT_ID]");
+        pw.println("    Gets the device IMEI. Options are:");
+        pw.println("      -s: the slot ID to get the IMEI. If no option");
+        pw.println("          is specified, it will choose the default voice SIM slot.");
+    }
+
     private int handleImsCommand() {
         String arg = getNextArg();
         if (arg == null) {
@@ -2015,6 +2028,37 @@
         return result ? 0 : -1;
     }
 
+    private int handleGetImei() {
+        // Verify that the user is allowed to run the command. Only allowed in rooted device in a
+        // non user build.
+        if (Binder.getCallingUid() != Process.ROOT_UID || TelephonyUtils.IS_USER) {
+            getErrPrintWriter().println("Device IMEI: Permission denied.");
+            return -1;
+        }
+
+        final long identity = Binder.clearCallingIdentity();
+
+        String imei = null;
+        String arg = getNextArg();
+        if (arg != null) {
+            try {
+                int specifiedSlotIndex = Integer.parseInt(arg);
+                imei = TelephonyManager.from(mContext).getImei(specifiedSlotIndex);
+            } catch (NumberFormatException exception) {
+                PrintWriter errPw = getErrPrintWriter();
+                errPw.println("-s requires an integer as slot index.");
+                return -1;
+            }
+
+        } else {
+            imei = TelephonyManager.from(mContext).getImei();
+        }
+        getOutPrintWriter().println("Device IMEI: " + imei);
+
+        Binder.restoreCallingIdentity(identity);
+        return 0;
+    }
+
     private int handleUnattendedReboot() {
         // Verify that the user is allowed to run the command. Only allowed in rooted device in a
         // non user build.
@@ -2029,6 +2073,20 @@
         return result != TelephonyManager.PREPARE_UNATTENDED_REBOOT_ERROR ? 0 : -1;
     }
 
+    private int handleGetSimSlotsMapping() {
+        // Verify that the user is allowed to run the command. Only allowed in rooted device in a
+        // non user build.
+        if (Binder.getCallingUid() != Process.ROOT_UID || TelephonyUtils.IS_USER) {
+            getErrPrintWriter().println("GetSimSlotsMapping: Permission denied.");
+            return -1;
+        }
+        TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class);
+        String result = telephonyManager.getSimSlotMapping().toString();
+        getOutPrintWriter().println("simSlotsMapping: " + result);
+
+        return 0;
+    }
+
     private int handleGbaCommand() {
         String arg = getNextArg();
         if (arg == null) {
@@ -2915,35 +2973,4 @@
 
         return -1;
     }
-
-    private int handleGetDataMode() {
-        if (!checkShellUid()) {
-            return -1;
-        }
-
-        boolean newDataStackEnabled = false;
-        try {
-            newDataStackEnabled = mInterface.isUsingNewDataStack();
-        } catch (RemoteException e) {
-            getOutPrintWriter().println("Something went wrong. " + e);
-            return -1;
-        }
-
-        getOutPrintWriter().println("Telephony new data stack is "
-                + (newDataStackEnabled ? "enabled." : "disabled."));
-
-        boolean configEnabled = Boolean.parseBoolean(DeviceConfig.getProperty(
-                DeviceConfig.NAMESPACE_TELEPHONY, "new_telephony_data_enabled"));
-        if (configEnabled != newDataStackEnabled) {
-            getOutPrintWriter().println("The config has been "
-                    + (configEnabled ? "enabled" : "disabled") + ". Need to reboot the device.");
-        } else {
-            getOutPrintWriter().println("Run the following command to "
-                    + (configEnabled ? "disable" : "enable") + " the new telephony data stack.");
-            getOutPrintWriter().println("adb root && adb shell device_config put telephony "
-                    + "new_telephony_data_enabled " + (configEnabled ? "false" : "true")
-                    + " && adb reboot");
-        }
-        return 0;
-    }
 }
diff --git a/src/com/android/phone/TimeConsumingPreferenceActivity.java b/src/com/android/phone/TimeConsumingPreferenceActivity.java
index caef176..d21f6a8 100644
--- a/src/com/android/phone/TimeConsumingPreferenceActivity.java
+++ b/src/com/android/phone/TimeConsumingPreferenceActivity.java
@@ -197,6 +197,7 @@
 
     @Override
     public void onException(Preference preference, CommandException exception) {
+        Log.i(LOG_TAG, "onError, preference=" + preference.getKey() + ", exception=" + exception);
         if (exception.getCommandError() == CommandException.Error.FDN_CHECK_FAILURE) {
             onError(preference, FDN_CHECK_FAILURE);
         } else if (exception.getCommandError() == CommandException.Error.RADIO_NOT_AVAILABLE) {
@@ -210,6 +211,10 @@
             onError(preference, STK_CC_SS_TO_USSD_ERROR);
         } else if (exception.getCommandError() == CommandException.Error.SS_MODIFIED_TO_SS) {
             onError(preference, STK_CC_SS_TO_SS_ERROR);
+        } else if (exception.getCommandError() == CommandException.Error.REQUEST_NOT_SUPPORTED) {
+            preference.setEnabled(false);
+            // Don't show an error dialog; just disable it if the request is not supported.
+            Log.i(LOG_TAG, "onError, suppress error dialog as not supported");
         } else {
             preference.setEnabled(false);
             onError(preference, EXCEPTION_ERROR);
diff --git a/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java
index 389795b..53640f2 100644
--- a/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccPrivilegedActionUiDispatcherActivity.java
@@ -35,6 +35,10 @@
     @Nullable
     protected Intent getEuiccUiIntent() {
         String action = getIntent().getAction();
+        if (action == null) {
+            Log.w(TAG, "No action is specified in the intent");
+            return null;
+        }
 
         Intent intent = new Intent();
         // Propagate the extras from the original Intent.
diff --git a/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
index 64a40b9..cbee45a 100644
--- a/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccPublicActionUiDispatcherActivity.java
@@ -34,6 +34,10 @@
     @Nullable
     protected Intent getEuiccUiIntent() {
         String action = getIntent().getAction();
+        if (action == null) {
+            Log.w(TAG, "No action is specified in the intent");
+            return null;
+        }
 
         Intent intent = new Intent();
         // Propagate the extras from the original Intent.
diff --git a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
index f24e7d6..804611f 100644
--- a/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
+++ b/src/com/android/phone/euicc/EuiccUiDispatcherActivity.java
@@ -134,6 +134,10 @@
     @Nullable
     protected Intent getEuiccUiIntent() {
         String action = getIntent().getAction();
+        if (action == null) {
+            Log.w(TAG, "No action is specified in the intent");
+            return null;
+        }
 
         Intent intent = new Intent();
         intent.putExtras(getIntent());
diff --git a/src/com/android/phone/otasp/OtaspSimStateReceiver.java b/src/com/android/phone/otasp/OtaspSimStateReceiver.java
index bb4022a..a47ab67 100644
--- a/src/com/android/phone/otasp/OtaspSimStateReceiver.java
+++ b/src/com/android/phone/otasp/OtaspSimStateReceiver.java
@@ -92,14 +92,22 @@
         mContext = context;
         if(CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED.equals(intent.getAction())) {
             if (DBG) logd("Received intent: " + intent.getAction());
-            if (PhoneGlobals.getPhone().getIccRecordsLoaded() && isCarrierSupported()) {
-                registerOtaspChangedHandler();
-            }
+            // Allow the receiver to keep active after returning from onReceive().
+            final PendingResult result = goAsync();
+            // Do the actual work on another thread to prevent ANR.
+            new Thread(() -> {
+                if (DBG) logd("Start to process ACTION_CARRIER_CONFIG_CHANGED.");
+                if (PhoneGlobals.getPhone().getIccRecordsLoaded() && isCarrierSupported()) {
+                    registerOtaspChangedHandler();
+                }
+                result.finish();
+            }).start();
         }
     }
 
-    // It's fine to call mutiple times, as the registrants are de-duped by Handler object.
+    // It's fine to call multiple times, as the registrants are de-duped by Handler object.
     private void registerOtaspChangedHandler() {
+        if (DBG) logd("registerOtaspChangedHandler");
         final Phone phone = PhoneGlobals.getPhone();
         phone.registerForOtaspChange(mOtaspHandler, EVENT_OTASP_CHANGED, null);
     }
diff --git a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
index 6bc71dc..49e1379 100644
--- a/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
+++ b/src/com/android/phone/settings/PhoneAccountSettingsFragment.java
@@ -174,6 +174,7 @@
      */
     @Override
     public boolean onAccountSelected(AccountSelectionPreference pref, PhoneAccountHandle account) {
+        Log.d(LOG_TAG, String.format("onAccountSelected:  pref=[%s], account=[%s]", pref, account));
         if (pref == mDefaultOutgoingAccount) {
             mTelecomManager.setUserSelectedOutgoingPhoneAccount(account);
             return true;
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 95788fe..3840999 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -24,6 +24,7 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.pm.ComponentInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
@@ -71,6 +72,13 @@
 import android.telephony.TelephonyDisplayInfo;
 import android.telephony.TelephonyManager;
 import android.telephony.data.NetworkSlicingConfig;
+import android.telephony.ims.ImsException;
+import android.telephony.ims.ImsManager;
+import android.telephony.ims.ImsMmTelManager;
+import android.telephony.ims.ImsRcsManager;
+import android.telephony.ims.ProvisioningManager;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.Menu;
@@ -91,11 +99,9 @@
 import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.appcompat.app.AppCompatActivity;
 
-import com.android.ims.ImsConfig;
-import com.android.ims.ImsException;
-import com.android.ims.ImsManager;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.euicc.EuiccConnector;
 import com.android.phone.R;
 
 import java.io.IOException;
@@ -174,18 +180,6 @@
      */
     private static final int ALWAYS_ON_DSDS_MODE = 1;
 
-    private static final int IMS_VOLTE_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.VLT_SETTING_ENABLED;
-
-    private static final int IMS_VT_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.LVC_SETTING_ENABLED;
-
-    private static final int IMS_WFC_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED;
-
-    private static final int EAB_PROVISIONED_CONFIG_ID =
-            ImsConfig.ConfigConstants.EAB_SETTING_ENABLED;
-
     //Values in must match CELL_INFO_REFRESH_RATES
     private static final String[] CELL_INFO_REFRESH_RATE_LABELS = {
             "Disabled",
@@ -225,6 +219,9 @@
     private static final String TRIGGER_CARRIER_PROVISIONING_ACTION =
             "com.android.phone.settings.TRIGGER_CARRIER_PROVISIONING";
 
+    private static final String ACTION_REMOVABLE_ESIM_AS_DEFAULT =
+            "android.telephony.euicc.action.REMOVABLE_ESIM_AS_DEFAULT";
+
     private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
     private TextView mLine1Number;
     private TextView mSubscriptionId;
@@ -273,6 +270,7 @@
     private Switch mEabProvisionedSwitch;
     private Switch mCbrsDataSwitch;
     private Switch mDsdsSwitch;
+    private Switch mRemovableEsimSwitch;
     private Spinner mPreferredNetworkType;
     private Spinner mSelectPhoneIndex;
     private Spinner mCellInfoRefreshRateSpinner;
@@ -285,6 +283,7 @@
     private TelephonyManager mTelephonyManager;
     private ImsManager mImsManager = null;
     private Phone mPhone = null;
+    private ProvisioningManager mProvisioningManager = null;
 
     private String mPingHostnameResultV4;
     private String mPingHostnameResultV6;
@@ -413,12 +412,23 @@
         unregisterPhoneStateListener();
         mTelephonyManager.setCellInfoListRate(sCellInfoListRateDisabled);
 
+        if (phoneIndex == SubscriptionManager.INVALID_PHONE_INDEX) {
+            log("Invalid phone index " + phoneIndex + ", subscription ID " + subId);
+            return;
+        }
+
         // update the subId
         mTelephonyManager = mTelephonyManager.createForSubscriptionId(subId);
 
         // update the phoneId
-        mImsManager = ImsManager.getInstance(getApplicationContext(), phoneIndex);
         mPhone = PhoneFactory.getPhone(phoneIndex);
+        mImsManager = new ImsManager(mPhone.getContext());
+        try {
+            mProvisioningManager = ProvisioningManager.createForSubscriptionId(subId);
+        } catch (IllegalArgumentException e) {
+            log("updatePhoneIndex : IllegalArgumentException " + e.getMessage());
+            mProvisioningManager = null;
+        }
 
         updateAllFields();
     }
@@ -474,11 +484,17 @@
         mQueuedWork = new ThreadPoolExecutor(1, 1, RUNNABLE_TIMEOUT_MS, TimeUnit.MICROSECONDS,
                 new LinkedBlockingDeque<Runnable>());
         mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
-        mPhone = PhoneFactory.getDefaultPhone();
+        mPhone = getPhone(SubscriptionManager.getDefaultSubscriptionId());
         mTelephonyManager = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
                 .createForSubscriptionId(mPhone.getSubId());
 
-        mImsManager = ImsManager.getInstance(getApplicationContext(), mPhone.getPhoneId());
+        mImsManager = new ImsManager(mPhone.getContext());
+        try {
+            mProvisioningManager = ProvisioningManager.createForSubscriptionId(mPhone.getSubId());
+        } catch (IllegalArgumentException e) {
+            log("onCreate : IllegalArgumentException " + e.getMessage());
+            mProvisioningManager = null;
+        }
 
         sPhoneIndexLabels = getPhoneIndexLabels(mTelephonyManager);
 
@@ -546,7 +562,7 @@
         mImsWfcProvisionedSwitch = (Switch) findViewById(R.id.wfc_provisioned_switch);
         mEabProvisionedSwitch = (Switch) findViewById(R.id.eab_provisioned_switch);
 
-        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+        if (!isImsSupportedOnDevice(mPhone.getContext())) {
             mImsVolteProvisionedSwitch.setVisibility(View.GONE);
             mImsVtProvisionedSwitch.setVisibility(View.GONE);
             mImsWfcProvisionedSwitch.setVisibility(View.GONE);
@@ -573,6 +589,13 @@
             mDsdsSwitch.setVisibility(View.GONE);
         }
 
+        mRemovableEsimSwitch = (Switch) findViewById(R.id.removable_esim_switch);
+        if (!IS_USER_BUILD) {
+            mRemovableEsimSwitch.setEnabled(true);
+            mRemovableEsimSwitch.setChecked(mTelephonyManager.isRemovableEsimDefaultEuicc());
+            mRemovableEsimSwitch.setOnCheckedChangeListener(mRemovableEsimChangeListener);
+        }
+
         mRadioPowerOnSwitch = (Switch) findViewById(R.id.radio_power);
 
         mDownlinkKbps = (TextView) findViewById(R.id.dl_kbps);
@@ -614,12 +637,12 @@
 
         mCellInfoRefreshRateIndex = 0; //disabled
         mPreferredNetworkTypeResult = PREFERRED_NETWORK_LABELS.length - 1; //Unknown
-        mSelectedPhoneIndex = 0; //phone 0
+        mSelectedPhoneIndex = mPhone.getPhoneId();
 
         new Thread(() -> {
             int networkType = (int) mTelephonyManager.getPreferredNetworkTypeBitmask();
-            updatePreferredNetworkType(
-                    RadioAccessFamily.getNetworkTypeFromRaf(networkType));
+            runOnUiThread(() -> updatePreferredNetworkType(
+                    RadioAccessFamily.getNetworkTypeFromRaf(networkType)));
         }).start();
 
         restoreFromBundle(icicle);
@@ -675,8 +698,8 @@
 
         new Thread(() -> {
             int networkType = (int) mTelephonyManager.getPreferredNetworkTypeBitmask();
-            updatePreferredNetworkType(
-                    RadioAccessFamily.getNetworkTypeFromRaf(networkType));
+            runOnUiThread(() -> updatePreferredNetworkType(
+                    RadioAccessFamily.getNetworkTypeFromRaf(networkType)));
         }).start();
 
         // set phone index
@@ -738,6 +761,7 @@
         mCellInfoRefreshRateIndex = b.getInt("mCellInfoRefreshRateIndex", 0);
     }
 
+    @SuppressWarnings("MissingSuperCall") // TODO: Fix me
     @Override
     protected void onSaveInstanceState(Bundle outState) {
         outState.putString("mPingHostnameResultV4", mPingHostnameResultV4);
@@ -761,7 +785,7 @@
                 R.string.radioInfo_menu_viewFDN).setOnMenuItemClickListener(mViewFDNCallback);
         menu.add(1, MENU_ITEM_VIEW_SDN, 0,
                 R.string.radioInfo_menu_viewSDN).setOnMenuItemClickListener(mViewSDNCallback);
-        if (ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+        if (isImsSupportedOnDevice(mPhone.getContext())) {
             menu.add(1, MENU_ITEM_GET_IMS_STATUS,
                     0, R.string.radioInfo_menu_getIMS).setOnMenuItemClickListener(mGetImsStatus);
         }
@@ -1489,34 +1513,38 @@
         mRadioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
     }
 
-    void setImsVolteProvisionedState(boolean state) {
+    private void setImsVolteProvisionedState(boolean state) {
         Log.d(TAG, "setImsVolteProvisioned state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(IMS_VOLTE_PROVISIONED_CONFIG_ID, state);
+        setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
     }
 
-    void setImsVtProvisionedState(boolean state) {
+    private void setImsVtProvisionedState(boolean state) {
         Log.d(TAG, "setImsVtProvisioned() state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(IMS_VT_PROVISIONED_CONFIG_ID, state);
+        setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
     }
 
-    void setImsWfcProvisionedState(boolean state) {
+    private void setImsWfcProvisionedState(boolean state) {
         Log.d(TAG, "setImsWfcProvisioned() state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(IMS_WFC_PROVISIONED_CONFIG_ID, state);
+        setImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN, state);
     }
 
-    void setEabProvisionedState(boolean state) {
+    private void setEabProvisionedState(boolean state) {
         Log.d(TAG, "setEabProvisioned() state: " + ((state) ? "on" : "off"));
-        setImsConfigProvisionedState(EAB_PROVISIONED_CONFIG_ID, state);
+        setRcsConfigProvisionedState(ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE, state);
     }
 
-    void setImsConfigProvisionedState(int configItem, boolean state) {
-        if (mPhone != null && mImsManager != null) {
+    private void setImsConfigProvisionedState(int capability, int tech, boolean state) {
+        if (mProvisioningManager != null) {
             mQueuedWork.execute(new Runnable() {
                 public void run() {
                     try {
-                        mImsManager.getConfigInterface().setProvisionedValue(
-                                configItem, state ? 1 : 0);
-                    } catch (ImsException e) {
+                        mProvisioningManager.setProvisioningStatusForCapability(
+                                capability, tech, state);
+                    } catch (RuntimeException e) {
                         Log.e(TAG, "setImsConfigProvisioned() exception:", e);
                     }
                 }
@@ -1524,6 +1552,71 @@
         }
     }
 
+    private void setRcsConfigProvisionedState(int capability, int tech, boolean state) {
+        if (mProvisioningManager != null) {
+            mQueuedWork.execute(new Runnable() {
+                public void run() {
+                    try {
+                        mProvisioningManager.setRcsProvisioningStatusForCapability(
+                                capability, tech, state);
+                    } catch (RuntimeException e) {
+                        Log.e(TAG, "setRcsConfigProvisioned() exception:", e);
+                    }
+                }
+            });
+        }
+    }
+
+    private boolean isImsVolteProvisioningRequired() {
+        return isImsConfigProvisioningRequired(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+    }
+
+    private boolean isImsVtProvisioningRequired() {
+        return isImsConfigProvisioningRequired(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+    }
+
+    private boolean isImsWfcProvisioningRequired() {
+        return isImsConfigProvisioningRequired(
+                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
+    }
+
+    private boolean isEabProvisioningRequired() {
+        return isRcsConfigProvisioningRequired(
+                ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
+    }
+
+    private boolean isImsConfigProvisioningRequired(int capability, int tech) {
+        if (mProvisioningManager != null) {
+            try {
+                return mProvisioningManager.isProvisioningRequiredForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "isImsConfigProvisioningRequired() exception:", e);
+            }
+        }
+
+        return false;
+    }
+
+    private boolean isRcsConfigProvisioningRequired(int capability, int tech) {
+        if (mProvisioningManager != null) {
+            try {
+                return mProvisioningManager.isRcsProvisioningRequiredForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "isRcsConfigProvisioningRequired() exception:", e);
+            }
+        }
+
+        return false;
+    }
+
     OnCheckedChangeListener mRadioPowerOnChangeListener = new OnCheckedChangeListener() {
         @Override
         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@@ -1543,11 +1636,8 @@
     };
 
     private boolean isImsVolteProvisioned() {
-        if (mImsManager != null) {
-            return mImsManager.isVolteEnabledByPlatform()
-                && mImsManager.isVolteProvisionedOnDevice();
-        }
-        return false;
+        return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
     }
 
     OnCheckedChangeListener mImsVolteCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1558,11 +1648,8 @@
     };
 
     private boolean isImsVtProvisioned() {
-        if (mImsManager != null) {
-            return mImsManager.isVtEnabledByPlatform()
-                && mImsManager.isVtProvisionedOnDevice();
-        }
-        return false;
+        return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
     }
 
     OnCheckedChangeListener mImsVtCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1573,11 +1660,8 @@
     };
 
     private boolean isImsWfcProvisioned() {
-        if (mImsManager != null) {
-            return mImsManager.isWfcEnabledByPlatform()
-                && mImsManager.isWfcProvisionedOnDevice();
-        }
-        return false;
+        return getImsConfigProvisionedState(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN);
     }
 
     OnCheckedChangeListener mImsWfcCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1588,7 +1672,8 @@
     };
 
     private boolean isEabProvisioned() {
-        return isFeatureProvisioned(EAB_PROVISIONED_CONFIG_ID, false);
+        return getRcsConfigProvisionedState(ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE,
+                ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
     }
 
     OnCheckedChangeListener mEabCheckedChangeListener = new OnCheckedChangeListener() {
@@ -1598,23 +1683,30 @@
         }
     };
 
-    private boolean isFeatureProvisioned(int featureId, boolean defaultValue) {
-        boolean provisioned = defaultValue;
-        if (mImsManager != null) {
+    private boolean getImsConfigProvisionedState(int capability, int tech) {
+        if (mProvisioningManager != null) {
             try {
-                ImsConfig imsConfig = mImsManager.getConfigInterface();
-                if (imsConfig != null) {
-                    provisioned =
-                            (imsConfig.getProvisionedValue(featureId)
-                                    == ImsConfig.FeatureValueConstants.ON);
-                }
-            } catch (ImsException ex) {
-                Log.e(TAG, "isFeatureProvisioned() exception:", ex);
+                return mProvisioningManager.getProvisioningStatusForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "getImsConfigProvisionedState() exception:", e);
             }
         }
 
-        log("isFeatureProvisioned() featureId=" + featureId + " provisioned=" + provisioned);
-        return provisioned;
+        return false;
+    }
+
+    private boolean getRcsConfigProvisionedState(int capability, int tech) {
+        if (mProvisioningManager != null) {
+            try {
+                return mProvisioningManager.getRcsProvisioningStatusForCapability(
+                        capability, tech);
+            } catch (RuntimeException e) {
+                Log.e(TAG, "getRcsConfigProvisionedState() exception:", e);
+            }
+        }
+
+        return false;
     }
 
     private boolean isEabEnabledByPlatform() {
@@ -1633,35 +1725,56 @@
     }
 
     private void updateImsProvisionedState() {
-        if (!ImsManager.isImsSupportedOnDevice(mPhone.getContext())) {
+        if (!isImsSupportedOnDevice(mPhone.getContext())) {
             return;
         }
-        log("updateImsProvisionedState isImsVolteProvisioned()=" + isImsVolteProvisioned());
-        //delightful hack to prevent on-checked-changed calls from
-        //actually forcing the ims provisioning to its transient/current value.
+
+        updateServiceEnabledByPlatform();
+
+        updateEabProvisionedSwitch(isEabEnabledByPlatform());
+    }
+
+    private void updateVolteProvisionedSwitch(boolean isEnabledByPlatform) {
+        boolean isProvisioned = isEnabledByPlatform && isImsVolteProvisioned();
+        log("updateVolteProvisionedSwitch isProvisioned" + isProvisioned);
+
         mImsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
-        mImsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
+        mImsVolteProvisionedSwitch.setChecked(isProvisioned);
         mImsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
         mImsVolteProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && mImsManager.isVolteEnabledByPlatform());
+                && isEnabledByPlatform && isImsVolteProvisioningRequired());
+    }
+
+    private void updateVtProvisionedSwitch(boolean isEnabledByPlatform) {
+        boolean isProvisioned = isEnabledByPlatform && isImsVtProvisioned();
+        log("updateVtProvisionedSwitch isProvisioned" + isProvisioned);
 
         mImsVtProvisionedSwitch.setOnCheckedChangeListener(null);
-        mImsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
+        mImsVtProvisionedSwitch.setChecked(isProvisioned);
         mImsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
         mImsVtProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && mImsManager.isVtEnabledByPlatform());
+                && isEnabledByPlatform && isImsVtProvisioningRequired());
+    }
+
+    private void updateWfcProvisionedSwitch(boolean isEnabledByPlatform) {
+        boolean isProvisioned = isEnabledByPlatform && isImsWfcProvisioned();
+        log("updateWfcProvisionedSwitch isProvisioned" + isProvisioned);
 
         mImsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
-        mImsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
+        mImsWfcProvisionedSwitch.setChecked(isProvisioned);
         mImsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
         mImsWfcProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && mImsManager.isWfcEnabledByPlatform());
+                && isEnabledByPlatform && isImsWfcProvisioningRequired());
+    }
+
+    private void updateEabProvisionedSwitch(boolean isEnabledByPlatform) {
+        log("updateEabProvisionedSwitch isEabWfcProvisioned()=" + isEabProvisioned());
 
         mEabProvisionedSwitch.setOnCheckedChangeListener(null);
         mEabProvisionedSwitch.setChecked(isEabProvisioned());
         mEabProvisionedSwitch.setOnCheckedChangeListener(mEabCheckedChangeListener);
         mEabProvisionedSwitch.setEnabled(!IS_USER_BUILD
-                && isEabEnabledByPlatform());
+                && isEnabledByPlatform && isEabProvisioningRequired());
     }
 
     OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
@@ -1877,4 +1990,68 @@
             }
         }
     };
+
+    OnCheckedChangeListener mRemovableEsimChangeListener = new OnCheckedChangeListener() {
+        @Override
+        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+            setRemovableEsimAsDefaultEuicc(isChecked);
+        }
+    };
+
+    private void setRemovableEsimAsDefaultEuicc(boolean isChecked) {
+        Log.d(TAG, "setRemovableEsimAsDefaultEuicc isChecked: " + isChecked);
+        mTelephonyManager.setRemovableEsimAsDefaultEuicc(isChecked);
+        // TODO(b/232528117): Instead of sending intent, add new APIs in platform,
+        //  LPA can directly use the API.
+        ComponentInfo componentInfo = EuiccConnector.findBestComponent(getPackageManager());
+        if (componentInfo == null) {
+            Log.d(TAG, "setRemovableEsimAsDefaultEuicc: unable to find suitable component info");
+            return;
+        }
+        final Intent intent = new Intent(ACTION_REMOVABLE_ESIM_AS_DEFAULT);
+        intent.setPackage(componentInfo.packageName);
+        intent.putExtra("isDefault", isChecked);
+        sendBroadcast(intent);
+    }
+
+    private boolean isImsSupportedOnDevice(Context context) {
+        return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS);
+    }
+
+    private void updateServiceEnabledByPlatform() {
+        int subId = mPhone.getSubId();
+        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            log("updateServiceEnabledByPlatform subscription ID is invalid");
+            return;
+        }
+
+        ImsMmTelManager imsMmTelManager = mImsManager.getImsMmTelManager(subId);
+        try {
+            imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                    AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getMainExecutor(), (result) -> {
+                        updateVolteProvisionedSwitch(result);
+                    });
+            imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO,
+                    AccessNetworkConstants.TRANSPORT_TYPE_WWAN, getMainExecutor(), (result) -> {
+                        updateVtProvisionedSwitch(result);
+                    });
+            imsMmTelManager.isSupported(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
+                    AccessNetworkConstants.TRANSPORT_TYPE_WLAN, getMainExecutor(), (result) -> {
+                        updateWfcProvisionedSwitch(result);
+                    });
+        } catch (ImsException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private Phone getPhone(int subId) {
+        log("getPhone subId = " + subId);
+        Phone phone = PhoneFactory.getPhone(SubscriptionManager.getPhoneId(subId));
+        if (phone == null) {
+            log("return the default phone");
+            return PhoneFactory.getDefaultPhone();
+        }
+
+        return phone;
+    }
 }
diff --git a/src/com/android/phone/settings/VoicemailProviderSettings.java b/src/com/android/phone/settings/VoicemailProviderSettings.java
index fc2e7f8..10f0ddb 100644
--- a/src/com/android/phone/settings/VoicemailProviderSettings.java
+++ b/src/com/android/phone/settings/VoicemailProviderSettings.java
@@ -21,6 +21,8 @@
 import com.android.internal.telephony.CallForwardInfo;
 import com.android.internal.telephony.CommandsInterface;
 
+import java.util.Arrays;
+
 /**
  * Settings for a voicemail provider, including any conditional forwarding information.
  */
@@ -88,7 +90,7 @@
     @Override
     public String toString() {
         return mVoicemailNumber + ((mForwardingSettings == null) ? ""
-                : ", " + mForwardingSettings.toString());
+                : ", " + Arrays.toString(mForwardingSettings));
     }
 
     public String getVoicemailNumber() {
diff --git a/src/com/android/phone/settings/fdn/GetPin2Screen.java b/src/com/android/phone/settings/fdn/GetPin2Screen.java
index 2394a69..09cab46 100644
--- a/src/com/android/phone/settings/fdn/GetPin2Screen.java
+++ b/src/com/android/phone/settings/fdn/GetPin2Screen.java
@@ -56,6 +56,7 @@
         mPin2Field.setOnEditorActionListener(this);
         mPin2Field.setInputType(
                 InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
+        mPin2Field.requestFocus();
 
         mOkButton = (Button) findViewById(R.id.ok);
         mOkButton.setOnClickListener(mClicked);
diff --git a/src/com/android/phone/vvm/VvmSimStateTracker.java b/src/com/android/phone/vvm/VvmSimStateTracker.java
index a77bd7b..ab8329c 100644
--- a/src/com/android/phone/vvm/VvmSimStateTracker.java
+++ b/src/com/android/phone/vvm/VvmSimStateTracker.java
@@ -88,7 +88,7 @@
                 VvmLog.e(TAG, "Cannot create TelephonyManager from " + mPhoneAccountHandle);
                 return;
             }
-            telephonyManager.registerTelephonyCallback(
+            telephonyManager.registerTelephonyCallback(TelephonyManager.INCLUDE_LOCATION_DATA_NONE,
                     new HandlerExecutor(new Handler(Looper.getMainLooper())), this);
         }
 
diff --git a/src/com/android/services/telephony/DisconnectCauseUtil.java b/src/com/android/services/telephony/DisconnectCauseUtil.java
index 9321e1e..587ac43 100644
--- a/src/com/android/services/telephony/DisconnectCauseUtil.java
+++ b/src/com/android/services/telephony/DisconnectCauseUtil.java
@@ -25,6 +25,7 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.ims.ImsReasonInfo;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.CallFailCause;
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneFactory;
@@ -101,14 +102,29 @@
     public static DisconnectCause toTelecomDisconnectCause(
             int telephonyDisconnectCause, int telephonyPreciseDisconnectCause, String reason,
             int phoneId, ImsReasonInfo imsReasonInfo) {
+        return toTelecomDisconnectCause(telephonyDisconnectCause, telephonyPreciseDisconnectCause,
+                reason, phoneId, imsReasonInfo, getCarrierConfigBundle(phoneId));
+    }
+
+    /**
+     * Final pre-processing method in creating a DisconnectCause.  This method should NOT be called
+     * from another class directly.  It only has private-package visibility for testing.
+     *
+     * @param carrierConfig
+     */
+    @VisibleForTesting
+    static DisconnectCause toTelecomDisconnectCause(
+            int telephonyDisconnectCause, int telephonyPreciseDisconnectCause, String reason,
+            int phoneId, ImsReasonInfo imsReasonInfo, PersistableBundle carrierConfig) {
         Context context = PhoneGlobals.getInstance();
+
         return new DisconnectCause(
-                toTelecomDisconnectCauseCode(telephonyDisconnectCause),
+                toTelecomDisconnectCauseCode(telephonyDisconnectCause, carrierConfig),
                 toTelecomDisconnectCauseLabel(context, telephonyDisconnectCause,
-                        telephonyPreciseDisconnectCause),
+                        telephonyPreciseDisconnectCause, carrierConfig),
                 toTelecomDisconnectCauseDescription(context, telephonyDisconnectCause, phoneId),
-                toTelecomDisconnectReason(context,telephonyDisconnectCause, reason, phoneId),
-                toTelecomDisconnectCauseTone(telephonyDisconnectCause, phoneId),
+                toTelecomDisconnectReason(context, telephonyDisconnectCause, reason, phoneId),
+                toTelecomDisconnectCauseTone(telephonyDisconnectCause, carrierConfig),
                 telephonyDisconnectCause,
                 telephonyPreciseDisconnectCause,
                 imsReasonInfo);
@@ -119,7 +135,16 @@
      * {@link android.telecom.DisconnectCause} disconnect code.
      * @return The disconnect code as defined in {@link android.telecom.DisconnectCause}.
      */
-    private static int toTelecomDisconnectCauseCode(int telephonyDisconnectCause) {
+    private static int toTelecomDisconnectCauseCode(int telephonyDisconnectCause,
+            PersistableBundle carrierConfig) {
+
+        // special case: some carriers determine what disconnect causes play the BUSY tone.
+        // hence, must adjust the disconnectCause CODE to match the tone.
+        if (doesCarrierClassifyDisconnectCauseAsBusyCause(telephonyDisconnectCause,
+                carrierConfig)) {
+            return DisconnectCause.BUSY;
+        }
+
         switch (telephonyDisconnectCause) {
             case android.telephony.DisconnectCause.LOCAL:
             //  The call was still disconnected locally, so this is not an error condition.
@@ -237,8 +262,17 @@
      * Returns a label for to the disconnect cause to be shown to the user.
      */
     private static CharSequence toTelecomDisconnectCauseLabel(
-            Context context, int telephonyDisconnectCause, int telephonyPreciseDisconnectCause) {
+            Context context, int telephonyDisconnectCause, int telephonyPreciseDisconnectCause,
+            PersistableBundle carrierConfig) {
         CharSequence label;
+
+        // special case: some carriers determine what disconnect causes play the BUSY tone.
+        // hence, must adjust the disconnectCause LABEL to match the tone.
+        if (doesCarrierClassifyDisconnectCauseAsBusyCause(telephonyDisconnectCause,
+                carrierConfig)) {
+            return context.getResources().getString(R.string.callFailed_userBusy);
+        }
+
         if (telephonyPreciseDisconnectCause != CallFailCause.NOT_VALID) {
             label = getLabelFromPreciseDisconnectCause(context, telephonyPreciseDisconnectCause,
                     telephonyDisconnectCause);
@@ -695,6 +729,10 @@
                 resourceId = R.string.incall_error_emergency_only;
                 break;
 
+            case android.telephony.DisconnectCause.ICC_ERROR:
+                resourceId = R.string.callFailed_simError;
+                break;
+
             case android.telephony.DisconnectCause.OUT_OF_SERVICE:
                 // No network connection.
                 if (ImsUtil.shouldPromoteWfc(context, phoneId)) {
@@ -840,21 +878,15 @@
     /**
      * Returns the tone to play for the disconnect cause, or UNKNOWN if none should be played.
      */
-    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();
+    private static int toTelecomDisconnectCauseTone(int telephonyDisconnectCause,
+            PersistableBundle carrierConfig) {
+
+        // special case: some carriers determine what disconnect causes play the BUSY tone.
+        if (doesCarrierClassifyDisconnectCauseAsBusyCause(telephonyDisconnectCause,
+                carrierConfig)) {
+            return ToneGenerator.TONE_SUP_BUSY;
         }
-        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;
@@ -886,4 +918,37 @@
                 return ToneGenerator.TONE_PROP_PROMPT;
         }
     }
+
+    /**
+     * Helper method that examines the carrierConfig KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY
+     * containing the DisconnectCauses that are classified as DisconnectCause.BUSY
+     * @param telephonyDisconnectCause
+     * @param carrierConfig object that holds all the carrier specific settings
+     * @return whether the cause is in the carrier config busy tone array
+     */
+    private static boolean doesCarrierClassifyDisconnectCauseAsBusyCause(
+            int telephonyDisconnectCause, PersistableBundle carrierConfig) {
+        int[] busyToneArray = carrierConfig.getIntArray(
+                CarrierConfigManager.KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY);
+        for (int busyTone : busyToneArray) {
+            if (busyTone == telephonyDisconnectCause) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static PersistableBundle getCarrierConfigBundle(int phoneId) {
+        Phone phone = PhoneFactory.getPhone(phoneId);
+        PersistableBundle config;
+
+        if (phone != null) {
+            config = PhoneGlobals.getInstance().getCarrierConfigForSubId(phone.getSubId());
+        } else {
+            config = PhoneGlobals.getInstance().getCarrierConfig();
+        }
+
+        return config;
+    }
+
 }
diff --git a/src/com/android/services/telephony/PstnIncomingCallNotifier.java b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
index 5f1d4eb..8615325 100644
--- a/src/com/android/services/telephony/PstnIncomingCallNotifier.java
+++ b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
@@ -99,6 +99,12 @@
                     break;
             }
         }
+
+        @Override
+        public String toString() {
+            return String.format("[PstnIncomingCallNotifierHandler; phoneId=[%s]",
+                    getPhoneIdAsString());
+        }
     };
 
     /**
@@ -125,7 +131,7 @@
      */
     private void registerForNotifications() {
         if (mPhone != null) {
-            Log.i(this, "Registering: %s", mPhone);
+            Log.i(this, "Registering: [%s]", getPhoneIdAsString());
             mPhone.registerForNewRingingConnection(mHandler, EVENT_NEW_RINGING_CONNECTION, null);
             mPhone.registerForCallWaiting(mHandler, EVENT_CDMA_CALL_WAITING, null);
             mPhone.registerForUnknownConnection(mHandler, EVENT_UNKNOWN_CONNECTION, null);
@@ -134,7 +140,7 @@
 
     private void unregisterForNotifications() {
         if (mPhone != null) {
-            Log.i(this, "Unregistering: %s", mPhone);
+            Log.i(this, "Unregistering: [%s]", getPhoneIdAsString());
             mPhone.unregisterForNewRingingConnection(mHandler);
             mPhone.unregisterForCallWaiting(mHandler);
             mPhone.unregisterForUnknownConnection(mHandler);
@@ -147,7 +153,7 @@
      * @param asyncResult The result object from the new ringing event.
      */
     private void handleNewRingingConnection(AsyncResult asyncResult) {
-        Log.d(this, "handleNewRingingConnection");
+        Log.i(this, "handleNewRingingConnection: phoneId=[%s]", getPhoneIdAsString());
         Connection connection = (Connection) asyncResult.result;
         if (connection != null) {
             Call call = connection.getCall();
@@ -177,7 +183,7 @@
     }
 
     private void handleCdmaCallWaiting(AsyncResult asyncResult) {
-        Log.d(this, "handleCdmaCallWaiting");
+        Log.i(this, "handleCdmaCallWaiting: phoneId=[%s]", getPhoneIdAsString());
         CdmaCallWaitingNotification ccwi = (CdmaCallWaitingNotification) asyncResult.result;
         Call call = mPhone.getRingingCall();
         if (call.getState() == Call.State.WAITING) {
@@ -191,7 +197,7 @@
                     // Presentation of number not allowed, but the presentation of the Connection
                     // and the call waiting presentation match.
                     Log.i(this, "handleCdmaCallWaiting: inform telecom of waiting call; "
-                                    + "presentation = %d", presentation);
+                            + "presentation = %d", presentation);
                     sendIncomingCallIntent(connection);
                 } else if (!TextUtils.isEmpty(number) && Objects.equals(number, ccwi.number)) {
                     // Presentation of the number is allowed, so we ensure the number matches the
@@ -200,7 +206,7 @@
                             + "number = %s", Rlog.pii(LOG_TAG, number));
                     sendIncomingCallIntent(connection);
                 } else {
-                    Log.w(this, "handleCdmaCallWaiting: presentation or number do not match, not"
+                    Log.i(this, "handleCdmaCallWaiting: presentation or number do not match, not"
                             + " informing telecom of call: %s", ccwi);
                 }
             }
@@ -208,9 +214,9 @@
     }
 
     private void handleNewUnknownConnection(AsyncResult asyncResult) {
-        Log.i(this, "handleNewUnknownConnection");
+        Log.i(this, "handleNewUnknownConnection: phoneId=[%s]", getPhoneIdAsString());
         if (!(asyncResult.result instanceof Connection)) {
-            Log.w(this, "handleNewUnknownConnection called with non-Connection object");
+            Log.i(this, "handleNewUnknownConnection called with non-Connection object");
             return;
         }
         Connection connection = (Connection) asyncResult.result;
@@ -402,7 +408,7 @@
             Log.i(this, "Receiving MT call in ECM. Using Emergency PhoneAccount Instead.");
             return emergencyHandle;
         }
-        Log.w(this, "PhoneAccount not found.");
+        Log.i(this, "PhoneAccount not found.");
         return null;
     }
 
@@ -449,8 +455,8 @@
             if (unknown instanceof ImsExternalConnection &&
                     !(telephonyConnection
                             .getOriginalConnection() instanceof ImsExternalConnection)) {
-                Log.v(this, "maybeSwapWithUnknownConnection - not swapping regular connection " +
-                        "with external connection.");
+                Log.i(this, "maybeSwapWithUnknownConnection - not swapping "
+                        + "regular connection with external connection.");
                 return false;
             }
 
@@ -486,4 +492,11 @@
         }
         return false;
     }
-}
+
+    private String getPhoneIdAsString() {
+        if (mPhone == null) {
+            return "-1";
+        }
+        return String.valueOf(mPhone.getPhoneId());
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/services/telephony/RadioOnHelper.java b/src/com/android/services/telephony/RadioOnHelper.java
index be2ddb2..63a648f 100644
--- a/src/com/android/services/telephony/RadioOnHelper.java
+++ b/src/com/android/services/telephony/RadioOnHelper.java
@@ -102,8 +102,20 @@
     private void powerOnRadio(boolean forEmergencyCall, Phone phoneForEmergencyCall,
             boolean isTestEmergencyNumber) {
 
+        // Always try to turn on the radio here independent of APM setting - if we got here in the
+        // first place, the radio is off independent of APM setting.
+        for (Phone phone : PhoneFactory.getPhones()) {
+            Log.d(this, "powerOnRadio, enabling Radio");
+            if (isTestEmergencyNumber) {
+                phone.setRadioPowerOnForTestEmergencyCall(phone == phoneForEmergencyCall);
+            } else {
+                phone.setRadioPower(true, forEmergencyCall, phone == phoneForEmergencyCall,
+                        false);
+            }
+        }
+
         // If airplane mode is on, we turn it off the same way that the Settings activity turns it
-        // off.
+        // off to keep the setting in sync.
         if (Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.AIRPLANE_MODE_ON, 0) > 0) {
             Log.d(this, "==> Turning off airplane mode for emergency call.");
@@ -112,16 +124,6 @@
             Settings.Global.putInt(mContext.getContentResolver(),
                     Settings.Global.AIRPLANE_MODE_ON, 0);
 
-            for (Phone phone : PhoneFactory.getPhones()) {
-                Log.d(this, "powerOnRadio, enabling Radio");
-                if (isTestEmergencyNumber) {
-                    phone.setRadioPowerOnForTestEmergencyCall(phone == phoneForEmergencyCall);
-                } else {
-                    phone.setRadioPower(true, forEmergencyCall, phone == phoneForEmergencyCall,
-                            false);
-                }
-            }
-
             // Post the broadcast intend for change in airplane mode
             // TODO: We really should not be in charge of sending this broadcast.
             // If changing the setting is sufficient to trigger all of the rest of the logic,
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 1d749f4..a9b4c71 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -16,6 +16,7 @@
 
 package com.android.services.telephony;
 
+import android.app.PropertyInvalidatedCache;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -831,6 +832,7 @@
                     // torn down.
                     return;
                 }
+
                 boolean isVideoPresenceSupported = isCarrierVideoPresenceSupported();
                 if (mIsVideoPresenceSupported != isVideoPresenceSupported) {
                     Log.i(this, "updateVideoPresenceCapability for subId=" + mPhone.getSubId()
@@ -841,30 +843,64 @@
         }
 
         public void updateRttCapability() {
-            boolean isRttEnabled = isRttCurrentlySupported();
-            if (isRttEnabled != mIsRttCapable) {
-                Log.i(this, "updateRttCapability - changed, new value: " + isRttEnabled);
-                mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+            synchronized (mAccountsLock) {
+                if (!mAccounts.contains(this)) {
+                    // Account has already been torn down, don't try to register it again.
+                    // This handles the case where teardown has already happened, and we got a Ims
+                    // registartion update that lost the race for the mAccountsLock.  In such a
+                    // scenario by the time we get here, the original phone account could have been
+                    // torn down.
+                    return;
+                }
+
+                boolean isRttEnabled = isRttCurrentlySupported();
+                if (isRttEnabled != mIsRttCapable) {
+                    Log.i(this, "updateRttCapability - changed, new value: " + isRttEnabled);
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+                }
             }
         }
 
         public void updateCallComposerCapability(MmTelFeature.MmTelCapabilities capabilities) {
-            boolean isCallComposerCapable = capabilities.isCapable(
-                    MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER);
-            if (isCallComposerCapable != mIsCallComposerCapable) {
-                mIsCallComposerCapable = isCallComposerCapable;
-                Log.i(this, "updateCallComposerCapability - changed, new value: "
-                        + isCallComposerCapable);
-                mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+            synchronized (mAccountsLock) {
+                if (!mAccounts.contains(this)) {
+                    // Account has already been torn down, don't try to register it again.
+                    // This handles the case where teardown has already happened, and we got a Ims
+                    // registartion update that lost the race for the mAccountsLock.  In such a
+                    // scenario by the time we get here, the original phone account could have been
+                    // torn down.
+                    return;
+                }
+
+                boolean isCallComposerCapable = capabilities.isCapable(
+                        MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_CALL_COMPOSER);
+                if (isCallComposerCapable != mIsCallComposerCapable) {
+                    mIsCallComposerCapable = isCallComposerCapable;
+                    Log.i(this, "updateCallComposerCapability - changed, new value: "
+                            + isCallComposerCapable);
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+                }
             }
         }
 
         public void updateDefaultDataSubId(int activeDataSubId) {
-            boolean isEmergencyPreferred = isEmergencyPreferredAccount(mPhone.getSubId(),
-                    activeDataSubId);
-            if (isEmergencyPreferred != mIsEmergencyPreferred) {
-                Log.i(this, "updateDefaultDataSubId - changed, new value: " + isEmergencyPreferred);
-                mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+            synchronized (mAccountsLock) {
+                if (!mAccounts.contains(this)) {
+                    // Account has already been torn down, don't try to register it again.
+                    // This handles the case where teardown has already happened, and we got a Ims
+                    // registartion update that lost the race for the mAccountsLock.  In such a
+                    // scenario by the time we get here, the original phone account could have been
+                    // torn down.
+                    return;
+                }
+
+                boolean isEmergencyPreferred = isEmergencyPreferredAccount(mPhone.getSubId(),
+                        activeDataSubId);
+                if (isEmergencyPreferred != mIsEmergencyPreferred) {
+                    Log.i(this,
+                            "updateDefaultDataSubId - changed, new value: " + isEmergencyPreferred);
+                    mAccount = registerPstnPhoneAccount(mIsEmergency, mIsTestAccount);
+                }
             }
         }
 
@@ -1386,7 +1422,8 @@
 
         // We also need to listen for changes to the service state (e.g. emergency -> in service)
         // because this could signal a removal or addition of a SIM in a single SIM phone.
-        mTelephonyManager.registerTelephonyCallback(new HandlerExecutor(mHandler),
+        mTelephonyManager.registerTelephonyCallback(TelephonyManager.INCLUDE_LOCATION_DATA_NONE,
+                new HandlerExecutor(mHandler),
                 mTelephonyCallback);
 
         // Listen for user switches.  When the user switches, we need to ensure that if the current
@@ -1558,6 +1595,9 @@
             }
             mAccounts.clear();
         }
+        // Invalidate the TelephonyManager cache which maps phone account handles to sub ids since
+        // all the phone account handles are being recreated at this point.
+        PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
     }
 
     /**
diff --git a/src/com/android/services/telephony/TelephonyConferenceController.java b/src/com/android/services/telephony/TelephonyConferenceController.java
index 9aa3dbe..f0aa641 100644
--- a/src/com/android/services/telephony/TelephonyConferenceController.java
+++ b/src/com/android/services/telephony/TelephonyConferenceController.java
@@ -20,6 +20,8 @@
 import android.telecom.Connection;
 import android.telecom.DisconnectCause;
 import android.telecom.PhoneAccountHandle;
+import android.text.TextUtils;
+import android.util.Patterns;
 
 import com.android.internal.telephony.Call;
 import com.android.phone.PhoneUtils;
@@ -40,7 +42,6 @@
  */
 final class TelephonyConferenceController {
     private static final int TELEPHONY_CONFERENCE_MAX_SIZE = 5;
-    private static final String RIL_REPORTED_CONFERENCE_CALL_STRING = "Conference Call";
 
     private final TelephonyConnection.TelephonyConnectionListener mTelephonyConnectionListener =
             new TelephonyConnection.TelephonyConnectionListener() {
@@ -271,13 +272,13 @@
                             // Remove all instances of PROPERTY_IS_DOWNGRADED_CONFERENCE. This
                             // property should only be set on the parent call (i.e. the newly
                             // created TelephonyConference.
-                            // This doesn't apply to a connection whose address is "Conference
-                            // Call", which may be updated by some modem to create a connection
-                            // to represent a merged conference connection in SRVCC.
+                            // This doesn't apply to a connection whose address is not an
+                            // identifiable phone number, which may be updated by some modem
+                            // to create a connection to represent a merged conference connection
+                            // in SRVCC.
                             if (connection.getAddress() == null
-                                    || !connection.getAddress().getSchemeSpecificPart()
-                                            .equalsIgnoreCase(
-                                                    RIL_REPORTED_CONFERENCE_CALL_STRING)) {
+                                    || isPhoneNumber(
+                                            connection.getAddress().getSchemeSpecificPart())) {
                                 Log.d(this, "Removing PROPERTY_IS_DOWNGRADED_CONFERENCE"
                                         + " from connection %s", connection);
                                 int newProperties = connection.getConnectionProperties()
@@ -320,4 +321,11 @@
             }
         }
     }
+
+    private boolean isPhoneNumber(String number) {
+        if (TextUtils.isEmpty(number)) {
+            return false;
+        }
+        return Patterns.PHONE.matcher(number).matches();
+    }
 }
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index b3b0686..bb96c7c 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -78,12 +78,12 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Queue;
+import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 import java.util.function.Consumer;
 import java.util.regex.Pattern;
@@ -507,7 +507,7 @@
         IntentFilter intentFilter = new IntentFilter(
                 TelecomManager.ACTION_TTY_PREFERRED_MODE_CHANGED);
         registerReceiver(mTtyBroadcastReceiver, intentFilter,
-                android.Manifest.permission.MODIFY_PHONE_STATE, null);
+                android.Manifest.permission.MODIFY_PHONE_STATE, null, Context.RECEIVER_EXPORTED);
     }
 
     @Override
@@ -1140,6 +1140,11 @@
                             "Invalid phone type",
                             phone.getPhoneId()));
         }
+        if (!Objects.equals(request.getAccountHandle(), accountHandle)) {
+            Log.i(this, "onCreateOutgoingConnection, update phoneAccountHandle, accountHandle = "
+                    + accountHandle);
+            connection.setPhoneAccountHandle(accountHandle);
+        }
         connection.setAddress(handle, PhoneConstants.PRESENTATION_ALLOWED);
         connection.setTelephonyConnectionInitializing();
         connection.setTelephonyVideoState(request.getVideoState());
@@ -2538,9 +2543,7 @@
                        return;
                    }
 
-                   c.sendMessages(new HashSet<Communicator.Message>() {{
-                       add(new Communicator.Message(message, value));
-                   }});
+                   c.sendMessages(Set.of(new Communicator.Message(message, value)));
 
                });
     }
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
index 3d83a4c..edb3c47 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsSampleDownloadService.java
@@ -58,9 +58,8 @@
 import java.util.concurrent.ConcurrentHashMap;
 
 public class EmbmsSampleDownloadService extends Service {
-    private static final Set<String> ALLOWED_PACKAGES = new HashSet<String>() {{
-        add("com.android.phone.testapps.embmsdownload");
-    }};
+    private static final Set<String> ALLOWED_PACKAGES = Set.of(
+            "com.android.phone.testapps.embmsdownload");
 
     private static final String LOG_TAG = "EmbmsSampleDownload";
     private static final long INITIALIZATION_DELAY = 200;
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
index f50536c..58afe98 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/EmbmsTestStreamingService.java
@@ -35,15 +35,13 @@
 
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 public class EmbmsTestStreamingService extends Service {
-    private static final Set<String> ALLOWED_PACKAGES = new HashSet<String>() {{
-        add("com.android.phone.testapps.embmsfrontend");
-    }};
+    private static final Set<String> ALLOWED_PACKAGES = Set.of(
+            "com.android.phone.testapps.embmsfrontend");
 
     private static final String TAG = "EmbmsTestStreaming";
 
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
index 27911f6..fe345f3 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/FileServiceRepository.java
@@ -81,14 +81,10 @@
     private void createFileService(String className, Uri... filesIncluded) {
         sServiceIdCounter++;
         String id = "FileServiceId[" + sServiceIdCounter + "]";
-        List<Locale> locales = new ArrayList<Locale>(2) {{
-            add(Locale.US);
-            add(Locale.UK);
-        }};
-        Map<Locale, String> localeDict = new HashMap<Locale, String>() {{
-            put(Locale.US, "File Source " + sServiceIdCounter);
-            put(Locale.UK, "File Source with extra vowels " + sServiceIdCounter);
-        }};
+        List<Locale> locales = List.of(Locale.US, Locale.UK);
+        Map<Locale, String> localeDict = Map.of(
+                Locale.US, "File Source " + sServiceIdCounter,
+                Locale.UK, "File Source with extra vowels " + sServiceIdCounter);
         List<FileInfo> fileInfos = Arrays.stream(filesIncluded)
                 .map(this::getFileInfoForUri)
                 .collect(Collectors.toList());
diff --git a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
index e1a12e3..e49dea5 100644
--- a/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
+++ b/testapps/EmbmsServiceTestApp/src/com/android/phone/testapps/embmsmw/StreamingServiceRepository.java
@@ -19,7 +19,6 @@
 import android.net.Uri;
 import android.telephony.mbms.StreamingServiceInfo;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -61,14 +60,10 @@
     private static void createStreamingService(String className) {
         sServiceIdCounter++;
         String id = "StreamingServiceId[" + sServiceIdCounter + "]";
-        Map<Locale, String> localeDict = new HashMap<Locale, String>() {{
-                put(Locale.US, "Entertainment Source " + sServiceIdCounter);
-                put(Locale.CANADA, "Entertainment Source, eh?" + sServiceIdCounter);
-        }};
-        List<Locale> locales = new ArrayList<Locale>() {{
-                add(Locale.CANADA);
-                add(Locale.US);
-        }};
+        Map<Locale, String> localeDict = Map.of(
+                Locale.US, "Entertainment Source " + sServiceIdCounter,
+                Locale.CANADA, "Entertainment Source, eh?" + sServiceIdCounter);
+        List<Locale> locales = List.of(Locale.CANADA, Locale.US);
         StreamingServiceInfo info = new StreamingServiceInfo(localeDict, className, locales,
                 id, new Date(System.currentTimeMillis() - 10000),
                 new Date(System.currentTimeMillis() + 10000));
diff --git a/testapps/GbaTestApp/res/values-en-rCA/strings.xml b/testapps/GbaTestApp/res/values-en-rCA/strings.xml
index 6c4a199..0d5c727 100644
--- a/testapps/GbaTestApp/res/values-en-rCA/strings.xml
+++ b/testapps/GbaTestApp/res/values-en-rCA/strings.xml
@@ -3,12 +3,12 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2922839697457005451">"GbaTestApp"</string>
     <string name="label_settings" msgid="8030871890526865502">"Settings"</string>
-    <string name="label_carrier" msgid="1470455313066422804">"Operator config"</string>
-    <string name="label_service" msgid="2668963955237345578">"Service config"</string>
-    <string name="label_test" msgid="8425079572898571918">"Test config"</string>
+    <string name="label_carrier" msgid="1470455313066422804">"Carrier Config"</string>
+    <string name="label_service" msgid="2668963955237345578">"Service Config"</string>
+    <string name="label_test" msgid="8425079572898571918">"Test Config"</string>
     <string name="button_name_running" msgid="4557363091224858010">"Running"</string>
     <string name="button_name_exit" msgid="8025683733431538975">"Exit"</string>
-    <string name="label_test_result" msgid="892984695972956196">"Test result"</string>
+    <string name="label_test_result" msgid="892984695972956196">"Test Result"</string>
     <string name="button_name_clear" msgid="436313515327318537">"Reset"</string>
     <string name="button_name_done" msgid="6030406534322497491">"Done"</string>
     <string name="title_activity_carrier_config" msgid="7807803900475957717">"CarrierConfigActivity"</string>
@@ -16,16 +16,16 @@
     <string name="title_activity_test_config" msgid="7585204485536359713">"TestConfigActivity"</string>
     <string name="service_package_name" msgid="7204809439090483315">"Package name of GBA service"</string>
     <string name="service_release_time" msgid="532937496122890892">"How long to release service after calling"</string>
-    <string name="request_app_type" msgid="3975978141673475612">"UICC app type"</string>
+    <string name="request_app_type" msgid="3975978141673475612">"UICC App Type"</string>
     <string name="request_naf_url" msgid="4487793541217737042">"Network application function (NAF) URL"</string>
-    <string name="request_force_bootstrapping" msgid="206043602616214325">"Force bootstrapping?"</string>
-    <string name="request_org" msgid="8416693445448308975">"Organisation code"</string>
-    <string name="request_security_protocol" msgid="1444164827561010482">"UA security protocol ID"</string>
-    <string name="request_tls_cipher_suite" msgid="6659854717595308404">"TLS cipher suite ID"</string>
-    <string name="response_success" msgid="2469204471244527663">"GBA auth success?"</string>
-    <string name="response_fail_reason" msgid="3401426967253202496">"Fail reason ID"</string>
-    <string name="response_key" msgid="8839847772051686309">"GBA key (CK + IK)"</string>
-    <string name="response_btid" msgid="2550216722679350756">"Bootstrapping transaction identifier (B-TID)"</string>
+    <string name="request_force_bootstrapping" msgid="206043602616214325">"Force Bootstrapping?"</string>
+    <string name="request_org" msgid="8416693445448308975">"Organization Code"</string>
+    <string name="request_security_protocol" msgid="1444164827561010482">"UA Security Protocol ID"</string>
+    <string name="request_tls_cipher_suite" msgid="6659854717595308404">"TLS Cipher Suite ID"</string>
+    <string name="response_success" msgid="2469204471244527663">"GBA Auth Success?"</string>
+    <string name="response_fail_reason" msgid="3401426967253202496">"Fail Reason ID"</string>
+    <string name="response_key" msgid="8839847772051686309">"GBA Key (CK + IK)"</string>
+    <string name="response_btid" msgid="2550216722679350756">"Bootstrapping Transaction Identifier (B-TID)"</string>
     <string name="sample_naf" msgid="255371174145881001">"3GPP-bootstrapping@naf1.operator.com"</string>
     <string name="sample_btid" msgid="6967620309576384966">"(B-TID)"</string>
     <string name="sample_key" msgid="3337589659405527482">"6629fae49393a05397450978507c4ef1"</string>
diff --git a/testapps/GbaTestApp/res/values-ro/strings.xml b/testapps/GbaTestApp/res/values-ro/strings.xml
index d7f9e7b..dd44364 100644
--- a/testapps/GbaTestApp/res/values-ro/strings.xml
+++ b/testapps/GbaTestApp/res/values-ro/strings.xml
@@ -7,9 +7,9 @@
     <string name="label_service" msgid="2668963955237345578">"Configurația serviciului"</string>
     <string name="label_test" msgid="8425079572898571918">"Configurație de testare"</string>
     <string name="button_name_running" msgid="4557363091224858010">"Rulează"</string>
-    <string name="button_name_exit" msgid="8025683733431538975">"Ieșiți"</string>
+    <string name="button_name_exit" msgid="8025683733431538975">"Ieși"</string>
     <string name="label_test_result" msgid="892984695972956196">"Rezultatul testului"</string>
-    <string name="button_name_clear" msgid="436313515327318537">"Resetați"</string>
+    <string name="button_name_clear" msgid="436313515327318537">"Resetează"</string>
     <string name="button_name_done" msgid="6030406534322497491">"Terminat"</string>
     <string name="title_activity_carrier_config" msgid="7807803900475957717">"CarrierConfigActivity"</string>
     <string name="title_activity_service_config" msgid="5394662739555577279">"ServiceConfigActivity"</string>
@@ -18,7 +18,7 @@
     <string name="service_release_time" msgid="532937496122890892">"Durata până la lansarea serviciului după apel"</string>
     <string name="request_app_type" msgid="3975978141673475612">"Tipul aplicației UICC"</string>
     <string name="request_naf_url" msgid="4487793541217737042">"Adresa URL pentru funcția aplicației pentru rețea (NAF)"</string>
-    <string name="request_force_bootstrapping" msgid="206043602616214325">"Forțați inițializarea?"</string>
+    <string name="request_force_bootstrapping" msgid="206043602616214325">"Forțezi inițializarea?"</string>
     <string name="request_org" msgid="8416693445448308975">"Cod organizațional"</string>
     <string name="request_security_protocol" msgid="1444164827561010482">"ID-ul protocolului de securitate pentru Google Analytics universal"</string>
     <string name="request_tls_cipher_suite" msgid="6659854717595308404">"ID-ul suitei TLS Cipher"</string>
diff --git a/testapps/GbaTestApp/res/values-te/strings.xml b/testapps/GbaTestApp/res/values-te/strings.xml
index 72bd28b..28b0489 100644
--- a/testapps/GbaTestApp/res/values-te/strings.xml
+++ b/testapps/GbaTestApp/res/values-te/strings.xml
@@ -7,7 +7,7 @@
     <string name="label_service" msgid="2668963955237345578">"సర్వీస్ కాన్ఫిగరేషన్"</string>
     <string name="label_test" msgid="8425079572898571918">"పరీక్ష కాన్ఫిగరేషన్"</string>
     <string name="button_name_running" msgid="4557363091224858010">"రన్ అవుతోంది"</string>
-    <string name="button_name_exit" msgid="8025683733431538975">"నిష్క్రమించు"</string>
+    <string name="button_name_exit" msgid="8025683733431538975">"నిష్క్రమించండి"</string>
     <string name="label_test_result" msgid="892984695972956196">"పరీక్ష ఫలితం"</string>
     <string name="button_name_clear" msgid="436313515327318537">"రీసెట్ చేయండి"</string>
     <string name="button_name_done" msgid="6030406534322497491">"పూర్తయింది"</string>
diff --git a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
index ccb5639..28408f9 100644
--- a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
+++ b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/ParameterParser.java
@@ -25,7 +25,6 @@
 
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executor;
@@ -44,15 +43,13 @@
     }
 
     private final Context mContext;
-    private final Map<Class, Function<String, Object>> mParsers =
-            new HashMap<Class, Function<String, Object>>() {{
-                put(PhoneNumberRange.class, ParameterParser::parsePhoneNumberRange);
-                put(Executor.class, s -> parseExecutor(s));
-                put(NumberVerificationCallback.class, s -> parseNumberVerificationCallback(s));
-                put(Consumer.class, s -> parseConsumer(s));
-                put(List.class, s -> parseList(s));
-                put(RadioAccessSpecifier.class, s -> parseRadioAccessSpecifier(s));
-            }};
+    private final Map<Class, Function<String, Object>> mParsers = Map.of(
+            PhoneNumberRange.class, ParameterParser::parsePhoneNumberRange,
+            Executor.class, s -> parseExecutor(s),
+            NumberVerificationCallback.class, s -> parseNumberVerificationCallback(s),
+            Consumer.class, s -> parseConsumer(s),
+            List.class, s -> parseList(s),
+            RadioAccessSpecifier.class, s -> parseRadioAccessSpecifier(s));
 
     private ParameterParser(Context context) {
         mContext = context;
diff --git a/testapps/TestRcsApp/OWNERS b/testapps/TestRcsApp/OWNERS
index 1d0d52b..4261109 100644
--- a/testapps/TestRcsApp/OWNERS
+++ b/testapps/TestRcsApp/OWNERS
@@ -1,3 +1,5 @@
-allenwtsu@google.com
-calvinpan@google.com
-jamescflin@google.com
+breadley@google.com
+joonhunshin@google.com
+donaldahn@google.com
+hhshin@google.com
+schie@google.com
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java
index b9078f8..cfb75bc 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/FileUploadActivity.java
@@ -189,6 +189,7 @@
         });
     }
 
+    @SuppressWarnings("MissingSuperCall") // TODO: fix me
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
diff --git a/testapps/TestSliceApp/.gitignore b/testapps/TestSliceApp/.gitignore
new file mode 100644
index 0000000..aa724b7
--- /dev/null
+++ b/testapps/TestSliceApp/.gitignore
@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/testapps/TestSliceApp/.idea/.gitignore b/testapps/TestSliceApp/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/testapps/TestSliceApp/.idea/compiler.xml b/testapps/TestSliceApp/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/compiler.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="11" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/.idea/gradle.xml b/testapps/TestSliceApp/.idea/gradle.xml
new file mode 100644
index 0000000..526b4c2
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/gradle.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="testRunner" value="GRADLE" />
+        <option name="distributionType" value="DEFAULT_WRAPPED" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+          </set>
+        </option>
+        <option name="resolveModulePerSourceSet" value="false" />
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/.idea/misc.xml b/testapps/TestSliceApp/.idea/misc.xml
new file mode 100644
index 0000000..a329266
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/misc.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DesignSurface">
+    <option name="filePathToZoomLevelMap">
+      <map>
+        <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.38177083333333334" />
+        <entry key="app/src/main/res/layout/_copy.xml" value="0.365625" />
+        <entry key="app/src/main/res/layout/activity_main.xml" value="0.4891304347826087" />
+        <entry key="app/src/main/res/layout/copy.xml" value="0.37135416666666665" />
+        <entry key="app/src/main/res/layout/fragment_c_b_s.xml" value="0.473731884057971" />
+        <entry key="app/src/main/res/layout/fragment_c_b_s_copy.xml" value="0.365625" />
+        <entry key="app/src/main/res/layout/fragment_main.xml" value="0.46693840579710144" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_bandwidth.xml" value="0.473731884057971" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_bandwidth2.xml" value="0.365625" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_latency.xml" value="0.473731884057971" />
+        <entry key="app/src/main/res/layout/fragment_prioritize_latency2.xml" value="0.365625" />
+      </map>
+    </option>
+  </component>
+  <component name="NullableNotNullManager">
+    <option name="myDefaultNullable" value="androidx.annotation.Nullable" />
+    <option name="myDefaultNotNull" value="androidx.annotation.NonNull" />
+    <option name="myNullables">
+      <value>
+        <list size="17">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
+          <item index="1" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
+          <item index="2" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+          <item index="3" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
+          <item index="4" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
+          <item index="5" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
+          <item index="6" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
+          <item index="7" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
+          <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
+          <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
+          <item index="10" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
+          <item index="11" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
+          <item index="12" class="java.lang.String" itemvalue="io.reactivex.annotations.Nullable" />
+          <item index="13" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.Nullable" />
+          <item index="14" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
+          <item index="15" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
+          <item index="16" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
+        </list>
+      </value>
+    </option>
+    <option name="myNotNulls">
+      <value>
+        <list size="17">
+          <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
+          <item index="1" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
+          <item index="2" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+          <item index="3" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
+          <item index="4" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
+          <item index="5" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
+          <item index="6" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
+          <item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
+          <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
+          <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
+          <item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
+          <item index="11" class="java.lang.String" itemvalue="io.reactivex.annotations.NonNull" />
+          <item index="12" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.NonNull" />
+          <item index="13" class="java.lang.String" itemvalue="lombok.NonNull" />
+          <item index="14" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
+          <item index="15" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
+          <item index="16" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
+        </list>
+      </value>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/.idea/vcs.xml b/testapps/TestSliceApp/.idea/vcs.xml
new file mode 100644
index 0000000..498ba99
--- /dev/null
+++ b/testapps/TestSliceApp/.idea/vcs.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="IssueNavigationConfiguration">
+    <option name="links">
+      <list>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\bb/(\d+)(#\w+)?\b" />
+          <option name="linkRegexp" value="https://buganizer.corp.google.com/issues/$1$2" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\b(?:BUG=|FIXED=)(\d+)\b" />
+          <option name="linkRegexp" value="https://buganizer.corp.google.com/issues/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\b(?:cl/|cr/|OCL=|DIFFBASE=|ROLLBACK_OF=)(\d+)\b" />
+          <option name="linkRegexp" value="https://critique.corp.google.com/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\bomg/(\d+)\b" />
+          <option name="linkRegexp" value="https://omg.corp.google.com/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\b(?:go/|goto/)([^,.&lt;&gt;()&quot;\s]+(?:[.,][^,.&lt;&gt;()&quot;\s]+)*)" />
+          <option name="linkRegexp" value="https://goto.google.com/$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="\bcs/([^\s]+[\w$])" />
+          <option name="linkRegexp" value="https://cs.corp.google.com/search/?q=$1" />
+        </IssueNavigationLink>
+        <IssueNavigationLink>
+          <option name="issueRegexp" value="(LINT\.IfChange)|(LINT\.ThenChange)" />
+          <option name="linkRegexp" value="https://goto.google.com/ifthisthenthatlint" />
+        </IssueNavigationLink>
+      </list>
+    </option>
+  </component>
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/.gitignore b/testapps/TestSliceApp/app/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/testapps/TestSliceApp/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/build.gradle b/testapps/TestSliceApp/app/build.gradle
new file mode 100644
index 0000000..2b20187
--- /dev/null
+++ b/testapps/TestSliceApp/app/build.gradle
@@ -0,0 +1,40 @@
+plugins {
+    id 'com.android.application'
+}
+
+android {
+    compileSdkPreview "android-Tiramisu"
+
+    defaultConfig {
+        applicationId "com.google.android.sample.testsliceapp"
+        minSdkPreview "Tiramisu"
+        targetSdkPreview "Tiramisu"
+        versionCode 1
+        versionName "1.0"
+
+        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+}
+
+dependencies {
+
+    implementation 'androidx.appcompat:appcompat:1.4.1'
+    implementation 'com.google.android.material:material:1.5.0'
+    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
+    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+    testImplementation 'junit:junit:4.+'
+    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
+    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
+    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
+}
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/proguard-rules.pro b/testapps/TestSliceApp/app/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/testapps/TestSliceApp/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/androidTest/java/com/google/android/sample/testsliceapp/ExampleInstrumentedTest.java b/testapps/TestSliceApp/app/src/androidTest/java/com/google/android/sample/testsliceapp/ExampleInstrumentedTest.java
new file mode 100644
index 0000000..7732215
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/androidTest/java/com/google/android/sample/testsliceapp/ExampleInstrumentedTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import static org.junit.Assert.*;
+
+import android.content.Context;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+    @Test
+    public void useAppContext() {
+        // Context of the app under test.
+        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
+        assertEquals("com.google.android.sample.testsliceapp", appContext.getPackageName());
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/Android.bp b/testapps/TestSliceApp/app/src/main/Android.bp
new file mode 100644
index 0000000..b02d5ff
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/Android.bp
@@ -0,0 +1,24 @@
+package {
+    // See: http://go/android-license-faq
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+android_app {
+    name: "TestSliceApp",
+    srcs: [
+        "java/com/google/android/sample/testsliceapp/*.java",
+    ],
+    static_libs: [
+        "androidx-constraintlayout_constraintlayout",
+        "androidx.appcompat_appcompat",
+    ],
+    libs: ["org.apache.http.legacy"],
+    certificate: "platform",
+    privileged: true,
+    product_specific: true,
+    sdk_version: "system_current",
+    min_sdk_version: "30",
+    optimize: {
+        proguard_flags_files: ["proguard.flags"],
+    },
+}
diff --git a/testapps/TestSliceApp/app/src/main/AndroidManifest.xml b/testapps/TestSliceApp/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..d28bbb0
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/AndroidManifest.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.google.android.sample.testsliceapp">
+
+  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
+  <application
+      android:allowBackup="true"
+      android:icon="@mipmap/ic_launcher"
+      android:label="@string/app_name"
+      android:roundIcon="@mipmap/ic_launcher_round"
+      android:supportsRtl="true"
+      android:theme="@style/Theme.AppCompat"
+      android:versionCode="34">
+    <activity
+        android:name=".MainActivity"
+        android:exported="true">
+      <intent-filter>
+        <action android:name="android.intent.action.MAIN" />
+        <category android:name="android.intent.category.LAUNCHER" />
+      </intent-filter>
+    </activity>
+    <service android:name=".TestCarrierService"
+        android:permission="android.permission.BIND_CARRIER_SERVICES"
+        android:exported="true">
+      <intent-filter>
+        <action android:name="android.service.carrier.CarrierService" />
+      </intent-filter>
+      <meta-data android:name="android.service.carrier.LONG_LIVED_BINDING"
+          android:value="true" />
+    </service>
+  </application>
+</manifest>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/CBS.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/CBS.java
new file mode 100644
index 0000000..a555ce6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/CBS.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link CBS#newInstance} factory method to create an
+ * instance of this fragment.
+ */
+public class CBS extends Fragment {
+    Button mRelease, mRequest, mPing;
+    Network mNetwork;
+    ConnectivityManager mConnectivityManager;
+    NetworkCallback mProfileCheckNetworkCallback;
+
+    public CBS() {
+        // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment CBS.
+     */
+    // TODO: Rename and change types and number of parameters
+    public static CBS newInstance(String param1, String param2) {
+        CBS fragment = new CBS();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_c_b_s, container, false);
+        mProfileCheckNetworkCallback =
+                new NetworkCallback() {
+            @Override
+            public void onAvailable(final Network network) {
+                mNetwork = network;
+            }
+        };
+        mRelease = view.findViewById(R.id.releasecbs);
+        mRelease.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mConnectivityManager.unregisterNetworkCallback(
+                        mProfileCheckNetworkCallback);
+            }
+        });
+        mRequest = view.findViewById(R.id.requestcbs);
+        mRequest.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                NetworkCallback mProfileCheckNetworkCallback = new NetworkCallback() {
+                    @Override
+                    public void onAvailable(final Network network) {
+                        mNetwork = network;
+                    }
+                };
+                NetworkRequest.Builder builder = new NetworkRequest.Builder();
+                builder.addCapability(NetworkCapabilities.NET_CAPABILITY_CBS);
+                mConnectivityManager.requestNetwork(builder.build(), mProfileCheckNetworkCallback);
+            }
+        });
+        mPing = view.findViewById(R.id.pingcbs);
+        mPing.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (mNetwork != null) {
+                    //mNetwork.
+                    try {
+                        new RequestTask().ping(mNetwork);
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        });
+        return view;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainActivity.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainActivity.java
new file mode 100644
index 0000000..ef4d0ec
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainActivity.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+/**
+ * Main activity for slice test app.
+ **/
+public class MainActivity extends AppCompatActivity {
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_main);
+    }
+
+    /**
+     * Override the back press event handler.
+     */
+    @Override
+    public void onBackPressed() {
+        int count = getSupportFragmentManager().getBackStackEntryCount();
+        Log.d("MainActivity", "onBackPressed " + count);
+        if (count == 0) {
+            super.onBackPressed();
+            //additional code
+        } else {
+            getSupportFragmentManager().popBackStack();
+        }
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainFragment.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainFragment.java
new file mode 100644
index 0000000..97b3393
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/MainFragment.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link MainFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class MainFragment extends Fragment {
+    Button mBW, mLatency, mCBS;
+    public MainFragment() {
+      // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment MainFragment.
+     */
+    public static MainFragment newInstance(String param1, String param2) {
+        MainFragment fragment = new MainFragment();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_main, container, false);
+        mBW = view.findViewById(R.id.bw);
+        mBW.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                replaceFragment(new PrioritizeBandwidth());
+            }
+        });
+        mLatency = view.findViewById(R.id.latency);
+        mLatency.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                replaceFragment(new PrioritizeLatency());
+            }
+        });
+        mCBS = view.findViewById(R.id.cbs);
+        mCBS.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                replaceFragment(new CBS());
+            }
+        });
+        return view;
+    }
+
+    private void replaceFragment(Fragment fragment) {
+        FragmentManager fragmentManager = getParentFragmentManager();
+        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
+        try {
+            getParentFragmentManager().popBackStackImmediate(fragment.toString(),
+                      FragmentManager.POP_BACK_STACK_INCLUSIVE);
+        } catch (java.lang.IllegalStateException e) {
+
+        }
+        fragmentTransaction.replace(R.id.frameLayoutMainFrag, fragment);
+        fragmentTransaction.commit();
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeBandwidth.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeBandwidth.java
new file mode 100644
index 0000000..d997178
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeBandwidth.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link PrioritizeBandwidth#newInstance} factory
+ * method to create an instance of this fragment.
+ */
+public class PrioritizeBandwidth extends Fragment {
+
+    Button mRelease, mRequest, mPing;
+    Network mNetwork;
+    ConnectivityManager mConnectivityManager;
+    NetworkCallback mProfileCheckNetworkCallback;
+    public PrioritizeBandwidth() {
+      // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment PrioritizeBandwidth.
+     */
+    public static PrioritizeBandwidth newInstance(String param1, String param2) {
+        PrioritizeBandwidth fragment = new PrioritizeBandwidth();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mConnectivityManager = getContext().getSystemService(ConnectivityManager.class);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_prioritize_bandwidth, container, false);
+        mProfileCheckNetworkCallback =
+                new NetworkCallback() {
+            @Override
+            public void onAvailable(final Network network) {
+                mNetwork = network;
+            }
+        };
+        mRelease = view.findViewById(R.id.releasebw);
+        mRelease.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mConnectivityManager.unregisterNetworkCallback(mProfileCheckNetworkCallback);
+            }
+        });
+        mRequest = view.findViewById(R.id.requestbw);
+        mRequest.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                NetworkCallback mProfileCheckNetworkCallback =
+                        new NetworkCallback() {
+                    @Override
+                    public void onAvailable(final Network network) {
+                        mNetwork = network;
+                    }
+                };
+                NetworkRequest.Builder builder = new NetworkRequest.Builder();
+                builder.addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_BANDWIDTH);
+                mConnectivityManager.requestNetwork(builder.build(), mProfileCheckNetworkCallback);
+            }
+        });
+        mPing = view.findViewById(R.id.pingbw);
+        mPing.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (mNetwork != null) {
+                    //mNetwork.
+                    try {
+                        new RequestTask().ping(mNetwork);
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        });
+        return view;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeLatency.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeLatency.java
new file mode 100644
index 0000000..b45362c
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/PrioritizeLatency.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.Network;
+import android.net.NetworkCapabilities;
+import android.net.NetworkRequest;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.fragment.app.Fragment;
+
+/**
+ * A simple {@link Fragment} subclass. Use the {@link PrioritizeLatency#newInstance} factory method
+ * to create an instance of this fragment.
+ */
+public class PrioritizeLatency extends Fragment {
+    Button mRelease, mRequest, mPing;
+    Network mNetwork;
+    ConnectivityManager mConnectivityManager;
+    NetworkCallback mProfileCheckNetworkCallback;
+    public PrioritizeLatency() {
+      // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of this fragment using the provided
+     * parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment PrioritizeLatency.
+     */
+    // TODO: Rename and change types and number of parameters
+    public static PrioritizeLatency newInstance(String param1, String param2) {
+        PrioritizeLatency fragment = new PrioritizeLatency();
+        Bundle args = new Bundle();
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        View view = inflater.inflate(R.layout.fragment_prioritize_latency, container, false);
+        mProfileCheckNetworkCallback =
+                new NetworkCallback() {
+            @Override
+            public void onAvailable(final Network network) {
+                mNetwork = network;
+            }
+        };
+        mRelease = view.findViewById(R.id.releaselatency);
+        mRelease.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                mConnectivityManager.unregisterNetworkCallback(mProfileCheckNetworkCallback);
+            }
+        });
+        mRequest = view.findViewById(R.id.requestlatency);
+        mRequest.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                NetworkCallback mProfileCheckNetworkCallback = new NetworkCallback() {
+                    @Override
+                    public void onAvailable(final Network network) {
+                        mNetwork = network;
+                    }
+                };
+                NetworkRequest.Builder builder = new NetworkRequest.Builder();
+                builder.addCapability(NetworkCapabilities.NET_CAPABILITY_PRIORITIZE_LATENCY);
+                mConnectivityManager.requestNetwork(builder.build(), mProfileCheckNetworkCallback);
+            }
+        });
+        mPing = view.findViewById(R.id.pinglatency);
+        mPing.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                if (mNetwork != null) {
+                    //mNetwork.
+                    try {
+                        new RequestTask().ping(mNetwork);
+                    } catch (Exception e) {
+                    }
+                }
+            }
+        });
+        return view;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/RequestTask.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/RequestTask.java
new file mode 100644
index 0000000..b12939e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/RequestTask.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.net.Network;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+class RequestTask{
+    String ping(Network network) {
+        URL url = null;
+        try {
+            url = new URL("http://www.google.com");
+        } catch (Exception e) {
+        }
+        if (url != null) {
+            try {
+                return httpGet(network, url);
+            } catch (Exception e) {
+            }
+        }
+        return "";
+    }
+
+    /**
+    * Performs a HTTP GET to the specified URL on the specified Network, and returns
+    * the response body decoded as UTF-8.
+    */
+    private static String httpGet(Network network, URL httpUrl) throws IOException {
+        HttpURLConnection connection = (HttpURLConnection) network.openConnection(httpUrl);
+        try {
+            InputStream inputStream = connection.getInputStream();
+            return new BufferedInputStream(inputStream).toString();
+        } finally {
+            connection.disconnect();
+        }
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/TestCarrierService.java b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/TestCarrierService.java
new file mode 100644
index 0000000..b1d019e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/java/com/google/android/sample/testsliceapp/TestCarrierService.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import android.content.Context;
+import android.os.PersistableBundle;
+import android.service.carrier.CarrierIdentifier;
+import android.service.carrier.CarrierService;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SubscriptionManager;
+
+/**
+ * Carrier Service that sets the carrier config upon being bound by the system. Requires UICC
+ * privileges.
+ */
+public class TestCarrierService extends CarrierService {
+    @Override
+    public void onCreate() {
+        CarrierConfigManager cfgMgr =
+                (CarrierConfigManager) getSystemService(Context.CARRIER_CONFIG_SERVICE);
+        cfgMgr.notifyConfigChangedForSubId(SubscriptionManager.getDefaultSubscriptionId());
+    }
+
+    @Override
+    public PersistableBundle onLoadConfig(CarrierIdentifier carrierIdentifier) {
+        PersistableBundle config = new PersistableBundle();
+        return config;
+    }
+}
diff --git a/testapps/TestSliceApp/app/src/main/proguard.flags b/testapps/TestSliceApp/app/src/main/proguard.flags
new file mode 100644
index 0000000..1854804
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/proguard.flags
@@ -0,0 +1,4 @@
+-dontobfuscate
+-dontoptimize
+
+-keep class com.google.android.sample.testsliceapp.*
diff --git a/testapps/TestSliceApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/testapps/TestSliceApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..966abaf
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:aapt="http://schemas.android.com/aapt"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportHeight="108"
+    android:viewportWidth="108">
+  <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
+    <aapt:attr name="android:fillColor">
+      <gradient
+          android:endX="85.84757"
+          android:endY="92.4963"
+          android:startX="42.9492"
+          android:startY="49.59793"
+          android:type="linear">
+        <item
+            android:color="#44000000"
+            android:offset="0.0" />
+        <item
+            android:color="#00000000"
+            android:offset="1.0" />
+      </gradient>
+    </aapt:attr>
+  </path>
+  <path
+      android:fillColor="#FFFFFF"
+      android:fillType="nonZero"
+      android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
+      android:strokeColor="#00000000"
+      android:strokeWidth="1" />
+</vector>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/drawable/ic_launcher_background.xml b/testapps/TestSliceApp/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..61bb79e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="108dp"
+    android:height="108dp"
+    android:viewportHeight="108"
+    android:viewportWidth="108">
+  <path
+      android:fillColor="#3DDC84"
+      android:pathData="M0,0h108v108h-108z" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M9,0L9,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,0L19,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M29,0L29,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M39,0L39,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M49,0L49,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M59,0L59,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M69,0L69,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M79,0L79,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M89,0L89,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M99,0L99,108"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,9L108,9"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,19L108,19"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,29L108,29"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,39L108,39"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,49L108,49"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,59L108,59"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,69L108,69"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,79L108,79"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,89L108,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M0,99L108,99"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,29L89,29"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,39L89,39"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,49L89,49"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,59L89,59"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,69L89,69"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M19,79L89,79"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M29,19L29,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M39,19L39,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M49,19L49,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M59,19L59,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M69,19L69,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+  <path
+      android:fillColor="#00000000"
+      android:pathData="M79,19L79,89"
+      android:strokeColor="#33FFFFFF"
+      android:strokeWidth="0.8" />
+</vector>
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/activity_main.xml b/testapps/TestSliceApp/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 0000000..a723e6f
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".MainActivity" >
+  <androidx.fragment.app.FragmentContainerView
+      xmlns:android="http://schemas.android.com/apk/res/android"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutMainFrag"
+      android:name="com.google.android.sample.testsliceapp.MainFragment"/>
+</RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_c_b_s.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_c_b_s.xml
new file mode 100644
index 0000000..ac2ef9d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_c_b_s.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+<FrameLayout
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:id="@+id/frameLayoutCBS">
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/frameLayout3"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".CBS">
+  <TextView
+      android:id="@+id/textView3"
+      android:layout_width="342dp"
+      android:layout_height="49dp"
+      android:text="CBS"
+      tools:layout_editor_absoluteX="19dp"
+      tools:layout_editor_absoluteY="7dp" />
+  <Button
+      android:id="@+id/requestcbs"
+      android:layout_width="186dp"
+      android:layout_height="57dp"
+      android:text="Request Network"
+      tools:layout_editor_absoluteX="120dp"
+      tools:layout_editor_absoluteY="154dp" />
+  <Button
+      android:id="@+id/releasecbs"
+      android:layout_width="187dp"
+      android:layout_height="61dp"
+      android:text="Release Network"
+      tools:layout_editor_absoluteX="119dp"
+      tools:layout_editor_absoluteY="273dp" />
+  <Button
+      android:id="@+id/pingcbs"
+      android:layout_width="186dp"
+      android:layout_height="55dp"
+      android:text="Ping"
+      tools:layout_editor_absoluteX="120dp"
+      tools:layout_editor_absoluteY="379dp" />
+</androidx.constraintlayout.widget.ConstraintLayout>
+</FrameLayout>
+</RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_main.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_main.xml
new file mode 100644
index 0000000..11e95a8
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_main.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".MainFragment">
+
+  <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+      xmlns:app="http://schemas.android.com/apk/res-auto"
+      xmlns:tools="http://schemas.android.com/tools"
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutMain"
+      tools:context=".MainActivity">
+    <Button
+        android:id="@+id/cbs"
+        android:layout_width="222dp"
+        android:layout_height="51dp"
+        android:text="CBS"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_bias="0.493"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.751" />
+    <Button
+        android:id="@+id/latency"
+        android:layout_width="222dp"
+        android:layout_height="46dp"
+        android:text="PRIORITIZE LATENCY"
+        app:layout_constraintBottom_toTopOf="@+id/cbs"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_bias="0.497"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.783" />
+    <Button
+        android:id="@+id/bw"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="PRIORITIZE BANDWIDTH"
+        app:layout_constraintBottom_toTopOf="@+id/latency"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_bias="0.497"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintVertical_bias="0.623" />
+  </androidx.constraintlayout.widget.ConstraintLayout>
+
+</FrameLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_bandwidth.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_bandwidth.xml
new file mode 100644
index 0000000..8933e7a
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_bandwidth.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <FrameLayout
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutBW">
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/frameLayout2"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".PrioritizeBandwidth">
+  <TextView
+      android:id="@+id/textView2"
+      android:layout_width="371dp"
+      android:layout_height="52dp"
+      android:text="Prioritize Bandwidth"
+      tools:layout_editor_absoluteX="20dp"
+      tools:layout_editor_absoluteY="4dp" />
+  <Button
+      android:id="@+id/releasebw"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginBottom="64dp"
+      android:text="Release Network"
+      app:layout_constraintBottom_toTopOf="@+id/requestbw"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toBottomOf="@+id/textView2"
+      app:layout_constraintVertical_bias="0.919" />
+  <Button
+      android:id="@+id/pingbw"
+      android:layout_width="182dp"
+      android:layout_height="42dp"
+      android:layout_marginBottom="228dp"
+      android:text="Ping"
+      app:layout_constraintBottom_toBottomOf="parent"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.493"
+      app:layout_constraintStart_toStartOf="parent" />
+  <Button
+      android:id="@+id/requestbw"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginTop="308dp"
+      android:text="RequestNetwork"
+      app:layout_constraintBottom_toTopOf="@+id/pingbw"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.495"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toTopOf="parent"
+      app:layout_constraintVertical_bias="0.314" />
+</androidx.constraintlayout.widget.ConstraintLayout>
+  </FrameLayout>
+</RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_latency.xml b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_latency.xml
new file mode 100644
index 0000000..9527d69
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/layout/fragment_prioritize_latency.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+  <FrameLayout
+      android:layout_width="match_parent"
+      android:layout_height="match_parent"
+      android:id="@+id/frameLayoutLatency">
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/frameLayout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context=".PrioritizeLatency" >
+  <Button
+      android:id="@+id/requestlatency"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:text="RequestNetwork"
+      app:layout_constraintBottom_toTopOf="@+id/button6"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.461"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toTopOf="parent"
+      app:layout_constraintVertical_bias="0.717" />
+  <Button
+      android:id="@+id/releaselatency"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginBottom="76dp"
+      android:text="Release Network"
+      app:layout_constraintBottom_toTopOf="@+id/button7"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.478"
+      app:layout_constraintStart_toStartOf="parent" />
+  <Button
+      android:id="@+id/pinglatency"
+      android:layout_width="182dp"
+      android:layout_height="42dp"
+      android:layout_marginBottom="308dp"
+      android:text="Ping"
+      app:layout_constraintBottom_toBottomOf="parent"
+      app:layout_constraintEnd_toEndOf="parent"
+      app:layout_constraintHorizontal_bias="0.471"
+      app:layout_constraintStart_toStartOf="parent" />
+  <TextView
+      android:id="@+id/textView"
+      android:layout_width="371dp"
+      android:layout_height="52dp"
+      android:text="Prioritize Latency"
+      tools:layout_editor_absoluteX="21dp"
+      tools:layout_editor_absoluteY="1dp" />
+</androidx.constraintlayout.widget.ConstraintLayout>
+    </FrameLayout>
+    </RelativeLayout>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..03eed25
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+  <background android:drawable="@drawable/ic_launcher_background" />
+  <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 0000000..03eed25
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+  <background android:drawable="@drawable/ic_launcher_background" />
+  <foreground android:drawable="@drawable/ic_launcher_foreground" />
+</adaptive-icon>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..c209e78
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..b2dfe3d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..4f0f1d6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..62b611d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..948a307
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1b9a695
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..28d4b77
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9287f50
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..aa7d642
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9126ae3
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Binary files differ
diff --git a/testapps/TestSliceApp/app/src/main/res/values-af/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-af/strings.xml
new file mode 100644
index 0000000..d172f0f
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-af/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hallo leë fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-am/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-am/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-am/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ar/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ar/strings.xml
new file mode 100644
index 0000000..0cadb81
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ar/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"جزء فارغ للترحيب"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-as/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-as/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-as/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-az/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-az/strings.xml
new file mode 100644
index 0000000..3702d56
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-az/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Boş salamlama fraqmenti"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-b+sr+Latn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-be/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-be/strings.xml
new file mode 100644
index 0000000..385f84e
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-be/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Вітаем,"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-bg/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-bg/strings.xml
new file mode 100644
index 0000000..943a70d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-bg/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Здравей, празен фрагмент"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-bn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-bn/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-bn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-bs/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-bs/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-bs/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ca/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ca/strings.xml
new file mode 100644
index 0000000..9799d39
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ca/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Fragment de benvinguda en blanc"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-cs/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-cs/strings.xml
new file mode 100644
index 0000000..793ab6f
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-cs/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Prázdný fragment pro pozdrav"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-da/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-da/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-da/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-de/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-de/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-de/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-el/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-el/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-el/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rAU/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rAU/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rCA/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rCA/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rGB/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rGB/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rIN/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rIN/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-en-rXC/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..dafc7d2
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-en-rXC/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎TestSliceApp‎‏‎‎‏‎"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎Hello blank fragment‎‏‎‎‏‎"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-es-rUS/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-es-rUS/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-es/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-es/strings.xml
new file mode 100644
index 0000000..355b912
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-es/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hola, (segmento en blanco):"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-et/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-et/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-et/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-eu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-eu/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-eu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fa/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fa/strings.xml
new file mode 100644
index 0000000..6f35108
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fa/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"سلام بخش خالی"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fi/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fi/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fi/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fr-rCA/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fr-rCA/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-fr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-fr/strings.xml
new file mode 100644
index 0000000..e9b3b45
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-fr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Bonjour fragment vierge"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-gl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-gl/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-gl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-gu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-gu/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-gu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hi/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hi/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hi/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hr/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hu/strings.xml
new file mode 100644
index 0000000..0e73dba
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Üres üdvözlő rész"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-hy/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-hy/strings.xml
new file mode 100644
index 0000000..31a60c6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-hy/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Դատարկ հատված"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-in/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-in/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-in/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-is/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-is/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-is/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-it/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-it/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-it/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-iw/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-iw/strings.xml
new file mode 100644
index 0000000..4287a40
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-iw/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"שלום קטע ריק"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ja/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ja/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ja/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ka/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ka/strings.xml
new file mode 100644
index 0000000..8d91ed0
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ka/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"მოგესალმებით, ეს ცარიელი ფრაგმენტია"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-kk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-kk/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-kk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-km/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-km/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-km/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-kn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-kn/strings.xml
new file mode 100644
index 0000000..13a202b
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-kn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"ಹಲೋ, ಖಾಲಿ ಫ್ರಾಗ್ಮೆಂಟ್"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ko/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ko/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ko/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ky/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ky/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ky/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-lo/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-lo/strings.xml
new file mode 100644
index 0000000..3d47ad6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-lo/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"​ສະ​ບາຍ​ດີ​ຈຸດ​ແຕກທີ່​ຫວ່າງ​ເປົ່າ"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-lt/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-lt/strings.xml
new file mode 100644
index 0000000..509fd2d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-lt/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Sveiki, tuščias fragmentas"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-lv/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-lv/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-lv/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-mk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-mk/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-mk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ml/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ml/strings.xml
new file mode 100644
index 0000000..47ca9c8
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ml/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"ഹലോ ബ്ലാങ്ക് ഫ്രാഗ്‌മെന്റ്"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-mn/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-mn/strings.xml
new file mode 100644
index 0000000..1aa5138
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-mn/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Сайн байна уу хоосон хэсэг"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-mr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-mr/strings.xml
new file mode 100644
index 0000000..7fbe792
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-mr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"हॅलो ब्लँक फ्रॅग्मेंट"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ms/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ms/strings.xml
new file mode 100644
index 0000000..b928cd6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ms/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Helo cebisan kosong"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-my/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-my/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-my/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-nb/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-nb/strings.xml
new file mode 100644
index 0000000..3d601ab
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-nb/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hei, tomt fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ne/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ne/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ne/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-nl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-nl/strings.xml
new file mode 100644
index 0000000..5d10fc6
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-nl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hallo leeg fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-or/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-or/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-or/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pa/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pa/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pa/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pl/strings.xml
new file mode 100644
index 0000000..0bf147b
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Tutaj jest pusty fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pt-rPT/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..b94a687
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pt-rPT/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Olá, fragmento em branco"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-pt/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-pt/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-pt/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ro/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ro/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ro/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ru/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ru/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ru/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-si/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-si/strings.xml
new file mode 100644
index 0000000..7c88afe
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-si/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"ආයුබෝවන් හිස් කොටස"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sk/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sl/strings.xml
new file mode 100644
index 0000000..b3fd35a
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Prazen del za pozdrav"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sq/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sq/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sq/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sr/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sv/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sv/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sv/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-sw/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-sw/strings.xml
new file mode 100644
index 0000000..5cc6a6a
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-sw/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Kipande cha salamu kisichokuwa na kitu"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ta/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ta/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ta/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-te/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-te/strings.xml
new file mode 100644
index 0000000..ad9cef8
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-te/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"హలో ఖాళీ విడిభాగము"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-th/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-th/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-th/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-tl/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-tl/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-tl/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-tr/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-tr/strings.xml
new file mode 100644
index 0000000..1e18a88
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-tr/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Merhaba boş bölüm"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-uk/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-uk/strings.xml
new file mode 100644
index 0000000..0219615
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-uk/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Пустий фрагмент із привітанням"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-ur/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-ur/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-ur/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-uz/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-uz/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-uz/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-vi/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-vi/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-vi/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zh-rCN/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zh-rCN/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zh-rHK/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..93c0492
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zh-rHK/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"歡迎詞空白片段"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zh-rTW/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zh-rTW/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values-zu/strings.xml b/testapps/TestSliceApp/app/src/main/res/values-zu/strings.xml
new file mode 100644
index 0000000..229ff5d
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values-zu/strings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="app_name" msgid="1265450418387661962">"TestSliceApp"</string>
+    <string name="hello_blank_fragment" msgid="1245093642770491175">"Hello blank fragment"</string>
+</resources>
diff --git a/testapps/TestSliceApp/app/src/main/res/values/colors.xml b/testapps/TestSliceApp/app/src/main/res/values/colors.xml
new file mode 100644
index 0000000..09837df
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+  <color name="purple_200">#FFBB86FC</color>
+  <color name="purple_500">#FF6200EE</color>
+  <color name="purple_700">#FF3700B3</color>
+  <color name="teal_200">#FF03DAC5</color>
+  <color name="teal_700">#FF018786</color>
+  <color name="black">#FF000000</color>
+  <color name="white">#FFFFFFFF</color>
+</resources>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/main/res/values/strings.xml b/testapps/TestSliceApp/app/src/main/res/values/strings.xml
new file mode 100644
index 0000000..c2bb089
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/main/res/values/strings.xml
@@ -0,0 +1,5 @@
+<resources>
+  <string name="app_name">TestSliceApp</string>
+  <!-- TODO: Remove or change this placeholder text -->
+  <string name="hello_blank_fragment">Hello blank fragment</string>
+</resources>
\ No newline at end of file
diff --git a/testapps/TestSliceApp/app/src/test/java/com/google/android/sample/testsliceapp/ExampleUnitTest.java b/testapps/TestSliceApp/app/src/test/java/com/google/android/sample/testsliceapp/ExampleUnitTest.java
new file mode 100644
index 0000000..c011e75
--- /dev/null
+++ b/testapps/TestSliceApp/app/src/test/java/com/google/android/sample/testsliceapp/ExampleUnitTest.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.android.sample.testsliceapp;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
+ */
+public class ExampleUnitTest {
+    @Test
+    public void addition_isCorrect() {
+        assertEquals(4, 2 + 2);
+    }
+}
diff --git a/testapps/TestSliceApp/build.gradle b/testapps/TestSliceApp/build.gradle
new file mode 100644
index 0000000..026daed
--- /dev/null
+++ b/testapps/TestSliceApp/build.gradle
@@ -0,0 +1,17 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+    repositories {
+        google()
+        mavenCentral()
+    }
+    dependencies {
+        classpath "com.android.tools.build:gradle:7.0.4"
+
+        // NOTE: Do not place your application dependencies here; they belong
+        // in the individual module build.gradle files
+    }
+}
+
+task clean(type: Delete) {
+    delete rootProject.buildDir
+}
\ No newline at end of file
diff --git a/testapps/TestSliceApp/gradle.properties b/testapps/TestSliceApp/gradle.properties
new file mode 100644
index 0000000..52f5917
--- /dev/null
+++ b/testapps/TestSliceApp/gradle.properties
@@ -0,0 +1,19 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Automatically convert third-party libraries to use AndroidX
+android.enableJetifier=true
\ No newline at end of file
diff --git a/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.jar b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..e708b1c
--- /dev/null
+++ b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.jar
Binary files differ
diff --git a/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.properties b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..db8a139
--- /dev/null
+++ b/testapps/TestSliceApp/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Feb 28 14:52:03 PST 2022
+distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
+distributionPath=wrapper/dists
+zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/testapps/TestSliceApp/gradlew b/testapps/TestSliceApp/gradlew
new file mode 100755
index 0000000..4f906e0
--- /dev/null
+++ b/testapps/TestSliceApp/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=`expr $i + 1`
+    done
+    case $i in
+        0) set -- ;;
+        1) set -- "$args0" ;;
+        2) set -- "$args0" "$args1" ;;
+        3) set -- "$args0" "$args1" "$args2" ;;
+        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/testapps/TestSliceApp/gradlew.bat b/testapps/TestSliceApp/gradlew.bat
new file mode 100644
index 0000000..ac1b06f
--- /dev/null
+++ b/testapps/TestSliceApp/gradlew.bat
@@ -0,0 +1,89 @@
+@rem

+@rem Copyright 2015 the original author or authors.

+@rem

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

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

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

+@rem

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

+@rem

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

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

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

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

+@rem limitations under the License.

+@rem

+

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

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

+@rem

+@rem  Gradle startup script for Windows

+@rem

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

+

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

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

+

+set DIRNAME=%~dp0

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

+set APP_BASE_NAME=%~n0

+set APP_HOME=%DIRNAME%

+

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

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

+

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

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

+

+@rem Find java.exe

+if defined JAVA_HOME goto findJavaFromJavaHome

+

+set JAVA_EXE=java.exe

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

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

+

+echo.

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

+echo.

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

+echo location of your Java installation.

+

+goto fail

+

+:findJavaFromJavaHome

+set JAVA_HOME=%JAVA_HOME:"=%

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

+

+if exist "%JAVA_EXE%" goto execute

+

+echo.

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

+echo.

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

+echo location of your Java installation.

+

+goto fail

+

+:execute

+@rem Setup the command line

+

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

+

+

+@rem Execute Gradle

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

+

+:end

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

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

+

+:fail

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

+rem the _cmd.exe /c_ return code!

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

+exit /b 1

+

+:mainEnd

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

+

+:omega

diff --git a/testapps/TestSliceApp/settings.gradle b/testapps/TestSliceApp/settings.gradle
new file mode 100644
index 0000000..5d18e01
--- /dev/null
+++ b/testapps/TestSliceApp/settings.gradle
@@ -0,0 +1,10 @@
+dependencyResolutionManagement {
+    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+    repositories {
+        google()
+        mavenCentral()
+        jcenter() // Warning: this repository is going to shut down soon
+    }
+}
+rootProject.name = "TestSliceApp"
+include ':app'
diff --git a/tests/src/com/android/TestContext.java b/tests/src/com/android/TestContext.java
index 5456469..7c3a842 100644
--- a/tests/src/com/android/TestContext.java
+++ b/tests/src/com/android/TestContext.java
@@ -19,6 +19,7 @@
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doAnswer;
 
+import android.content.AttributionSource;
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -29,6 +30,8 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.PersistableBundle;
+import android.os.Process;
+import android.os.UserManager;
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
@@ -56,6 +59,7 @@
     @Mock TelephonyManager mMockTelephonyManager;
     @Mock SubscriptionManager mMockSubscriptionManager;
     @Mock ImsManager mMockImsManager;
+    @Mock UserManager mMockUserManager;
 
     private SparseArray<PersistableBundle> mCarrierConfigs = new SparseArray<>();
 
@@ -96,6 +100,11 @@
     }
 
     @Override
+    public AttributionSource getAttributionSource() {
+        return new AttributionSource(Process.myUid(), getPackageName(), "");
+    }
+
+    @Override
     public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
         return null;
     }
@@ -140,6 +149,9 @@
             case(Context.TELEPHONY_IMS_SERVICE) : {
                 return mMockImsManager;
             }
+            case(Context.USER_SERVICE) : {
+                return mMockUserManager;
+            }
         }
         return null;
     }
@@ -158,6 +170,9 @@
         if (serviceClass == SubscriptionManager.class) {
             return Context.TELEPHONY_SUBSCRIPTION_SERVICE;
         }
+        if (serviceClass == UserManager.class) {
+            return Context.USER_SERVICE;
+        }
         return null;
     }
 
diff --git a/tests/src/com/android/phone/ImsProvisioningControllerTest.java b/tests/src/com/android/phone/ImsProvisioningControllerTest.java
index c26b6a0..2094e20 100644
--- a/tests/src/com/android/phone/ImsProvisioningControllerTest.java
+++ b/tests/src/com/android/phone/ImsProvisioningControllerTest.java
@@ -16,10 +16,12 @@
 
 package com.android.phone;
 
+import static android.telephony.ims.ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE;
 import static android.telephony.ims.ProvisioningManager.KEY_EAB_PROVISIONING_STATUS;
 import static android.telephony.ims.ProvisioningManager.KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE;
 import static android.telephony.ims.ProvisioningManager.KEY_VOLTE_PROVISIONING_STATUS;
 import static android.telephony.ims.ProvisioningManager.KEY_VT_PROVISIONING_STATUS;
+import static android.telephony.ims.ProvisioningManager.PROVISIONING_VALUE_DISABLED;
 import static android.telephony.ims.ProvisioningManager.PROVISIONING_VALUE_ENABLED;
 import static android.telephony.ims.feature.ImsFeature.FEATURE_MMTEL;
 import static android.telephony.ims.feature.ImsFeature.FEATURE_RCS;
@@ -28,8 +30,6 @@
 import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_UT;
 import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VIDEO;
 import static android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE;
-import static android.telephony.ims.feature.RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_OPTIONS_UCE;
-import static android.telephony.ims.feature.RcsFeature.RcsImsCapabilities.CAPABILITY_TYPE_PRESENCE_UCE;
 import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM;
 import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN;
 import static android.telephony.ims.stub.ImsRegistrationImplBase.REGISTRATION_TECH_LTE;
@@ -70,7 +70,6 @@
 import android.test.suitebuilder.annotation.SmallTest;
 import android.testing.TestableLooper;
 import android.util.Log;
-import android.util.SparseArray;
 
 import com.android.ims.FeatureConnector;
 import com.android.ims.ImsConfig;
@@ -178,9 +177,6 @@
     int mSubId0 = 1234;
     int mSubId1 = 5678;
 
-    SparseArray<int[]> mMmTelTechMap = new SparseArray<>();
-    SparseArray<int[]> mRcsTechMap = new SparseArray<>();
-
     int[][] mMmTelProvisioningStorage;
     int[][] mRcsProvisioningStorage;
     int[][] mImsConfigStorage;
@@ -210,14 +206,6 @@
             return mImsConfig;
         }
 
-        protected int[] getTechsFromCarrierConfig(int subId, int capability, boolean isMmtel) {
-            if (isMmtel) {
-                return mMmTelTechMap.get(capability);
-            } else {
-                return mRcsTechMap.get(capability);
-            }
-        }
-
         protected boolean isValidSubId(int subId) {
             return mIsValidSubId;
         }
@@ -328,6 +316,14 @@
     public void connectionReady_MmTelFeatureListener() throws Exception {
         createImsProvisioningController();
 
+        // provisioning required capability
+        // voice, all tech
+        // video, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+
         try {
             mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
                     mSubId0, mIFeatureProvisioningCallback0);
@@ -376,6 +372,10 @@
     public void connectionReady_RcsFeatureListener() throws Exception {
         createImsProvisioningController();
 
+        // provisioning required capability : PRESENCE, tech : all
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
         try {
             mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
                     mSubId0, mIFeatureProvisioningCallback0);
@@ -440,22 +440,24 @@
         // voice, all tech
         // video, all tech
         // UT, all tech
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_UT,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_UT_INT_ARRAY,
+                RADIO_TECHS);
 
+        // provisioning required for each capability
         boolean[][] expectedRequired = new boolean[][] {
+                //voice - LTE, WLAN, CROSS-SIM, NR
                 {true, true, true, true},
+                //video - LTE, WLAN, CROSS-SIM, NR
                 {true, true, true, true},
+                //UT - LTE, WLAN, CROSS-SIM, NR
                 {true, true, true, true},
+                //SMS not required
                 {false, false, false, false},
+                //Call composer not required
                 {false, false, false, false}
         };
 
@@ -472,6 +474,45 @@
 
     @Test
     @SmallTest
+    public void isImsProvisioningRequiredForCapability_withDeprecatedKey() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE is not defined
+        // but KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL and
+        // KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL are defined
+        setDeprecatedCarrierConfig(
+                CarrierConfigManager.KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL, true);
+        setDeprecatedCarrierConfig(
+                CarrierConfigManager.KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL, true);
+
+        // provisioning required for each capability
+        boolean[][] expectedRequired = new boolean[][] {
+                //voice - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //video - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //UT - LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true},
+                //SMS not required
+                {false, false, false, false},
+                //Call composer not required
+                {false, false, false, false}
+        };
+
+        boolean isRequired;
+        for (int i = 0; i < MMTEL_CAPAS.length; i++) {
+            for (int j = 0; j < RADIO_TECHS.length; j++) {
+                isRequired = mTestImsProvisioningController
+                        .isImsProvisioningRequiredForCapability(
+                                mSubId0, MMTEL_CAPAS[i], RADIO_TECHS[j]);
+                assertEquals(expectedRequired[i][j], isRequired);
+            }
+        }
+    }
+
+    @Test
+    @SmallTest
     public void isRcsProvisioningRequiredForCapability_withInvalidCapabilityTech()
             throws Exception {
         createImsProvisioningController();
@@ -503,12 +544,13 @@
         createImsProvisioningController();
 
         // provisioning required capability : PRESENCE, tech : all
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
 
-        boolean[] expectedRequired = new boolean[] {true, true, true, true};
+        // PRESENCE provisioning required on
+        boolean[] expectedRequired = new boolean[]
+                //LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true};
 
         boolean isRequired;
         for (int i = 0; i < RADIO_TECHS.length; i++) {
@@ -521,6 +563,31 @@
 
     @Test
     @SmallTest
+    public void isRcsProvisioningRequiredForCapability_withDeprecatedKey() throws Exception {
+        createImsProvisioningController();
+
+        // provisioning required capability
+        // KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE is not defined
+        // but KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL is defined
+        setDeprecatedCarrierConfig(
+                CarrierConfigManager.KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL, true);
+
+        // PRESENCE provisioning required on
+        boolean[] expectedRequired = new boolean[]
+                //LTE, WLAN, CROSS-SIM, NR
+                {true, true, true, true};
+
+        boolean isRequired;
+        for (int i = 0; i < RADIO_TECHS.length; i++) {
+            isRequired = mTestImsProvisioningController
+                    .isRcsProvisioningRequiredForCapability(
+                            mSubId0, CAPABILITY_TYPE_PRESENCE_UCE, RADIO_TECHS[i]);
+            assertEquals(expectedRequired[i], isRequired);
+        }
+    }
+
+    @Test
+    @SmallTest
     public void getImsProvisioningRequiredForCapability_withVoiceVideoUt() throws Exception {
         createImsProvisioningController();
 
@@ -528,16 +595,12 @@
         // voice, all tech
         // video, all tech
         // UT, all tech
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_UT,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_UT_INT_ARRAY,
+                RADIO_TECHS);
 
         // provisioning Status
         mMmTelProvisioningStorage = new int[][] {
@@ -569,7 +632,7 @@
             // verify return value
             assertEquals(expectedVoiceProvisioningStatus[i], provisioned);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1))
                     .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
                             eq(RADIO_TECHS[i]));
@@ -584,7 +647,7 @@
             // verify return value
             assertEquals(expectedVideoProvisioningStatus[i], provisioned);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1))
                     .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
                             eq(RADIO_TECHS[i]));
@@ -599,7 +662,7 @@
             // verify return value
             assertEquals(expectedUtProvisioningStatus[i], provisioned);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1))
                     .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
                             eq(RADIO_TECHS[i]));
@@ -622,11 +685,10 @@
         // provisioning required capability
         // voice, LTE, IWLAN
         // video, LTE
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN});
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                REGISTRATION_TECH_LTE);
 
         // provisioning StatusP, all of provisioning status is not provisioned
         mMmTelProvisioningStorage = new int[][]{
@@ -655,10 +717,10 @@
         verify(mImsProvisioningLoader, times(1))
                 .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech));
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsConfig, times(1)).getConfigInt(eq(KEY_VOLTE_PROVISIONING_STATUS));
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsProvisioningLoader, times(1))
                 .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech),
                         eq(provisioned));
@@ -678,10 +740,10 @@
         verify(mImsProvisioningLoader, times(1))
                 .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech));
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsConfig, times(1)).getConfigInt(eq(KEY_VT_PROVISIONING_STATUS));
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsProvisioningLoader, times(1))
                 .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability), eq(tech),
                         eq(provisioned));
@@ -697,10 +759,8 @@
 
         // provisioning required capability
         // PRESENCE, all tech
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
 
         // provisioning Status
         mRcsProvisioningStorage = new int[][] {
@@ -722,7 +782,7 @@
             // verify return value
             assertEquals(expectedPresenceProvisioningStatus[i], provisioned);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
                     eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(RADIO_TECHS[i]));
         }
@@ -743,9 +803,9 @@
 
         // provisioning required capability
         // PRESENCE, LTE, IWLAN
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN});
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
 
         // provisioning Status, all of provisioning status is not provisioned
         mRcsProvisioningStorage = new int[][]{
@@ -773,10 +833,10 @@
         verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(tech));
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsConfig, times(1)).getConfigInt(eq(KEY_EAB_PROVISIONING_STATUS));
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capability), anyInt(), eq(provisioned));
 
@@ -805,10 +865,8 @@
 
         // provisioning required capability
         // voice, all tech
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
 
         // provisioning Status, all of provisioning status is not provisioned
         mMmTelProvisioningStorage = new int[][] {
@@ -839,7 +897,7 @@
             // verify return value default false - provisioned
             assertEquals(!provisionedFirst, provisionedSecond);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(2))
                     .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
                             eq(RADIO_TECHS[i]));
@@ -847,13 +905,13 @@
                     .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
                             eq(RADIO_TECHS[i]), eq(provisionedSecond));
 
-            // verify weather Callback is called or not
+            // verify whether Callback is called or not
             verify(mIFeatureProvisioningCallback0, times(1))
                     .onFeatureProvisioningChanged(eq(capability), eq(RADIO_TECHS[i]),
                             eq(provisionedSecond));
         }
 
-        // verify weather ImsConfig is called or not
+        // verify whether ImsConfig is called or not
         verify(mImsConfig, times(1)).setConfig(
                 eq(KEY_VOLTE_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_ENABLED));
         verify(mImsConfig, times(1)).setConfig(
@@ -886,10 +944,8 @@
 
         // provisioning required capability
         // video, all tech
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
 
         // provisioning Status, all of provisioning status is not provisioned
         mMmTelProvisioningStorage = new int[][] {
@@ -920,7 +976,7 @@
             // verify return value default false - provisioned
             assertEquals(!provisionedFirst, provisionedSecond);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(2))
                     .getProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
                             eq(RADIO_TECHS[i]));
@@ -928,13 +984,13 @@
                     .setProvisioningStatus(eq(mSubId0), eq(FEATURE_MMTEL), eq(capability),
                             eq(RADIO_TECHS[i]), eq(provisionedSecond));
 
-            // verify weather Callback is called or not
+            // verify whether Callback is called or not
             verify(mIFeatureProvisioningCallback0, times(1))
                     .onFeatureProvisioningChanged(eq(capability), eq(RADIO_TECHS[i]),
                             eq(provisionedSecond));
         }
 
-        // verify weather ImsConfig is called or not
+        // verify whether ImsConfig is called or not
         verify(mImsConfig, times(1)).setConfig(
                 eq(KEY_VT_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_ENABLED));
 
@@ -949,6 +1005,7 @@
     public void setRcsProvisioningRequiredForCapability_withPresence() throws Exception {
         createImsProvisioningController();
 
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
         mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
         processAllMessages();
 
@@ -965,10 +1022,8 @@
 
         // provisioning required capability
         // PRESENCE, all tech
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
 
         // provisioning Status, all of provisioning status is not provisioned
         mRcsProvisioningStorage = new int[][] {
@@ -999,20 +1054,21 @@
         // verify return value default false - provisioned
         assertEquals(!provisionedFirst, provisionedSecond);
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsProvisioningLoader, times(2)).getProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(REGISTRATION_TECH_LTE));
         // verify setProvisioningStatus is called RADIO_TECHS.length times for all tech or not
         verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capability), anyInt(), eq(provisionedSecond));
 
-        // verify weather Callback is called RADIO_TECHS.length times for all tech or not
+        // verify whether Callback is called RADIO_TECHS.length times for all tech or not
         verify(mIFeatureProvisioningCallback0, times(1))
                 .onRcsFeatureProvisioningChanged(eq(capability), eq(REGISTRATION_TECH_LTE),
                         eq(provisionedSecond));
 
-        // verify weather ImsConfig is called or not
-        verify(mImsConfig, times(1)).setConfig(
+        // verify whether ImsConfig is called or not
+        // EAB provisioning status should be updated to both the Rcs and MmTel ImsService
+        verify(mImsConfig, times(2)).setConfig(
                 eq(KEY_EAB_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_ENABLED));
 
         // verify reset
@@ -1027,7 +1083,7 @@
             // verify return value
             assertEquals(expected[i], provisionedSecond);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
                     eq(mSubId0), eq(FEATURE_RCS), eq(capability), eq(RADIO_TECHS[i]));
         }
@@ -1060,13 +1116,10 @@
         // provisioning required capability
         // voice, all tech
         // video, all tech
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
 
         // provisioning Status, all of provisioning status is not set
         mMmTelProvisioningStorage = new int[][] {
@@ -1107,7 +1160,7 @@
             // check return value
             assertEquals(ImsConfig.OperationStatusConstants.SUCCESS, result);
 
-            // check weather to save
+            // check whether to save
             verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(
                     eq(mSubId0), eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]), eq(true));
 
@@ -1128,6 +1181,7 @@
     public void setProvisioningValue_withRcsKey() throws Exception {
         createImsProvisioningController();
 
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
         mRcsConnectorListener0.getValue().connectionReady(mRcsFeatureManager, mSubId0);
         processAllMessages();
 
@@ -1144,10 +1198,8 @@
 
         // provisioning required capability
         // presence, all tech
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
 
         // provisioning Status, all of provisioning status is not set
         mRcsProvisioningStorage = new int[][]{
@@ -1167,14 +1219,16 @@
         // check return value
         assertEquals(ImsConfig.OperationStatusConstants.SUCCESS, result);
 
-        // check weather to save, for all techs 4 times
+        // check to save, for all techs 4 times
         verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
 
         verify(mIFeatureProvisioningCallback0, times(RADIO_TECHS.length))
                 .onRcsFeatureProvisioningChanged(eq(capa), anyInt(), eq(true));
 
-        verify(mImsConfig, times(1)).setConfig(eq(key), eq(PROVISIONING_VALUE_ENABLED));
+        // verify whether ImsConfig is called or not
+        // EAB provisioning status should be updated to both the Rcs and MmTel ImsService
+        verify(mImsConfig, times(2)).setConfig(eq(key), eq(PROVISIONING_VALUE_ENABLED));
 
         verifyNoMoreInteractions(mIFeatureProvisioningCallback0);
         verifyNoMoreInteractions(mIFeatureProvisioningCallback1);
@@ -1246,11 +1300,10 @@
         // provisioning required capability
         // voice, LTE, IWLAN
         // video, LTE
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN});
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                REGISTRATION_TECH_LTE);
 
         // provisioning Status, all of provisioning status is not set
         mMmTelProvisioningStorage = new int[][] {
@@ -1261,10 +1314,8 @@
 
         // provisioning required capability
         // presence, all tech
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
 
         // provisioning Status, all of provisioning status is not set
         mRcsProvisioningStorage = new int[][]{
@@ -1297,7 +1348,7 @@
             // check return value
             assertEquals(PROVISIONING_VALUE_ENABLED, result);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(eq(mSubId0),
                     eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]));
         }
@@ -1313,7 +1364,7 @@
         // check return value
         assertEquals(PROVISIONING_VALUE_ENABLED, result);
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt());
 
@@ -1346,11 +1397,10 @@
         // provisioning required capability
         // voice, LTE, IWLAN
         // video, LTE
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN});
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE});
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                REGISTRATION_TECH_LTE);
 
         // provisioning Status, all of provisioning status is not set
         mMmTelProvisioningStorage = new int[][] {
@@ -1361,10 +1411,8 @@
 
         // provisioning required capability
         // presence, all tech
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
 
         // provisioning Status, all of provisioning status is not set
         mRcsProvisioningStorage = new int[][]{
@@ -1404,18 +1452,18 @@
             // check return value
             assertEquals(PROVISIONING_VALUE_ENABLED, result);
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(eq(mSubId0),
                     eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]));
 
-            // verify weather ImsConfig is called or not
+            // verify whether ImsConfig is called or not
             verify(mImsConfig, times(1)).getConfigInt(eq(keys[i]));
 
-            // verify weather ImsProvisioningLoader is called or not
+            // verify whether ImsProvisioningLoader is called or not
             verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(eq(mSubId0),
                     eq(FEATURE_MMTEL), eq(capas[i]), eq(techs[i]), eq(true));
 
-            // verify weather callback is called or not
+            // verify whether callback is called or not
             verify(mIFeatureProvisioningCallback0, times(1)).onFeatureProvisioningChanged(
                     eq(capas[i]), eq(techs[i]), eq(true));
         }
@@ -1432,18 +1480,18 @@
         // check return value
         assertEquals(PROVISIONING_VALUE_ENABLED, result);
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt());
 
-        // verify weather ImsConfig is called or not
+        // verify whether ImsConfig is called or not
         verify(mImsConfig, times(1)).getConfigInt(eq(key));
 
-        // verify weather ImsProvisioningLoader is called or not
+        // verify whether ImsProvisioningLoader is called or not
         verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
                 eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
 
-        // verify weather callback is called or not
+        // verify whether callback is called or not
         verify(mIFeatureProvisioningCallback0, times(RADIO_TECHS.length))
                 .onRcsFeatureProvisioningChanged(eq(capa), anyInt(), eq(true));
 
@@ -1458,6 +1506,14 @@
     public void onMultiSimConfigChanged() throws Exception {
         createImsProvisioningController();
 
+        // provisioning required capability
+        // voice, all tech
+        // video, all tech
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+        setCarrierConfig(mSubId0, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VIDEO_INT_ARRAY,
+                RADIO_TECHS);
+
         // change number of slot 2 -> 1
         mHandler.sendMessage(mHandler.obtainMessage(
                 mTestImsProvisioningController.EVENT_MULTI_SIM_CONFIGURATION_CHANGE,
@@ -1517,6 +1573,11 @@
         clearInvocations(mIFeatureProvisioningCallback0);
         clearInvocations(mIFeatureProvisioningCallback1);
 
+        // provisioning required capability
+        // voice, all tech
+        setCarrierConfig(mSubId1, CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_VOICE_INT_ARRAY,
+                RADIO_TECHS);
+
         // check get,setImsProvisioningRequiredForCapability with mSubId1, mPhoneId1 : Ok
         int capability = CAPABILITY_TYPE_VOICE;
         int tech = REGISTRATION_TECH_LTE;
@@ -1527,7 +1588,7 @@
                 capability, tech, !provisioned);
         processAllMessages();
 
-        // verify weather Callback is called or not
+        // verify whether Callback is called or not
         verify(mIFeatureProvisioningCallback1, times(1))
                 .onFeatureProvisioningChanged(eq(capability), eq(tech), eq(!provisioned));
 
@@ -1536,6 +1597,145 @@
         clearInvocations(mImsConfig);
     }
 
+    @Test
+    @SmallTest
+    public void eabProvisioningStatus_onlyMmTelConnectionReady() throws Exception {
+        createImsProvisioningController();
+
+        mMmTelConnectorListener0.getValue().connectionReady(mImsManager, mSubId0);
+        processAllMessages();
+
+        // add callback with valid obj
+        mTestImsProvisioningController.addFeatureProvisioningChangedCallback(
+                mSubId0, mIFeatureProvisioningCallback0);
+
+        clearInvocations(mIFeatureProvisioningCallback0);
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // provisioning required capability
+        // presence, all tech
+        setCarrierConfig(mSubId0,
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY, RADIO_TECHS);
+
+        // provisioning Status, all of provisioning status is not set
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, -1}
+        };
+
+        // provisioning status in ImsService
+        mImsConfigStorage = new int[][] {
+                {KEY_EAB_PROVISIONING_STATUS, 1}
+        };
+
+        // Rcs keys
+        int key = KEY_EAB_PROVISIONING_STATUS;
+        int capa = CAPABILITY_TYPE_PRESENCE_UCE;
+        int tech = REGISTRATION_TECH_LTE;
+
+        int result = mTestImsProvisioningController.getProvisioningValue(mSubId0, key);
+        processAllMessages();
+
+        // check return value
+        assertEquals(PROVISIONING_VALUE_ENABLED, result);
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt());
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).getConfigInt(
+                eq(KEY_EAB_PROVISIONING_STATUS));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        mTestImsProvisioningController.setProvisioningValue(mSubId0, key,
+                PROVISIONING_VALUE_DISABLED);
+        processAllMessages();
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(false));
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).setConfig(
+                eq(KEY_EAB_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_DISABLED));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        // reset provisioning status, all of provisioning status is not set
+        mRcsProvisioningStorage = new int[][]{
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_CROSS_SIM, -1},
+                {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_NR, -1}
+        };
+
+        // reset provisioning status in ImsService
+        mImsConfigStorage = new int[][] {
+                {KEY_EAB_PROVISIONING_STATUS, 1}
+        };
+
+        boolean expected = true;
+        boolean provisioned = mTestImsProvisioningController.getRcsProvisioningStatusForCapability(
+                mSubId0, capa, tech);
+        processAllMessages();
+
+        assertEquals(expected, provisioned);
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).getProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), eq(tech));
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).getConfigInt(
+                eq(KEY_EAB_PROVISIONING_STATUS));
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(RADIO_TECHS.length)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), anyInt(), eq(true));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+
+        clearInvocations(mImsConfig);
+        clearInvocations(mImsProvisioningLoader);
+
+        mTestImsProvisioningController.setRcsProvisioningStatusForCapability(
+                mSubId0, capa, tech, !expected);
+        processAllMessages();
+
+        // verify whether ImsProvisioningLoader is called or not
+        verify(mImsProvisioningLoader, times(1)).setProvisioningStatus(
+                eq(mSubId0), eq(FEATURE_RCS), eq(capa), eq(tech), eq(!expected));
+
+        // even if ImsConfig is not available in RcsFeatureListener, ImsConfig in
+        // MmTelFeatureListener will be called.
+        verify(mImsConfig, times(1)).setConfig(
+                eq(KEY_EAB_PROVISIONING_STATUS), eq(PROVISIONING_VALUE_DISABLED));
+
+        verifyNoMoreInteractions(mImsConfig);
+        verifyNoMoreInteractions(mImsProvisioningLoader);
+    }
+
     private void createImsProvisioningController() throws Exception {
         if (Looper.myLooper() == null) {
             Looper.prepare();
@@ -1629,22 +1829,22 @@
     }
 
     private void initializeDefaultData() throws Exception {
-        mMmTelTechMap.clear();
-        mMmTelTechMap.put(CAPABILITY_TYPE_VOICE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_VIDEO,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_UT,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_SMS,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mMmTelTechMap.put(CAPABILITY_TYPE_CALL_COMPOSER,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
+        mPersistableBundle0.clear();
+        mPersistableBundle0.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+        mPersistableBundle0.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_RCS_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+
+        mPersistableBundle1.clear();
+        mPersistableBundle1.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+        mPersistableBundle1.putPersistableBundle(
+                CarrierConfigManager.Ims.KEY_RCS_REQUIRES_PROVISIONING_BUNDLE,
+                new PersistableBundle());
+
         mMmTelProvisioningStorage = new int[][]{
                 {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_LTE, 1},
                 {CAPABILITY_TYPE_VOICE, REGISTRATION_TECH_IWLAN, 1},
@@ -1668,13 +1868,6 @@
                 {CAPABILITY_TYPE_CALL_COMPOSER, REGISTRATION_TECH_NR, 1}
         };
 
-        mRcsTechMap.clear();
-        mRcsTechMap.put(CAPABILITY_TYPE_OPTIONS_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
-        mRcsTechMap.put(CAPABILITY_TYPE_PRESENCE_UCE,
-                new int[] {REGISTRATION_TECH_LTE, REGISTRATION_TECH_IWLAN,
-                        REGISTRATION_TECH_CROSS_SIM, REGISTRATION_TECH_NR});
         mRcsProvisioningStorage = new int[][]{
                 {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_LTE, 1},
                 {CAPABILITY_TYPE_PRESENCE_UCE, REGISTRATION_TECH_IWLAN, 1},
@@ -1690,6 +1883,29 @@
         };
     }
 
+    private void setCarrierConfig(int subId, String capabilityKey, int... techs) {
+        PersistableBundle imsCarrierConfig = mPersistableBundle0;
+        if (subId == mSubId1) {
+            imsCarrierConfig = mPersistableBundle1;
+        }
+
+        PersistableBundle requiredBundle;
+        if (capabilityKey.equals(
+                CarrierConfigManager.Ims.KEY_CAPABILITY_TYPE_PRESENCE_UCE_INT_ARRAY)) {
+            requiredBundle = imsCarrierConfig.getPersistableBundle(
+                    CarrierConfigManager.Ims.KEY_RCS_REQUIRES_PROVISIONING_BUNDLE);
+        } else {
+            requiredBundle = imsCarrierConfig.getPersistableBundle(
+                    CarrierConfigManager.Ims.KEY_MMTEL_REQUIRES_PROVISIONING_BUNDLE);
+        }
+
+        requiredBundle.putIntArray(capabilityKey, techs);
+    }
+
+    private void setDeprecatedCarrierConfig(String key, boolean value) {
+        mPersistableBundle0.putBoolean(key, value);
+    }
+
     private int getProvisionedValue(int i, int j) {
         for (int[] data : mMmTelProvisioningStorage) {
             if (data[0] == i && data[1] == j) {
diff --git a/tests/src/com/android/phone/PhoneUtilsTest.java b/tests/src/com/android/phone/PhoneUtilsTest.java
new file mode 100644
index 0000000..eb4c248
--- /dev/null
+++ b/tests/src/com/android/phone/PhoneUtilsTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.internal.telephony.GsmCdmaPhone;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+@RunWith(AndroidJUnit4.class)
+public class PhoneUtilsTest {
+    @Mock
+    private SubscriptionManager mMockSubscriptionManager;
+    @Mock
+    private SubscriptionInfo mMockSubscriptionInfo;
+    @Mock
+    private GsmCdmaPhone mMockPhone;
+
+    private final int mPhoneAccountHandleIdInteger = 123;
+    private final String mPhoneAccountHandleIdString = "123";
+    private static final ComponentName PSTN_CONNECTION_SERVICE_COMPONENT = new ComponentName(
+            "com.android.phone", "com.android.services.telephony.TelephonyConnectionService");
+    private PhoneAccountHandle mPhoneAccountHandleTest = new PhoneAccountHandle(
+            PSTN_CONNECTION_SERVICE_COMPONENT, mPhoneAccountHandleIdString);
+
+    private HashMap<InstanceKey, Object> mOldInstances = new HashMap<InstanceKey, Object>();
+
+    private ArrayList<InstanceKey> mInstanceKeys = new ArrayList<InstanceKey>();
+
+    private static class InstanceKey {
+        public final Class mClass;
+        public final String mInstName;
+        public final Object mObj;
+        InstanceKey(final Class c, final String instName, final Object obj) {
+            mClass = c;
+            mInstName = instName;
+            mObj = obj;
+        }
+
+        @Override
+        public int hashCode() {
+            return (mClass.getName().hashCode() * 31 + mInstName.hashCode()) * 31;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (obj == null || !(obj instanceof InstanceKey)) {
+                return false;
+            }
+
+            InstanceKey other = (InstanceKey) obj;
+            return (other.mClass == mClass && other.mInstName.equals(mInstName)
+                    && other.mObj == mObj);
+        }
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        when(mMockSubscriptionManager.getActiveSubscriptionInfo(
+                eq(mPhoneAccountHandleIdInteger))).thenReturn(mMockSubscriptionInfo);
+        when(mMockPhone.getSubId()).thenReturn(mPhoneAccountHandleIdInteger);
+        Phone[] mPhones = new Phone[] {mMockPhone};
+        replaceInstance(PhoneFactory.class, "sPhones", null, mPhones);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        restoreInstance(PhoneFactory.class, "sPhones", null);
+    }
+
+    protected synchronized void replaceInstance(final Class c, final String instanceName,
+            final Object obj, final Object newValue)
+            throws Exception {
+        Field field = c.getDeclaredField(instanceName);
+        field.setAccessible(true);
+
+        InstanceKey key = new InstanceKey(c, instanceName, obj);
+        if (!mOldInstances.containsKey(key)) {
+            mOldInstances.put(key, field.get(obj));
+            mInstanceKeys.add(key);
+        }
+        field.set(obj, newValue);
+    }
+
+    protected synchronized void restoreInstance(final Class c, final String instanceName,
+            final Object obj) throws Exception {
+        InstanceKey key = new InstanceKey(c, instanceName, obj);
+        if (mOldInstances.containsKey(key)) {
+            Field field = c.getDeclaredField(instanceName);
+            field.setAccessible(true);
+            field.set(obj, mOldInstances.get(key));
+            mOldInstances.remove(key);
+            mInstanceKeys.remove(key);
+        }
+    }
+
+    @Test
+    public void testIsPhoneAccountActive() throws Exception {
+        assertTrue(PhoneUtils.isPhoneAccountActive(
+                mMockSubscriptionManager, mPhoneAccountHandleTest));
+    }
+
+    @Test
+    public void testGetPhoneForPhoneAccountHandle() throws Exception {
+        assertEquals(mMockPhone, PhoneUtils.getPhoneForPhoneAccountHandle(
+                mPhoneAccountHandleTest));
+    }
+
+    @Test
+    public void testMakePstnPhoneAccountHandleWithPrefix() throws Exception {
+        PhoneAccountHandle phoneAccountHandleTest = new PhoneAccountHandle(
+                PSTN_CONNECTION_SERVICE_COMPONENT, mPhoneAccountHandleIdString);
+        assertEquals(phoneAccountHandleTest, PhoneUtils.makePstnPhoneAccountHandleWithPrefix(
+                mPhoneAccountHandleIdString, "", false));
+    }
+}
diff --git a/tests/src/com/android/phone/SubscriptionInfoHelperTest.java b/tests/src/com/android/phone/SubscriptionInfoHelperTest.java
new file mode 100644
index 0000000..90f682f
--- /dev/null
+++ b/tests/src/com/android/phone/SubscriptionInfoHelperTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import android.content.Intent;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+
+import org.junit.Test;
+
+public class SubscriptionInfoHelperTest {
+    private static final String EXTRA_SUBSCRIPTION_LABEL =
+            "com.android.phone.settings.SubscriptionInfoHelper.SubscriptionLabel";
+
+    /**
+     * Ensures {@link SubscriptionInfoHelper#addExtrasToIntent(Intent, SubscriptionInfo)} can
+     * properly handle a null display name without crashing.
+     */
+    @Test
+    public void testAddExtrasToIntentWithNullDisplayName() {
+        Intent intent = new Intent();
+        SubscriptionInfo info = new SubscriptionInfo(1, // id
+                "90210", // iccId
+                1, // simSlotIndex
+                null, // displayName
+                null, // carrierName
+                SubscriptionManager.NAME_SOURCE_CARRIER_ID, // nameSource
+                0, //iconTint
+                "555-1212", // number
+                0, // roaming
+                null, // icon
+                "401", // mcc
+                "384", // mnc
+                "us", // countryIso
+                false, // isEmbedded
+                null, // nativeAccessRules
+                ""); // cardString
+        SubscriptionInfoHelper.addExtrasToIntent(intent, info);
+        assertNull(intent.getStringExtra(EXTRA_SUBSCRIPTION_LABEL));
+        assertTrue(intent.hasExtra(EXTRA_SUBSCRIPTION_LABEL));
+    }
+}
diff --git a/tests/src/com/android/phone/Telephony2gUpdaterTest.java b/tests/src/com/android/phone/Telephony2gUpdaterTest.java
new file mode 100644
index 0000000..3443767
--- /dev/null
+++ b/tests/src/com/android/phone/Telephony2gUpdaterTest.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.phone;
+
+import static org.mockito.Mockito.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.os.UserManager;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.TelephonyTestBase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+@RunWith(AndroidJUnit4.class)
+public class Telephony2gUpdaterTest extends TelephonyTestBase {
+    private Telephony2gUpdater mTelephony2gUpdater;
+    private Executor mExecutor;
+
+    private UserManager mMockUserManager;
+    private TelephonyManager mMockTelephonyManager;
+    private SubscriptionManager mMockSubscriptionManager;
+
+    // 2G Bitmask is 0b10000000_01001011
+    private static final long BASE_NETWORK = 0b11111111_11111111;
+    private static final long EXPECTED_DISABLED = 0b01111111_10110100;
+    private static final long EXPECTED_ENABLED = 0b11111111_11111111;
+
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+
+        mMockTelephonyManager = mContext.getSystemService(TelephonyManager.class);
+        mMockUserManager = mContext.getSystemService(UserManager.class);
+        mMockSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
+
+        mExecutor = Executors.newSingleThreadExecutor();
+        mTelephony2gUpdater = new Telephony2gUpdater(mExecutor,
+                getTestContext(), BASE_NETWORK);
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_noSubscriptions_noAllowedNetworksChanged() {
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                new ArrayList<>());
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+        verify(mMockTelephonyManager, never()).setAllowedNetworkTypesForReason(anyInt(), anyInt());
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_nullSubscriptions_noAllowedNetworksChanged() {
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(null);
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+        verify(mMockTelephonyManager, never()).setAllowedNetworkTypesForReason(anyInt(), anyInt());
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_oneSubscription_allowedNetworksUpdated() {
+        TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                Collections.singletonList(getSubInfo(1)));
+        when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+        when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+                true);
+
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+        System.out.println(TelephonyManager.convertNetworkTypeBitmaskToString(11L));
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_manySubscriptionsDisallow2g_allowedNetworkUpdated() {
+
+        // Two subscriptions are available
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                Arrays.asList(getSubInfo(1), getSubInfo(2)));
+        TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+        TelephonyManager tmSubscription2 = mock(TelephonyManager.class);
+        when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+        when(mMockTelephonyManager.createForSubscriptionId(2)).thenReturn(tmSubscription2);
+        // 2g is disallowed
+        when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+                true);
+
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_DISABLED);
+    }
+
+    @Test
+    public void handleUserRestrictionsChanged_manySubscriptionsAllow2g_allowedNetworkUpdated() {
+
+        // Two subscriptions are available
+        when(mMockSubscriptionManager.getAvailableSubscriptionInfoList()).thenReturn(
+                Arrays.asList(getSubInfo(1), getSubInfo(2)));
+        TelephonyManager tmSubscription1 = mock(TelephonyManager.class);
+        TelephonyManager tmSubscription2 = mock(TelephonyManager.class);
+        when(mMockTelephonyManager.createForSubscriptionId(1)).thenReturn(tmSubscription1);
+        when(mMockTelephonyManager.createForSubscriptionId(2)).thenReturn(tmSubscription2);
+
+        // 2g is allowed
+        when(mMockUserManager.hasUserRestriction(UserManager.DISALLOW_CELLULAR_2G)).thenReturn(
+                false);
+
+        mTelephony2gUpdater.handleUserRestrictionsChanged(getTestContext());
+
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_ENABLED);
+        verify(tmSubscription1, times(1)).setAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER_RESTRICTIONS, EXPECTED_ENABLED);
+    }
+
+    private SubscriptionInfo getSubInfo(int id) {
+        return new SubscriptionInfo(id, "890126042XXXXXXXXXXX", 0, "T-mobile", "T-mobile", 0, 255,
+                "12345", 0, null, "310", "260", "156", false, null, null);
+    }
+}
diff --git a/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java b/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
index 85dba51..8b0ac5c 100644
--- a/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
+++ b/tests/src/com/android/phone/euicc/EuiccUiDispatcherActivityTest.java
@@ -75,6 +75,12 @@
     }
 
     @Test
+    public void testResolveEuiccUiIntent_nullAction() {
+        mIntent = new Intent();
+        assertNull(mActivity.resolveEuiccUiIntent());
+    }
+
+    @Test
     public void testResolveEuiccUiIntent_unsupportedAction() {
         mIntent = new Intent("fake.action");
         assertNull(mActivity.resolveEuiccUiIntent());
diff --git a/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
index 7f9efdc..28a7b02 100644
--- a/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
+++ b/tests/src/com/android/services/telephony/DisconnectCauseUtilTest.java
@@ -17,19 +17,104 @@
 package com.android.services.telephony;
 
 import static android.media.ToneGenerator.TONE_PROP_PROMPT;
+import static android.media.ToneGenerator.TONE_SUP_BUSY;
 
 import static junit.framework.Assert.assertNotNull;
 import static junit.framework.TestCase.assertEquals;
 
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
 import android.telephony.DisconnectCause;
 
+import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
+import com.android.TelephonyTestBase;
+import com.android.internal.telephony.GsmCdmaPhone;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+import com.android.phone.common.R;
+
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Locale;
+
 
 @RunWith(AndroidJUnit4.class)
-public class DisconnectCauseUtilTest {
+public class DisconnectCauseUtilTest extends TelephonyTestBase {
+
+    // constants
+    public static final int PHONE_ID = 123;
+    public static final String EMPTY_STRING = "";
+
+    // dynamic
+    private Context mContext;
+    private HashMap<InstanceKey, Object> mOldInstances = new HashMap<InstanceKey, Object>();
+    private ArrayList<InstanceKey> mInstanceKeys = new ArrayList<InstanceKey>();
+
+    //Mocks
+    @Mock
+    private GsmCdmaPhone mMockPhone;
+
+    // inner classes
+    private static class InstanceKey {
+        public final Class mClass;
+        public final String mInstName;
+        public final Object mObj;
+
+        InstanceKey(final Class c, final String instName, final Object obj) {
+            mClass = c;
+            mInstName = instName;
+            mObj = obj;
+        }
+
+        @Override
+        public int hashCode() {
+            return (mClass.getName().hashCode() * 31 + mInstName.hashCode()) * 31;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (obj == null || !(obj instanceof InstanceKey)) {
+                return false;
+            }
+
+            InstanceKey other = (InstanceKey) obj;
+            return (other.mClass == mClass && other.mInstName.equals(mInstName)
+                    && other.mObj == mObj);
+        }
+    }
+
+    @Before
+    public void setUp() throws Exception {
+        super.setUp();
+        // objects that call static getInstance()
+        mMockPhone = Mockito.mock(GsmCdmaPhone.class);
+        mContext = InstrumentationRegistry.getTargetContext();
+        // set mocks
+        setSinglePhone();
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        // restoreInstance.
+        // Not doing so will potentially "confuse" other tests with the mocked instance
+        restoreInstance(PhoneFactory.class, "sPhones", null);
+        super.tearDown();
+    }
+
+
     /**
      * 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.
@@ -43,4 +128,109 @@
         assertNotNull(tcCause.getDescription());
         assertNotNull(tcCause.getReason());
     }
+
+    /**
+     *  ensure the default behavior was not changed when a disconnect cause comes in as
+     *  DisconnectCause.ERROR_UNSPECIFIED
+     */
+    @Test
+    public void testDefaultDisconnectCauseBehaviorForCauseNotInCarrierBusyToneArray() {
+        android.telecom.DisconnectCause tcCause = DisconnectCauseUtil.toTelecomDisconnectCause(
+                DisconnectCause.ERROR_UNSPECIFIED, EMPTY_STRING, PHONE_ID);
+        // CODE
+        assertEquals(android.telecom.DisconnectCause.ERROR, tcCause.getCode());
+        // LABEL
+        safeAssertLabel(null, tcCause);
+        // TONE
+        assertEquals(TONE_PROP_PROMPT, tcCause.getTone());
+    }
+
+    /**
+     *  Simulate a Carrier classifying the DisconnectCause.ERROR_UNSPECIFIED as a
+     *  DisconnectCause.BUSY.  The code, label, and tone should match DisconnectCause.BUSY.
+     */
+    @Test
+    public void testCarrierSetDisconnectCauseInBusyToneArray() {
+        int[] carrierBusyArr = {DisconnectCause.BUSY, DisconnectCause.ERROR_UNSPECIFIED};
+        PersistableBundle config = new PersistableBundle();
+
+        config.putIntArray(
+                CarrierConfigManager.KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY,
+                carrierBusyArr);
+
+        android.telecom.DisconnectCause tcCause =
+                DisconnectCauseUtil.toTelecomDisconnectCause(
+                        DisconnectCause.ERROR_UNSPECIFIED, -1,
+                        EMPTY_STRING, PHONE_ID, null, config);
+
+        // CODE
+        assertEquals(android.telecom.DisconnectCause.BUSY, tcCause.getCode());
+        // LABEL
+        safeAssertLabel(R.string.callFailed_userBusy, tcCause);
+        // TONE
+        assertEquals(TONE_SUP_BUSY, tcCause.getTone());
+    }
+
+    private void setSinglePhone() throws Exception {
+        Phone[] mPhones = new Phone[]{mMockPhone};
+        replaceInstance(PhoneFactory.class, "sPhones", null, mPhones);
+    }
+
+
+    protected synchronized void replaceInstance(final Class c, final String instanceName,
+            final Object obj, final Object newValue)
+            throws Exception {
+        Field field = c.getDeclaredField(instanceName);
+        field.setAccessible(true);
+
+        InstanceKey key = new InstanceKey(c, instanceName, obj);
+        if (!mOldInstances.containsKey(key)) {
+            mOldInstances.put(key, field.get(obj));
+            mInstanceKeys.add(key);
+        }
+        field.set(obj, newValue);
+    }
+
+    protected synchronized void restoreInstance(final Class c, final String instanceName,
+            final Object obj) throws Exception {
+        InstanceKey key = new InstanceKey(c, instanceName, obj);
+        if (mOldInstances.containsKey(key)) {
+            Field field = c.getDeclaredField(instanceName);
+            field.setAccessible(true);
+            field.set(obj, mOldInstances.get(key));
+            mOldInstances.remove(key);
+            mInstanceKeys.remove(key);
+        }
+    }
+
+    private Resources getResourcesForLocale(Context context, Locale locale) {
+        Configuration config = new Configuration();
+        config.setToDefaults();
+        config.setLocale(locale);
+        Context localeContext = context.createConfigurationContext(config);
+        return localeContext.getResources();
+    }
+
+    private void safeAssertLabel(Integer resourceId,
+            android.telecom.DisconnectCause disconnectCause) {
+        Resources r = getResourcesForLocale(mContext, Locale.US);
+        if (resourceId == null || r == null) {
+            return;
+        }
+        String label = r.getString(resourceId);
+        assertEquals(label, disconnectCause.getLabel());
+    }
+
+    /**
+     * Verifies that an ICC_ERROR disconnect cause generates a message which mentions there is no
+     * SIM.
+     */
+    @Test
+    public void testIccError() {
+        android.telecom.DisconnectCause tcCause = DisconnectCauseUtil.toTelecomDisconnectCause(
+                DisconnectCause.ICC_ERROR);
+        assertEquals(android.telecom.DisconnectCause.ERROR, tcCause.getCode());
+        assertNotNull(tcCause.getLabel());
+        assertNotNull(tcCause.getDescription());
+    }
 }
diff --git a/tests/src/com/android/services/telephony/TelephonyManagerTest.java b/tests/src/com/android/services/telephony/TelephonyManagerTest.java
index 2202bc7..cf1ae8f 100644
--- a/tests/src/com/android/services/telephony/TelephonyManagerTest.java
+++ b/tests/src/com/android/services/telephony/TelephonyManagerTest.java
@@ -16,14 +16,19 @@
 
 package com.android.services.telephony;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.PropertyInvalidatedCache;
+import android.content.ComponentName;
 import android.content.Context;
+import android.telecom.PhoneAccountHandle;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.emergency.EmergencyNumber;
@@ -48,6 +53,12 @@
 public class TelephonyManagerTest {
     private static final String PKG_NAME = "Unittest.TelephonyManagerTest";
     private static final String TAG = "TelephonyManagerTest";
+    private static final PhoneAccountHandle TEST_HANDLE1 = new PhoneAccountHandle(
+            new ComponentName("com.test", "Test"), "1");
+    private static final int TEST_SUBID_1 = 1;
+    private static final PhoneAccountHandle TEST_HANDLE2 = new PhoneAccountHandle(
+            new ComponentName("com.test", "Test"), "2");
+    private static final int TEST_SUBID_2 = 2;
 
     private ITelephony mMockITelephony;
     private SubscriptionManager mMockSubscriptionManager;
@@ -180,4 +191,31 @@
                     EmergencyNumber.EMERGENCY_SERVICE_CATEGORY_POLICE));
         }
     }
+
+    /**
+     * Verifies that {@link TelephonyManager#getSubscriptionId(PhoneAccountHandle)} is properly
+     * using a property invalidated cache.
+     * @throws Exception
+     */
+    @Test
+    public void testGetSubscriptionIdCache() throws Exception {
+        PropertyInvalidatedCache.invalidateCache(TelephonyManager.CACHE_KEY_PHONE_ACCOUNT_TO_SUBID);
+        when(mMockITelephony.getSubIdForPhoneAccountHandle(eq(TEST_HANDLE1),
+                anyString(), anyString())).thenReturn(TEST_SUBID_1);
+        when(mMockITelephony.getSubIdForPhoneAccountHandle(eq(TEST_HANDLE2),
+                anyString(), anyString())).thenReturn(TEST_SUBID_2);
+
+        // Ensure queries for phone account handles come back consistently.
+        assertEquals(TEST_SUBID_1, mTelephonyManager.getSubscriptionId(TEST_HANDLE1));
+        assertEquals(TEST_SUBID_1, mTelephonyManager.getSubscriptionId(TEST_HANDLE1));
+        assertEquals(TEST_SUBID_2, mTelephonyManager.getSubscriptionId(TEST_HANDLE2));
+        assertEquals(TEST_SUBID_2, mTelephonyManager.getSubscriptionId(TEST_HANDLE2));
+
+        // We should have only had a single call to the underlying AIDL, however.  The cache should
+        // have protected us from calling this multiple times.
+        verify(mMockITelephony, times(1)).getSubIdForPhoneAccountHandle(eq(TEST_HANDLE1),
+                anyString(), anyString());
+        verify(mMockITelephony, times(1)).getSubIdForPhoneAccountHandle(eq(TEST_HANDLE2),
+                anyString(), anyString());
+    }
 }