diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index dc220f2..12075a2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -123,7 +123,8 @@
                   android:label="@string/settings_label_launcher"
                   android:theme="@style/Theme.Settings.Home"
                   android:taskAffinity="com.android.settings.root"
-                  android:launchMode="singleTask">
+                  android:launchMode="singleTask"
+                  android:configChanges="keyboard|keyboardHidden">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -3201,6 +3202,10 @@
                     <action android:name="com.android.settings.panel.action.MEDIA_OUTPUT" />
                     <category android:name="android.intent.category.DEFAULT" />
                 </intent-filter>
+                <intent-filter>
+                    <action android:name="com.android.settings.panel.action.MEDIA_OUTPUT_GROUP" />
+                    <category android:name="android.intent.category.DEFAULT" />
+                </intent-filter>
         </activity-alias>
 
         <provider android:name=".slices.SettingsSliceProvider"
diff --git a/OWNERS b/OWNERS
index 16fc48c..47961cd 100644
--- a/OWNERS
+++ b/OWNERS
@@ -6,7 +6,6 @@
 edgarwang@google.com
 emilychuang@google.com
 millchen@google.com
-rafftsai@google.com
 stanleytfwang@google.com
 sunnyshao@google.com
 tmfang@google.com
diff --git a/res/drawable/accessibility_shortcut_type_hardware.png b/res/drawable/accessibility_shortcut_type_hardware.png
index 141af83..664ceb3 100644
--- a/res/drawable/accessibility_shortcut_type_hardware.png
+++ b/res/drawable/accessibility_shortcut_type_hardware.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_software.png b/res/drawable/accessibility_shortcut_type_software.png
index 5b0611d..0212548 100644
--- a/res/drawable/accessibility_shortcut_type_software.png
+++ b/res/drawable/accessibility_shortcut_type_software.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture.png b/res/drawable/accessibility_shortcut_type_software_gesture.png
index a5df752..0a2921a 100644
--- a/res/drawable/accessibility_shortcut_type_software_gesture.png
+++ b/res/drawable/accessibility_shortcut_type_software_gesture.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png
index a8d86aa..85fec85 100644
--- a/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png
+++ b/res/drawable/accessibility_shortcut_type_software_gesture_talkback.png
Binary files differ
diff --git a/res/drawable/accessibility_shortcut_type_triple_tap.png b/res/drawable/accessibility_shortcut_type_triple_tap.png
index 5c6ce95..6a08d29 100644
--- a/res/drawable/accessibility_shortcut_type_triple_tap.png
+++ b/res/drawable/accessibility_shortcut_type_triple_tap.png
Binary files differ
diff --git a/res/drawable/ic_accessibility_new.xml b/res/drawable/ic_accessibility_new.xml
index 6bfc6c6..1347239 100644
--- a/res/drawable/ic_accessibility_new.xml
+++ b/res/drawable/ic_accessibility_new.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal">
   <path
       android:fillColor="#757575"
       android:pathData="M20.5,6c-2.61,0.7 -5.67,1 -8.5,1s-5.89,-0.3 -8.5,-1L3,8c1.86,0.5 4,0.83 6,1v13h2v-6h2v6h2V9c2,-0.17 4.14,-0.5 6,-1l-0.5,-2zM12,6c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2z"/>
diff --git a/res/layout-land/storage_summary_donut.xml b/res/layout-land/storage_summary_donut.xml
index db91547..2e5ee93 100644
--- a/res/layout-land/storage_summary_donut.xml
+++ b/res/layout-land/storage_summary_donut.xml
@@ -60,7 +60,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@android:id/summary"
-            android:text="@string/storage_menu_free"
+            android:text="@string/storage_menu_manage"
             style="@style/ActionPrimaryButton" />
     </LinearLayout>
 
diff --git a/res/layout-sw360dp/storage_summary_donut.xml b/res/layout-sw360dp/storage_summary_donut.xml
index db91547..2e5ee93 100644
--- a/res/layout-sw360dp/storage_summary_donut.xml
+++ b/res/layout-sw360dp/storage_summary_donut.xml
@@ -60,7 +60,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_below="@android:id/summary"
-            android:text="@string/storage_menu_free"
+            android:text="@string/storage_menu_manage"
             style="@style/ActionPrimaryButton" />
     </LinearLayout>
 
diff --git a/res/layout/accessibility_edit_shortcut.xml b/res/layout/accessibility_edit_shortcut.xml
index 753adb1b..412ce94 100644
--- a/res/layout/accessibility_edit_shortcut.xml
+++ b/res/layout/accessibility_edit_shortcut.xml
@@ -22,19 +22,19 @@
     android:scrollbarStyle="outsideOverlay">
 
     <LinearLayout
-        android:theme="@style/Theme.AlertDialog"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:paddingTop="24dp"
-        android:paddingStart="24dp"
-        android:paddingEnd="24dp">
+        android:padding="24dp">
 
         <include android:id="@+id/software_shortcut"
-                 layout="@layout/accessibility_edit_shortcut_component"/>
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="32dp" />
 
         <include android:id="@+id/hardware_shortcut"
-                 layout="@layout/accessibility_edit_shortcut_component"/>
+            layout="@layout/accessibility_edit_shortcut_component" />
 
     </LinearLayout>
 
diff --git a/res/layout/accessibility_edit_shortcut_component.xml b/res/layout/accessibility_edit_shortcut_component.xml
index dd92a1d..02938c3 100644
--- a/res/layout/accessibility_edit_shortcut_component.xml
+++ b/res/layout/accessibility_edit_shortcut_component.xml
@@ -19,32 +19,32 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:paddingBottom="16dp">
+    android:orientation="vertical">
 
     <CheckBox
         android:id="@+id/checkbox"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:minHeight="?android:attr/listPreferredItemHeightSmall"
+        android:paddingStart="12dp"
         android:saveEnabled="false"
-        android:textAppearance="?android:attr/textAppearanceListItem"
-        android:textColor="?android:attr/textColorAlertDialogListItem" />
+        android:textColor="?android:attr/textColorAlertDialogListItem"
+        android:textSize="16sp" />
 
     <TextView
         android:id="@+id/summary"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:paddingBottom="8dp"
-        android:paddingStart="32dp"
+        android:paddingStart="44dp"
         android:textAppearance="?android:attr/textAppearanceListItemSecondary"
         android:textColor="?android:attr/textColorSecondary" />
 
     <ImageView
         android:id="@+id/image"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:paddingStart="32dp"
-        android:scaleType="fitCenter" />
+        android:layout_width="176dp"
+        android:layout_height="176dp"
+        android:layout_marginStart="44dp"
+        android:scaleType="centerCrop" />
 
 </LinearLayout>
diff --git a/res/layout/accessibility_edit_shortcut_magnification.xml b/res/layout/accessibility_edit_shortcut_magnification.xml
index 8a724cc..0253edf 100644
--- a/res/layout/accessibility_edit_shortcut_magnification.xml
+++ b/res/layout/accessibility_edit_shortcut_magnification.xml
@@ -15,54 +15,63 @@
   limitations under the License
   -->
 
-<ScrollView
-    xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:scrollbarStyle="outsideOverlay">
 
     <LinearLayout
-        android:theme="@style/Theme.AlertDialog"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:orientation="vertical"
-        android:paddingTop="24dp"
-        android:paddingStart="24dp"
-        android:paddingEnd="24dp">
+        android:padding="24dp">
 
-        <include android:id="@+id/software_shortcut"
-                 layout="@layout/accessibility_edit_shortcut_component"/>
+        <include
+            android:id="@+id/software_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="32dp" />
 
-        <include android:id="@+id/hardware_shortcut"
-                 layout="@layout/accessibility_edit_shortcut_component"/>
+        <include
+            android:id="@+id/hardware_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="32dp" />
 
         <LinearLayout
             android:id="@+id/advanced_shortcut"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:minHeight="?android:attr/listPreferredItemHeightSmall"
             android:orientation="horizontal">
 
             <ImageView
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:src="@drawable/ic_keyboard_arrow_down"
-                android:scaleType="fitCenter"/>
+                android:layout_gravity="center"
+                android:contentDescription="@null"
+                android:scaleType="centerCrop"
+                android:src="@drawable/ic_keyboard_arrow_down" />
 
             <TextView
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
                 android:gravity="center_vertical"
-                android:minHeight="?android:attr/listPreferredItemHeightSmall"
+                android:paddingStart="12dp"
                 android:text="@string/accessibility_shortcut_edit_dialog_title_advance"
                 android:textAppearance="?android:attr/textAppearanceListItem"
-                android:textColor="?android:attr/colorAccent" />
+                android:textColor="?android:attr/colorAccent"
+                android:textSize="16sp" />
 
-        </LinearLayout>>
+        </LinearLayout>
 
-        <include android:id="@+id/triple_tap_shortcut"
-                 layout="@layout/accessibility_edit_shortcut_component"
-                 android:visibility="gone"/>
+        <include
+            android:id="@+id/triple_tap_shortcut"
+            layout="@layout/accessibility_edit_shortcut_component"
+            android:visibility="gone" />
 
     </LinearLayout>
 
-</ScrollView>
\ No newline at end of file
+</ScrollView>
diff --git a/res/layout/contextual_slice_sticky_tile.xml b/res/layout/contextual_slice_sticky_tile.xml
index 734697f..5991068 100644
--- a/res/layout/contextual_slice_sticky_tile.xml
+++ b/res/layout/contextual_slice_sticky_tile.xml
@@ -15,12 +15,11 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<com.google.android.material.card.MaterialCardView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical"
-    style="@style/StickyCardStyle">
+    style="@style/ContextualCardStyle">
 
     <androidx.slice.widget.SliceView
         android:id="@+id/slice_view"
@@ -28,9 +27,6 @@
         style="@style/ContextualCardSliceViewStyle"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/contextual_card_vertical_margin"
         android:importantForAccessibility="no"/>
 
-    <include layout="@layout/horizontal_divider"/>
-
-</LinearLayout>
+</com.google.android.material.card.MaterialCardView>
diff --git a/res/layout/palette_listview_item.xml b/res/layout/palette_listview_item.xml
index 3342ef1..e67b7cb 100644
--- a/res/layout/palette_listview_item.xml
+++ b/res/layout/palette_listview_item.xml
@@ -28,6 +28,6 @@
         android:maxLength="20"
         android:paddingLeft="@dimen/accessibility_layout_margin_start_end"
         android:singleLine="true"
-        android:textSize="14dp" />
+        android:textSize="14sp" />
 
 </FrameLayout>
diff --git a/res/layout/panel_slice_slider_row.xml b/res/layout/panel_slice_slider_row.xml
new file mode 100644
index 0000000..f886a85
--- /dev/null
+++ b/res/layout/panel_slice_slider_row.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2020 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <androidx.slice.widget.SliceView
+        android:id="@+id/slice_view"
+        style="@style/SliceViewSliderStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingStart="8dp"
+        android:paddingEnd="8dp"/>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/storage_summary_donut.xml b/res/layout/storage_summary_donut.xml
index 88f5b36..cc4df20 100644
--- a/res/layout/storage_summary_donut.xml
+++ b/res/layout/storage_summary_donut.xml
@@ -56,7 +56,7 @@
         android:id="@+id/deletion_helper_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:text="@string/storage_menu_free"
+        android:text="@string/storage_menu_manage"
         style="@style/ActionPrimaryButton" />
 
 </LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 23ed748..d2904a4 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-Oproepe"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gebruik LTE-dienste om stem- en ander kommunikasie te verbeter (aanbeveel)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gebruik 4G-dienste om stem- en ander kommunikasie te verbeter (aanbeveel)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontakontdekking"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Laat jou diensverskaffer toe om te ontdek watter oproepkenmerke jou kontakte steun."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Aktiveer kontakontdekking?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"As hierdie kenmerk geaktiveer word, sal dit jou diensverskaffer toegang tot foonnommers in jou kontakte gee om uit te vind watter oproepkenmerke hulle steun."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Voorkeurnetwerktipe"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (aanbeveel)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-boodskappe"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Stelselgrafikadrywer"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Groep"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 toestel gekies"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> toestelle gekies"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Skakel tans oor …"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Antwoord oproep op"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Hierdie toegangspuntnaam kan nie verander word nie."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Verbeter tablet se batterylewe"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Net een afgelaaide SIM kan op \'n slag aktief wees.\n\nOorskakeling na <xliff:g id="CARRIER1">%1$s</xliff:g> sal nie jou <xliff:g id="CARRIER2">%2$s</xliff:g>-diens kanselleer nie."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Skakel oor na <xliff:g id="CARRIER">%1$s</xliff:g>?"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vee SIM uit"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vee hierdie afgelaaide SIM uit?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"As jy hierdie SIM uitvee, word <xliff:g id="CARRIER_0">%1$s</xliff:g>-diens van hierdie toestel af uitgevee.\n\nDiens vir <xliff:g id="CARRIER_1">%2$s</xliff:g> sal nie gekanselleer word nie."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Vee uit"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Vee tans SIM uit …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kan nie SIM uitvee nie"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hierdie SIM kan weens \'n fout nie uitgevee word nie.\n\nHerbegin jou toestel en probeer weer."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Voorkeurnetwerktipe"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Jy het hierdie program onlangs geïnstalleer."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Wissel uitvoer"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Speel tans op <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ontkoppel)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan nie wissel nie. Tik om weer te probeer."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Belangrike inligting"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"GAAN VOORT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEE, DANKIE"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index a41b762..8c05d03 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ጥሪ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"የድምፅ እና ሌሎች የመልዕክት ልውውጦችን ለማሻሻል LTE አገልግሎቶችን ይጠቀሙ (የሚመከር)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"የድምፅ እና ሌሎች ግንኙነቶችን ለማሻሻል 4G አገልግሎቶችን ይጠቀሙ (የሚመከር)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"የእውቂያ ማግኘት"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"የእርስዎ አገልግሎት አቅራቢ የትኛውን የስልክ መደወያ ባሕሪን የእርስዎ እውቂያዎች እንደሚደግፍ ለማወቅ እንዲችል ይፈቅድለታል።"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"የእውቂያ መገኘት ይንቃ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ይህን ባሕሪ ማንቃት የትኛውን የስልክ መደወያ ባሕሪ እንደሚደግፉ ለማወቅ የእርስዎ አገልግሎት አቅራቢ በእርስዎ እውቂያዎች ውስጥ ወደ ያሉ ስልክ ቁጥሮች ለመድረስ እንዲችል ይፈቅድለታል።"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"የሚመረጠው የአውታረ መረብ አይነት"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (የሚመከር)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"የኤምኤምኤስ መልዕክቶች"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"የሥርዓት ግራፊክስ ነጂ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ቡድን"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 መሣሪያ ተመርጧል"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> መሣሪያዎች ተመርጠዋል"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ጥሪው ባዶ እጅ ይነሳ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ይህን ኤፒኤን ሊለወጥ አይችልም።"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"የጡባዊ ባትሪ ህይወትን ያሻሽሉ"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"አንድ ብቻ የወረደ ሲም በአንድ ጊዜ ገባሪ ሊሆን ይችላል።\n\nወደ <xliff:g id="CARRIER1">%1$s</xliff:g> መቀየር የእርስዎን <xliff:g id="CARRIER2">%2$s</xliff:g> አገልግሎት አይሰርዘውም።"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"ወደ <xliff:g id="CARRIER">%1$s</xliff:g> ቀይር"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ሲምን ደምስስ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ይህ የወረደ ሲም ይደምሰስ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ይህን ሲም መደምሰስ <xliff:g id="CARRIER_0">%1$s</xliff:g> አገግሎትን ከዚህ መሣሪያ ላይ ያስወግደዋል።\n\nለ <xliff:g id="CARRIER_1">%2$s</xliff:g> የሚሆኑ አገልግሎቶች አይሰረዙም።"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ደምስስ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ሲም በመሰረዝ ላይ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ሲምን ማስወገድ አይቻልም"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ይኼ ሲም በስህተት ምክንያት ሊደመሰስ አይችልም።\n\nየእርስዎን መሣሪያ ዳግም ያስጀምሩ እና እንደገና ይሞክሩ።"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"የሚመረጠው የአውታረ መረብ አይነት"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"እርስዎ በቅርቡ ይህን መተግበሪያ ጭነዋል።"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ውጽዓትን ቀይር"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"በአሁኑ ጊዜ በ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ላይ በመጫወት ያለ"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ግንኙነት ተቋርጧል)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"መቀየር አይቻልም። እንደገና ለመሞከር መታ ያድርጉ።"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"አስፈላጊ መረጃ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ቀጥል"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"አይ አመሰግናለሁ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index da3f427..18a8804 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -247,7 +247,7 @@
     <string name="roaming" msgid="3055365654530847985">"التجوال"</string>
     <string name="roaming_enable" msgid="7845716016861535340">"الاتصال بخدمات البيانات عند التجوال"</string>
     <string name="roaming_disable" msgid="729512894708689604">"الاتصال بخدمات البيانات عند التجوال"</string>
-    <string name="roaming_reenable_message" msgid="5150423860521673540">"لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تشغيل تجوال البيانات بشبكتك الرئيسية."</string>
+    <string name="roaming_reenable_message" msgid="5150423860521673540">"لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تفعيل تجوال البيانات بشبكتك الرئيسية."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"تشغيل"</string>
     <string name="roaming_warning" msgid="7703647889040229013">"قد تسري رسوم تجوال."</string>
     <string name="roaming_warning_multiuser" product="tablet" msgid="5629953315019604726">"عند السماح بتجوال البيانات، قد تسري رسوم تجوال.\n\nيؤثر هذا الإعداد على جميع مستخدمي هذا الجهاز اللوحي."</string>
@@ -872,8 +872,8 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"في وضع الطائرة"</string>
     <string name="wifi_notify_open_networks" msgid="3040435584744232163">"الإشعار بوجود شبكات مفتوحة"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"الإشعار عند توفر شبكة عامة عالية الجودة"</string>
-    <string name="wifi_wakeup" msgid="3834327315861781611">"‏تشغيل اتّصال Wi‑Fi تلقائيًا"</string>
-    <string name="wifi_wakeup_summary" msgid="5778059083790221465">"‏إعادة تشغيل اتّصال Wi‑Fi بالقرب من الشبكات المحفوظة العالية الجودة، مثل الشبكة المنزلية"</string>
+    <string name="wifi_wakeup" msgid="3834327315861781611">"‏تفعيل اتّصال Wi‑Fi تلقائيًا"</string>
+    <string name="wifi_wakeup_summary" msgid="5778059083790221465">"‏إعادة تفعيل اتّصال Wi‑Fi بالقرب من الشبكات المحفوظة العالية الجودة، مثل الشبكة المنزلية"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"غير متاحة نظرًا لإيقاف خدمة الموقع. فعِّل خدمة "<annotation id="link">"الموقع"</annotation>"."</string>
     <string name="wifi_wakeup_summary_scanning_disabled" msgid="1771489741850119751">"‏غير متاح لأن ميزة \"البحث عن شبكات Wi‑Fi\" غير مفعّلة"</string>
     <string name="wifi_wakeup_summary_scoring_disabled" msgid="3615120120960539780">"لاستخدام الميزة، اختر مقدِّم خدمة تقييم شبكة"</string>
@@ -901,7 +901,7 @@
     <string name="wifi_add_network" msgid="4178564862173751181">"إضافة شبكة"</string>
     <string name="wifi_configure_settings_preference_title" msgid="2536725796700696566">"‏إعدادات Wi-Fi"</string>
     <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="7822368955551467382">"‏ستتم إعادة تفعيل شبكة Wi‑Fi تلقائيًا"</string>
-    <string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="5710203586018223864">"‏لن تتم إعادة تشغيل اتّصال Wi‑Fi تلقائيًا"</string>
+    <string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="5710203586018223864">"‏لن تتم إعادة تفعيل اتّصال Wi‑Fi تلقائيًا"</string>
     <string name="wifi_access_points" msgid="5846755709207101844">"‏شبكات Wi-Fi"</string>
     <string name="wifi_menu_more_options" msgid="1236651929987819716">"مزيد من الخيارات"</string>
     <string name="wifi_menu_p2p" msgid="5234165837732940385">"‏اتصال Wi-Fi مباشر"</string>
@@ -918,7 +918,7 @@
     <string name="wifi_more" msgid="8742256421693351035">"المزيد"</string>
     <string name="wifi_setup_wps" msgid="4303694722593999931">"‏الإعداد التلقائي (WPS)"</string>
     <string name="wifi_settings_scanning_required_title" msgid="1088663325396007484">"‏هل تريد تفعيل ميزة \"البحث عن شبكات Wi‑Fi\"؟"</string>
-    <string name="wifi_settings_scanning_required_summary" msgid="4770243653675416569">"‏لتشغيل Wi‑Fi تلقائيًا، يجب أولاً تفعيل ميزة \"البحث عن شبكات Wi‑Fi\"."</string>
+    <string name="wifi_settings_scanning_required_summary" msgid="4770243653675416569">"‏لتفعيل Wi‑Fi تلقائيًا، يجب أولاً تفعيل ميزة \"البحث عن شبكات Wi‑Fi\"."</string>
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"‏تتيح ميزة \"البحث عن شبكات Wi‑Fi\" للتطبيقات والخدمات إمكانية البحث عن شبكات Wi‑Fi في أي وقت، حتى في حال عدم تفعيل Wi‑Fi. ويمكن استخدام هذه البيانات مثلاً لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"تفعيل"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏ميزة \"البحث عن شبكات Wi‑Fi\" مفعّلة"</string>
@@ -1168,7 +1168,7 @@
     <string name="wifi_calling_mode_wifi_preferred_summary" msgid="3240387177966098351">"‏إذا لم تكن شبكة Wi-Fi متاحة، يمكنك استخدام شبكة الجوّال."</string>
     <string name="wifi_calling_mode_cellular_preferred_summary" msgid="3746914244902314059">"‏إذا لم تكن شبكة الجوّال متاحة، يمكنك استخدام شبكة Wi-Fi."</string>
     <string name="wifi_calling_mode_wifi_only_summary" msgid="3155660680014892641">"‏يمكنك الاتصال عبر شبكة Wi-Fi. وإذا لم تكن متوفرة، سيتم إنهاء المكالمة."</string>
-    <string name="wifi_calling_off_explanation" msgid="6295526820826322895">"‏عند تشغيل الاتصال عبر Wi-Fi، يمكن للهاتف توجيه المكالمات عبر شبكة Wi-Fi أو عبر مشغّل شبكة الجوّال، حسب تفضيلك وحسب الإشارة الأقوى. وقبل تفعيل هذه الميزة، يُرجى مراجعة الرسوم  والتفاصيل الأخرى مع مشغّل شبكة الجوّال.<xliff:g id="ADDITIONAL_TEXT">%1$s</xliff:g>"</string>
+    <string name="wifi_calling_off_explanation" msgid="6295526820826322895">"‏عند تفعيل الاتصال عبر Wi-Fi، يمكن للهاتف توجيه المكالمات عبر شبكة Wi-Fi أو عبر مشغّل شبكة الجوّال، حسب تفضيلك وحسب الإشارة الأقوى. وقبل تفعيل هذه الميزة، يُرجى مراجعة الرسوم  والتفاصيل الأخرى مع مشغّل شبكة الجوّال.<xliff:g id="ADDITIONAL_TEXT">%1$s</xliff:g>"</string>
     <string name="wifi_calling_off_explanation_2" msgid="3487475808574416183"></string>
     <string name="emergency_address_title" msgid="3490633500025717573">"عنوان الطوارئ"</string>
     <string name="emergency_address_summary" msgid="3022628750270626473">"‏يتم اعتباره موقعك الجغرافي عند إجراء مكالمة طوارئ عبر Wi‑Fi"</string>
@@ -1176,7 +1176,7 @@
     <string name="private_dns_mode_on" msgid="8878679071975375696">"مفعَّل"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"الإعداد تحت إدارة مشغّل شبكة الجوّال"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"‏تفعيل الاتصال عبر Wi‑Fi"</string>
-    <string name="wifi_calling_turn_on" msgid="7687886259199428823">"‏تشغيل الاتصال عبر Wi-Fi"</string>
+    <string name="wifi_calling_turn_on" msgid="7687886259199428823">"‏تفعيل الاتصال عبر Wi-Fi"</string>
     <string name="wifi_calling_not_supported" msgid="3303917737849393175">"‏لا يوفّر مشغِّل شبكة الجوّال %1$s ميزة \"الاتصال عبر Wi-Fi\""</string>
     <string name="wifi_disconnected_from" msgid="5249576734324159708">"تم قطع الاتصال بشبكة <xliff:g id="SSID">%1$s</xliff:g>."</string>
     <string name="carrier" msgid="1755020806290963951">"مشغّل شبكة جوّال"</string>
@@ -1288,8 +1288,8 @@
     <string name="night_display_temperature_title" msgid="857248782470764263">"الكثافة"</string>
     <string name="night_display_summary_off" msgid="4676320734342206009">"غير مفعّل / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="7406899634169354142">"لن يتم تفعيل الميزة تلقائيًا على الإطلاق"</string>
-    <string name="night_display_summary_off_auto_mode_custom" msgid="6667008039080687931">"سيتم التشغيل تلقائيًا في <xliff:g id="ID_1">%1$s</xliff:g>"</string>
-    <string name="night_display_summary_off_auto_mode_twilight" msgid="3669132200611324994">"سيتم التشغيل تلقائيًا عند غروب الشمس"</string>
+    <string name="night_display_summary_off_auto_mode_custom" msgid="6667008039080687931">"سيتم التفعيل تلقائيًا في <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_off_auto_mode_twilight" msgid="3669132200611324994">"سيتم التفعيل تلقائيًا عند غروب الشمس"</string>
     <string name="night_display_summary_on" msgid="8932395375143965229">"تم التشغيل / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_never" msgid="832333009202889350">"لن يتم الإيقاف تلقائيًا مطلقًا"</string>
     <string name="night_display_summary_on_auto_mode_custom" msgid="2096677025343425755">"سيتم الإيقاف تلقائيًا عند الساعة <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -1689,7 +1689,7 @@
     <string name="master_clear_desc_also_erases_esim" msgid="6418163562288667727">"‏"<li>"شرائح eSIM"</li></string>
     <string name="master_clear_desc_no_cancel_mobile_plan" msgid="3112614935795369143">\n\n"لن يؤدي هذا إلى إلغاء خطة خدمة الجوّال."</string>
     <string name="master_clear_desc_erase_external_storage" product="nosdcard" msgid="7088655731755912201">"‏\n\nلمحو الموسيقى والصور وبيانات المستخدم الأخرى أيضًا، يجب محو "<b>"وحدة تخزين USB"</b>"."</string>
-    <string name="master_clear_desc_erase_external_storage" product="default" msgid="4145566517710675883">"‏\n\nلمحو الموسيقى والصور وبيانات المستخدم الأخرى أيضًا، يجب مسح "<b>"بطاقة SD"</b>"."</string>
+    <string name="master_clear_desc_erase_external_storage" product="default" msgid="4145566517710675883">"‏\n\nلمحو الموسيقى والصور وبيانات المستخدم الأخرى أيضًا، يجب محو "<b>"بطاقة SD"</b>"."</string>
     <string name="erase_external_storage" product="nosdcard" msgid="2182181846128639635">"‏محو وحدة تخزين USB"</string>
     <string name="erase_external_storage" product="default" msgid="2610056855012660451">"‏محو بطاقة SD"</string>
     <string name="erase_external_storage_description" product="nosdcard" msgid="6358699244894944843">"‏محو جميع البيانات على وحدة تخزين USB الداخلية، مثل الموسيقى أو الصور"</string>
@@ -1953,7 +1953,7 @@
     <string name="install_text" msgid="4558333621516996473">"تثبيت"</string>
     <string name="disable_text" msgid="5146002260857428005">"إيقاف"</string>
     <string name="enable_text" msgid="8570798764647110430">"تفعيل"</string>
-    <string name="clear_user_data_text" msgid="6773186434260397947">"مسح مساحة التخزين"</string>
+    <string name="clear_user_data_text" msgid="6773186434260397947">"محو مساحة التخزين"</string>
     <string name="app_factory_reset" msgid="8974044931667015201">"إزالة التحديثات"</string>
     <string name="auto_launch_enable_text" msgid="286244432074382294">"لقد اخترت تشغيل هذا التطبيق بشكل تلقائي لبعض الإجراءات."</string>
     <string name="always_allow_bind_appwidgets_text" msgid="2069415023986858324">"لقد اخترت السماح لهذا التطبيق بإنشاء الأدوات والوصول إلى بياناتها."</string>
@@ -1994,7 +1994,7 @@
     <string name="dlg_cancel" msgid="5164705061530774899">"إلغاء"</string>
     <string name="app_not_found_dlg_title" msgid="7122106240981109930"></string>
     <string name="app_not_found_dlg_text" msgid="8634675268730513704">"لم يتم العثور على التطبيق في قائمة التطبيقات المثبتة."</string>
-    <string name="clear_failed_dlg_text" msgid="6866741916836125732">"تعذّر مسح مساحة تخزين للتطبيق."</string>
+    <string name="clear_failed_dlg_text" msgid="6866741916836125732">"تعذّر محو مساحة تخزين للتطبيق."</string>
     <string name="join_two_items" msgid="7893073836681382429">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> و<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
     <string name="join_two_unrelated_items" msgid="5301233410730513655">"<xliff:g id="FIRST_ITEM">%1$s</xliff:g> و<xliff:g id="SECOND_ITEM">%2$s</xliff:g>"</string>
     <string name="computing_size" msgid="4915310659841174866">"جارٍ الحساب..."</string>
@@ -2724,7 +2724,7 @@
     <skip />
     <string name="battery_saver_seekbar_title_placeholder" msgid="7141264642540687540">"تفعيل"</string>
     <string name="battery_saver_master_switch_title" msgid="3474312070095834915">"استخدام الوضع \"توفير شحن البطارية\""</string>
-    <string name="battery_saver_turn_on_automatically_title" msgid="7857393318205740864">"التشغيل تلقائيًا"</string>
+    <string name="battery_saver_turn_on_automatically_title" msgid="7857393318205740864">"التفعيل تلقائيًا"</string>
     <string name="battery_saver_turn_on_automatically_never" msgid="6194649389871448663">"أبدًا"</string>
     <string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"البطارية عند مستوى <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
     <string name="battery_percentage" msgid="1779934245963043490">"نسبة شحن البطارية"</string>
@@ -2832,7 +2832,7 @@
     <string name="backup_erase_dialog_title" msgid="5892431263348766484"></string>
     <string name="backup_erase_dialog_message" msgid="2250872501409574331">"‏هل تريد إيقاف النسخ الاحتياطي لكلمات مرور Wi-Fi والإشارات المرجعية والإعدادات الأخرى وبيانات التطبيقات ومحو جميع النُسخ على خوادم Google؟"</string>
     <string name="fullbackup_erase_dialog_message" msgid="2379053988557486162">"‏هل تريد إيقاف الاحتفاظ بنسخة احتياطية من بيانات الجهاز (مثل كلمات مرور Wi-Fi وسجل المكالمات) وبيانات التطبيقات (مثل الإعدادات والملفات التي تخزنها التطبيقات) بالإضافة إلى محو بيانات جميع النسخ الموجودة على الخوادم البعيدة؟"</string>
-    <string name="fullbackup_data_summary" msgid="971587401251601473">"‏بإمكانك الاحتفاظ تلقائيًا بنسخة احتياطية من بيانات الجهاز (مثل كلمات مرور Wi-Fi وسجل المكالمات) وبيانات التطبيقات (مثل الإعدادات والملفات التي تخزنها التطبيقات) عن بُعد.\n\nعند تشغيل الاحتفاظ التلقائي بنسخة احتياطية، يتم بشكل دوري حفظ بيانات الجهاز وبيانات التطبيقات عن بُعد. ويمكن أن تكون بيانات التطبيقات أي بيانات تم حفظها في التطبيق (استنادًا إلى إعدادات مطور التطبيق) بما في ذلك البيانات المحتمل أن تكون حساسة مثل جهات الاتصال والرسائل والصور."</string>
+    <string name="fullbackup_data_summary" msgid="971587401251601473">"‏بإمكانك الاحتفاظ تلقائيًا بنسخة احتياطية من بيانات الجهاز (مثل كلمات مرور Wi-Fi وسجل المكالمات) وبيانات التطبيقات (مثل الإعدادات والملفات التي تخزنها التطبيقات) عن بُعد.\n\nعند تفعيل الاحتفاظ التلقائي بنسخة احتياطية، يتم بشكل دوري حفظ بيانات الجهاز وبيانات التطبيقات عن بُعد. ويمكن أن تكون بيانات التطبيقات أي بيانات تم حفظها في التطبيق (استنادًا إلى إعدادات مطور التطبيق) بما في ذلك البيانات المحتمل أن تكون حساسة مثل جهات الاتصال والرسائل والصور."</string>
     <string name="device_admin_settings_title" msgid="31392408594557070">"إعدادات مشرف الجهاز"</string>
     <string name="active_device_admin_msg" msgid="7744106305636543184">"تطبيق مشرف الجهاز"</string>
     <string name="remove_device_admin" msgid="3143059558744287259">"إيقاف تطبيق مشرف الجهاز"</string>
@@ -3254,6 +3254,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏الاتصال في وضع 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏استخدام خدمات LTE لتحسين الصوت والاتصالات الأخرى (مستحسن)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏استخدام خدمات 4G لتحسين الصوت والاتصالات الأخرى (مُستحسَن)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"التعرّف على جهة الاتصال التي تدعم الميزات"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"يسمح هذا الإعداد لمشغّل شبكة الجوّال بالتعرّف على ميزات الاتصال التي تدعمها جهات الاتصال."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"هل تريد تفعيل التعرّف على جهة الاتصال؟"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"سيسمح تفعيل هذه الميزة لمشغّل شبكة الجوّال بالوصول إلى أرقام الهواتف في جهات اتصالك ليتعرّف على ميزات الاتصال التي تدعمها جهات الاتصال."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"نوع الشبكة المفضّل"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (مستحسن)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"رسائل الوسائط المتعددة"</string>
@@ -4499,7 +4503,7 @@
     <string name="suggestion_additional_fingerprints" msgid="4726777300101156208">"إضافة بصمة إصبع أخرى"</string>
     <string name="suggestion_additional_fingerprints_summary" msgid="2825364645039666674">"فتح القفل باستخدام إصبع مختلف"</string>
     <string name="battery_saver_on_summary" msgid="4605146593966255848">"مفعّل"</string>
-    <string name="battery_saver_off_scheduled_summary" msgid="2193875981740829819">"سيتم التشغيل تلقائيًا عند الوصول إلى <xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="battery_saver_off_scheduled_summary" msgid="2193875981740829819">"سيتم التفعيل تلقائيًا عند الوصول إلى <xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="battery_saver_off_summary" msgid="4411561435493109261">"غير مفعّل"</string>
     <string name="battery_saver_button_turn_on" msgid="2206239048232352476">"التفعيل الآن"</string>
     <string name="battery_saver_button_turn_off" msgid="6371072408072481484">"إيقاف الميزة الآن"</string>
@@ -4798,7 +4802,7 @@
     <string name="storage_size_large_alternate" msgid="7555149858858591495">"<xliff:g id="NUMBER">^1</xliff:g>"<small>" "<font size="20">"<xliff:g id="UNIT">^2</xliff:g>"</font></small>""</string>
     <string name="storage_volume_total" msgid="7102720999351050601">"مساحة التخزين المستخدمة من أصل <xliff:g id="TOTAL">%1$s</xliff:g>"</string>
     <string name="storage_percent_full" msgid="7211888326013020857">"مستخدمة"</string>
-    <string name="clear_instant_app_data" msgid="5951258323364386357">"مسح التطبيق"</string>
+    <string name="clear_instant_app_data" msgid="5951258323364386357">"محو التطبيق"</string>
     <string name="clear_instant_app_confirmation" msgid="3964731334459209482">"هل تريد إزالة هذا التطبيق الفوري؟"</string>
     <string name="launch_instant_app" msgid="8503927414339606561">"فتح"</string>
     <string name="game_storage_settings" msgid="2521393115726178837">"الألعاب"</string>
@@ -4849,6 +4853,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"برنامج تشغيل رسومات النظام"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4879,6 +4884,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"المجموعة"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"تم اختيار جهاز واحد."</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"تم اختيار <xliff:g id="COUNT">%1$d</xliff:g> جهاز."</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"تلقي المكالمة على"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏لا يمكن تغيير اسم APN هذا."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"تحسين عمر بطارية الجهاز اللوحي"</string>
@@ -5000,10 +5007,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‏لا يمكن تفعيل أكثر من شريحة SIM واحدة تم تنزيلها في آن واحد.\n\nلن يؤدي اختيار <xliff:g id="CARRIER1">%1$s</xliff:g> كبديل إلى إلغاء خدمة <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"التبديل إلى <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏محو بيانات شريحة SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‏هل تريد محو بيانات شريحة SIM التي تم تنزيلها هذه؟"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‏سيؤدي محو بيانات شريحة SIM هذه إلى إزالة خدمة <xliff:g id="CARRIER_0">%1$s</xliff:g> من هذا الجهاز.\n\nلن يتم إلغاء خدمة <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"محو البيانات"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‏جارٍ محو بيانات شريحة SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‏يتعذّر محو بيانات شريحة SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‏يتعذّر محو بيانات شريحة SIM هذه بسبب خطأ.\n\nيمكنك إعادة تشغيل الجهاز والمحاولة مرة أخرى."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"نوع الشبكة المفضّل"</string>
@@ -5097,6 +5100,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"لقد ثبّت هذا التطبيق مؤخرًا."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"تبديل جهاز إخراج الصوت"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"يتمّ تشعيل الوسائط الآن على <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (غير متّصل)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"لا يمكن التبديل. انقر للمحاولة مرة أخرى."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"معلومات مهمة"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"متابعة"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"لا، شكرًا"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 67a7d02..f7585b0 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ৱাই-ফাই হ\'টস্প\'টৰ বাবে কমেও এটা বেণ্ড বাছনি কৰক:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"আইপি ছেটিংসমূহ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"গোপনীয়তা"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"ছাবস্ক্ৰিপশ্বন"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ছাবস্ক্ৰিপশ্বন চাওক অথবা সলনি কৰক"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"যাদৃচ্ছিক MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"এটা ডিভাইচ যোগ কৰক"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>”ৰ সৈতে সংযোগ কৰিবলৈ তলৰ কিউআৰ ক’ডটো কেমেৰা ৱিণ্ড’ৰ মাজত ৰাখক"</string>
@@ -3080,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G কলিং"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ধ্বনি আৰু অইন যোগাযোগ উন্নত কৰিবলৈ LTE সেৱা ব্যৱহাৰ কৰক (চুপাৰিছ কৰা হয়)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ভইচ কল আৰু অন্য যোগাযোগৰ সুবিধাসমূহ উন্নত কৰিবলৈ 4G সেৱাসমূহ ব্যৱহাৰ কৰক (চুপাৰিছ কৰা)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"অগ্ৰাধিকাৰপ্ৰাপ্ত নেটৱৰ্কৰ প্ৰকাৰ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (অনুমোদিত)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"এমএমএছ বাৰ্তা"</string>
@@ -4515,6 +4521,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ছিষ্টেম গ্ৰাফিক্স ড্ৰাইভাৰ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4552,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"গোট"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"১ টা বাছনি কৰা হ’ল"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> টা বাছনি কৰা হ’ল"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ইয়াৰ জৰিয়তে কলৰ প্ৰত্য়ুত্তৰ দিয়ক"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"এই APN সলনি কৰিব নোৱাৰি।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"টেবলেটৰ বেটাৰিৰ অৱস্থা উন্নত কৰক"</string>
@@ -4662,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"এটা সময়ত ডাউনল’ড কৰা এখন ছিমহে সক্ৰিয় কৰিব পাৰি। \n\n<xliff:g id="CARRIER1">%1$s</xliff:g>লৈ সলনি কৰিলে <xliff:g id="CARRIER2">%2$s</xliff:g> সেৱা বাতিল নহয়।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>লৈ সলনি কৰক"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ছিম মচক"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"এই ডাউনল’ড কৰা ছিমটো মচিবনে?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"এই ছিমটো আঁতৰালে এই ডিভাইচটোৰ পৰা <xliff:g id="CARRIER_0">%1$s</xliff:g> সেৱা আঁতৰোৱা হ’ব।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>ৰ সেৱা বাতিল কৰা নহয়।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"মচক"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ছিম মচি থকা হৈছে…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ছিম মচিব নোৱাৰি"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"এই ছিমটো কোনো অজ্ঞাত আসোঁৱাহৰ বাবে আঁতৰাব নোৱাৰি।\n\nআপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰি আকৌ চেষ্টা কৰক।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ প্ৰকাৰ"</string>
@@ -4747,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"আপুনি শেহতীয়াকৈ এই এপ্‌টো ইনষ্টল কৰিছে।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"আউটপুট সলনি কৰক"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"বৰ্তমান <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ত প্লে’ হৈ আছে"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"জৰুৰী তথ্য"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"অব্যাহত ৰাখক"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"নালাগে, ধন্যবাদ"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index f99a03a..55ff63d 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Zəngi"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Səs və digər kommunikasiyaları təkmilləşdirmək üçün LTE xidmətlərini işlədin (tövsiyə olunur)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Səs və digər kommunikasiyaları təkmilləşdirmək üçün 4G xidmətlərindən istifadə edin (tövsiyə olunur)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontakt kəşfi"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Opratorunuza kontaktlarınızın hansı zəng funksiyalarını dəstəklədiyini kəşf etmək imkanı verir."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kontakt kəşfi aktiv edilsin?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Bu funksiyanın aktivləşdirilməsi hansı zəng funksiyalarının dəstəkləndiyini kəşf etməsi üçün operatorunuza kontaktlardakı telefon nömrələrinə giriş imkanı verir."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tərcih edilən şəbəkə növü"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (məsləhətlidir)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS mesajları"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Qrafik Sistem Diski"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Qrup"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 cihaz seçilib"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> cihaz seçilib"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Zəng qəbul edin"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Bu APN-i dəyişmək mümkün deyil."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Planşetin batareya istifadəsini təkmilləşdirin"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Eyni vaxtda yalnız bir endirilmiş SIM aktiv ola bilər.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> operatoruna keçdikdə <xliff:g id="CARRIER2">%2$s</xliff:g> xidməti ləğv edilməyəcək."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> operatoruna keçin"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM-i silin"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Endirilən SIM silinsin?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Bu SIM silindikdə <xliff:g id="CARRIER_0">%1$s</xliff:g> xidməti bu cihazdan silinir.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> üçün xidmət ləğv edilməyəcək."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Silin"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM silinir…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM silinmədi"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Xəta baş verdiyinə görə bu SIM-i silmək mümkün deyil.\n\nCihazı yenidən başlatdıqdan sonra cəhd edin."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tərcih edilmiş şəbəkə növü"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Bu tətbiqi son vaxtlarda quraşdırmısıız."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Çıxış açarı"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Hazırda <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazında oxudulur"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (bağlantı kəsilib)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Dəyişmək olmur. Yenidən cəhd etmək üçün toxunun."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Vacib məlumat"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DAVAM EDİN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"XEYR, TƏŞƏKKÜRLƏR"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 1539558..f1b03b2 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -3122,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G pozivanje"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Korišćenje LTE usluga za poboljšanje glasovnih i drugih komunikacija (preporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Koristi 4G usluge za poboljšanje glasovne i druge komunikacije (preporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Otkrivanje kontakata"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Omogućava mobilnom operateru da otkrije koje funkcije pozivanja podržavaju vaši kontakti."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Želite li da omogućite otkrivanje kontakata?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ako omogućite ovu funkciju, mobilni operater će moći da pristupi brojevima telefona iz vaših kontakata da bi otkrio koje funkcije pozivanja podržavaju."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Željeni tip mreže"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (preporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS poruke"</string>
@@ -4597,6 +4601,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistemski upravljački program za grafiku"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4627,6 +4632,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Izabran je 1 uređaj"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Izabranih uređaja: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Menja se…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Preuzmi poziv"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Naziv pristupne tačke ne može da se menja."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Produžite trajanje baterije tableta"</string>
@@ -4745,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"U datom trenutku može da bude aktivna samo jedna SIM kartica.\n\nPrebacivanje na <xliff:g id="CARRIER1">%1$s</xliff:g> neće otkazati <xliff:g id="CARRIER2">%2$s</xliff:g> uslugu."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Pređi na <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Obriši SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Želite li da obrišete preuzeti SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Brisanjem ove SIM kartice uklonićete <xliff:g id="CARRIER_0">%1$s</xliff:g> uslugu sa ovog uređaja.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> usluga neće biti otkazana."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Obriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM se briše…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Brisanje SIM-a nije uspelo"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Ovaj SIM ne može da se obriše zbog greške.\n\nRestartujte uređaj i probajte ponovo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Željeni tip mreže"</string>
@@ -4833,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nedavno ste instalirali ovu aplikaciju."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Promenite izlaz"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutno se pušta na uređaju <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (veza je prekinuta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Prebacivanje nije uspelo. Probajte opet."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Važne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NASTAVI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 78e72cb..576d1ff 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Выклік у 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Карыстайцеся стандартам LTE, каб палепшыць якасць галасавога і іншых тыпаў сувязі (рэкамендуецца)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Карыстайцеся стандартам 4G, каб палепшыць якасць галасавога і іншых тыпаў сувязі (рэкамендуецца)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Атрыманне звестак пра кантакты"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Дазваляе аператару атрымліваць звесткі пра тое, якія функцыі выклікаў падтрымліваюць вашы кантакты."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Уключыць атрыманне звестак пра кантакты?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Уключэнне гэтай функцыі дазволіць вашаму аператару мець доступ да нумароў тэлефонаў вашых кантактаў, каб атрымліваць звесткі пра тое, якія функцыі выклікаў яны падтрымліваюць."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Прыярытэтны тып сеткі"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (рэкамендуецца)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-паведамленні"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Драйвер графічнай сістэмы"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Выбрана 1 прылада"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Выбрана прылад: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Адказаць"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Не ўдалося змяніць APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Як прадоўжыць час працы акумулятара планшэта"</string>
@@ -4830,10 +4837,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Нельга актываваць адначасова некалькі спампаваных SIM.\n\nПераключэнне на аператара \"<xliff:g id="CARRIER1">%1$s</xliff:g>\" не скасуе абслугоўванне ў аператара \"<xliff:g id="CARRIER2">%2$s</xliff:g>\"."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Пераключыцца на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Сцерці даныя SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Сцерці даныя гэтай спампаванай SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Сціранне даных гэтай SIM выдаляе з прылады магчымасць карыстацца паслугамі аператара \"<xliff:g id="CARRIER_0">%1$s</xliff:g>\".\n\nАбслугоўванне ў аператара \"<xliff:g id="CARRIER_1">%2$s</xliff:g>\" будзе працягнута."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Сцерці даныя"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Сціраюцца даныя SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не ўдалося сцерці даныя SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Памылка сцірання даных гэтай SIM.\n\nПеразапусціце прыладу і паўтарыце спробу."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Прыярытэтны тып сеткі"</string>
@@ -4921,6 +4924,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Вы нядаўна ўсталявалі гэту праграму."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Пераключыць вывад"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Зараз прайграецца на прыладзе <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (адключана)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Не ўдалося пераключыцца. Паўтарыце."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важная інфармацыя"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ПРАЦЯГНУЦЬ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, ДЗЯКУЙ"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index e8bbbc6..f42f4b2 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Обаждания през 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Използване на LTE услуги за подобряване на гласовите и други комуникации (препоръчително)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Използване на 4G услуги за подобряване на гласовите и други комуникации (препоръчително)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Анализ на контактите"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Дава възможност на оператора ви да открива кои са поддържаните от контактите ви функции за обаждане."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Да се активира ли анализът на контактите?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Активирането на тази функция ще даде възможност на оператора ви да осъществява достъп до телефонните номера в контактите ви, за да открие кои са поддържаните от тях функции за обаждане."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Предпочитан тип мрежа"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (препоръчително)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS съобщения"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системен графичен драйвер"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 избрано устройство"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> избрани устройства"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Превключва се…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Устройство за приемане на обаждането"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Това име на точката за достъп (APN) не може да бъде променено."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Подобряване на живота на батерията на таблета"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Само една изтеглена SIM карта може да бъде активна в даден момент.\n\nПревключването към <xliff:g id="CARRIER1">%1$s</xliff:g> няма да анулира услугата на <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Превключване към <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Изтриване на SIM картата"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Да се изтрие ли тази изтеглена SIM карта?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"С изтриването на тази SIM карта услугата на <xliff:g id="CARRIER_0">%1$s</xliff:g> се премахва от устройството.\n\nУслугата за <xliff:g id="CARRIER_1">%2$s</xliff:g> няма да бъде анулирана."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Изтриване"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM картата се изтрива…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM картата не може да се изтрие"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Тази SIM карта не може да бъде изтрита поради грешка.\n\nРестартирайте устройството си и опитайте отново."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Предпочитан тип мрежа"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Наскоро инсталирахте това приложение."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Превключване на изхода"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Понастоящем се възпроизвежда на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (връзката е прекратена)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Възникна грешка. Докоснете за нов опит."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важна информация"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"НАПРЕД"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, БЛАГОДАРЯ"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index c6e9452..339d6f8 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ওয়াই-ফাই হটস্পটের জন্য অন্তত একটি ব্যান্ড বেছে নিন:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP সেটিংস"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"গোপনীয়তা"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"সাবস্ক্রিপশন"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"সাবস্ক্রিপশন দেখুন বা পরিবর্তন করুন"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"র‍্যান্ডামাইজ করা MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"একটি ডিভাইস যোগ করুন"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>”-এর সাথে ডিভাইস যোগ করতে নিচে ডিভাইসের QR কোড মাঝখানে রাখুন"</string>
@@ -3080,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G কলিং"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ভয়েস ও অন্যান্য কমিউনিকেশনের উন্নতি করতে LTE পরিষেবা ব্যবহার করুন (সাজেস্ট করা হয়েছে)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ভয়েস ও অন্যান্য কমিউনিকেশনের উন্নতি করতে 4G পরিষেবা ব্যবহার করুন (সাজেস্ট করা হয়েছে)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"পছন্দের নেটওয়ার্ক"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (প্রস্তাবিত)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"এমএমএস মেসেজ"</string>
@@ -4515,6 +4521,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"সিস্টেম গ্রাফিক্স ড্রাইভার"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4552,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"গ্রুপ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"১টি ডিভাইস বেছে নেওয়া হয়েছে"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g>টি ডিভাইস বেছে নেওয়া হয়েছে"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"এতে কথা বলুন:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"এই APN পরিবর্তন করা যাবে না।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ট্যাবলেটের ব্যাটারি আরও বেশিক্ষণ চালান"</string>
@@ -4662,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"যেকোনও সময় শুধুমাত্র একটি ডাউনলোড করা সিম কাজ করবে।\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> পাল্টালে <xliff:g id="CARRIER2">%2$s</xliff:g>-এর পরিষেবা বাতিল হয়ে যাবে না।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>-এ পাল্টান"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"সিম মুছে ফেলুন"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"এই ডাউনলোড করা সিম মুছে ফেলতে চান?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"সিম মুছে দিলে এই ডিভাইসে <xliff:g id="CARRIER_0">%1$s</xliff:g>-এর পরিষেবা আর পাওয়া যাবে না।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-এর পরিষেবা কিন্তু বাতিল হবে না।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"মুছুন"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"সিম মোছা হচ্ছে…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"সিম মোছা যাচ্ছে না"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"কোনও সমস্যার জন্য এই সিম মোছা যাচ্ছে না।\n\nআপনার ডিভাইস আবার চালু করে চেষ্টা করুন।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"পছন্দের নেটওয়ার্ক"</string>
@@ -4747,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"এই অ্যাপ আপনি সম্প্রতি ইনস্টল করেছেন।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"আউটপুট পরিবর্তন করুন"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-এ চালানো হচ্ছে"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"গুরুত্বপূর্ণ তথ্য"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"চালিয়ে যান"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"না থাক"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 7ffc93a..7bd1ead 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -3122,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Pozivanje putem 4G mreže"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Koristite LTE usluge za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Koristite usluge 4G mreže za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Otkrivanje kontakata"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Omogućava mobilnom operateru da otkriva koje funkcije pozivanja kontakti podržavaju."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Omogućiti otkrivanje kontakata?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Omogućavanjem ove funkcije ćete dozvoliti mobilnom operateru da pristupa brojevima telefona u vašim kontaktima kako bi otkrio koje funkcije pozivanja podržavaju."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tip preferirane mreže"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (preporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS poruke"</string>
@@ -4597,6 +4601,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Drajver za grafiku sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4627,6 +4632,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 odabrani uređaj"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Broj odabranih uređaja: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Prebacivanje…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Primanje poziva"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ovaj APN se ne može promijeniti."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Poboljšanje trajanja baterije tableta"</string>
@@ -4745,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Aktivan može biti samo po jedan SIM.\n\nPrebacivanjem na operatera <xliff:g id="CARRIER1">%1$s</xliff:g> neće se otkazati usluga operatera <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Prebaci na operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Izbrisati ovaj preuzeti SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Brisanjem ovog SIM-a, s ovog uređaja će se ukloniti usluga operatera <xliff:g id="CARRIER_0">%1$s</xliff:g>.\n\nUsluga za operatera <xliff:g id="CARRIER_1">%2$s</xliff:g> neće se otkazati."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Izbriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Brisanje SIM-a…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nije moguće izbrisati SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Nije moguće izbrisati ovaj SIM zbog greške.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Vrsta preferirane mreže"</string>
@@ -4833,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nedavno ste instalirali ovu aplikaciju."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Prebacite izlaz"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutno se reproducira na uređaju <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (veza je prekinuta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nije mog. prebaciti. Dod. da pok. pon."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Važne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NASTAVI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index d76b4b7..7161f99 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1838,7 +1838,7 @@
     <string name="storage_label" msgid="2522307545547515733">"Emmagatzematge"</string>
     <string name="auto_launch_label" msgid="4069860409309364872">"Obrir de manera determinada"</string>
     <string name="auto_launch_label_generic" msgid="5033137408273064599">"Valors predeterminats"</string>
-    <string name="screen_compatibility_label" msgid="7549658546078613431">"Compatibilitat amb la pantalla"</string>
+    <string name="screen_compatibility_label" msgid="7549658546078613431">"Compatibilitat de la pantalla"</string>
     <string name="permissions_label" msgid="1708927634370314404">"Permisos"</string>
     <string name="cache_header_label" msgid="2441967971921741047">"Memòria cau"</string>
     <string name="clear_cache_btn_text" msgid="8597272828928143723">"Esborra memòria cau"</string>
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Trucades 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utilitza els serveis LTE per millorar la veu i la comunicació (opció recomanada)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utilitza els serveis 4G per millorar la veu i la comunicació (opció recomanada)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Detecció de contactes"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permet que el teu operador detecti quines funcions de trucada admeten els teus contactes."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vols activar la detecció de contactes?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Si actives aquesta funció, el teu operador tindrà accés als números de telèfon dels teus contactes per detectar quines funcions de trucada admeten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipus de xarxa preferent"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (opció recomanada)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Missatges MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador de gràfics del sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositiu seleccionat"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositius seleccionats"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"S\'està canviant…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Accepta la trucada a"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"No es pot canviar l\'APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Millora la durada de la bateria de la tauleta"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Només pot haver-hi una SIM baixada activa.\n\nSi canvies a <xliff:g id="CARRIER1">%1$s</xliff:g>, el teu servei <xliff:g id="CARRIER2">%2$s</xliff:g> no es cancel·larà."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Canvia a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Esborra la targeta SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vols esborrar la SIM que has baixat?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Si esborres aquesta targeta SIM, el servei <xliff:g id="CARRIER_0">%1$s</xliff:g> se suprimirà del dispositiu.\n\nEl servei <xliff:g id="CARRIER_1">%2$s</xliff:g> no es cancel·larà."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Esborra"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"S\'està esborrant la SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"No es pot esborrar la SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"No s\'ha pogut esborrar la targeta SIM a causa d\'un error.\n\nReinicia el dispositiu i torna-ho a provar."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipus de xarxa preferent"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Has instal·lat aquesta aplicació recentment."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Canvia la sortida"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"S\'està reproduint al dispositiu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconnectat)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"No es pot canviar. Torna-ho a provar."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informació important"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO, GRÀCIES"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 4ad0a5b..15e7192 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Volání přes síť 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Používat ke zlepšení hlasové a další komunikace služby LTE (doporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Používat ke zlepšení hlasové a další komunikace služby 4G (doporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Zjišťování kontaktů"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Povoluje operátorovi zjistit, které funkce volání vaše kontakty podporují."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Povolit zjišťování kontaktů?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Aktivací této funkce povolíte operátorovi přístup k telefonním číslům v kontaktech, aby mohl zjistit, které funkce volání podporují."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferovaný typ sítě"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (doporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Zprávy MMS"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Systémový ovladač grafiky"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Skupina"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Je vybráno 1 zařízení"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Vybraná zařízení: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Přijmout hovor v zařízení"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tento APN nelze změnit."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Zvyšte životnost baterie tabletu"</string>
@@ -4830,10 +4837,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"V jednu chvíli může být aktivní pouze jedna stažená SIM karta.\n\nPřepnutím na operátora <xliff:g id="CARRIER1">%1$s</xliff:g> nezrušíte službu <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Přepnout na síť <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vymazat SIM kartu"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vymazat staženou SIM kartu?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Když vymažete tuto SIM kartu, ze zařízení bude odebrána služba <xliff:g id="CARRIER_0">%1$s</xliff:g>.\n\nSlužba operátora <xliff:g id="CARRIER_1">%2$s</xliff:g> zrušena nebude."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Vymazat"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Mazání SIM karty…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM kartu nelze vymazat"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Tuto SIM kartu nelze vymazat z důvodu chyby.\n\nRestartujte zařízení a zkuste to znovu."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferovaný typ sítě"</string>
@@ -4921,6 +4924,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Tuto aplikaci jste nedávno nainstalovali."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Přepnout výstup"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Právě se přehrává na zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (odpojeno)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nelze přepnout. Klepnutím opakujte akci."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Důležité informace"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"POKRAČOVAT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, DĚKUJI"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 5266570..046fd81 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-opkald"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Anvend LTE-tjenester til at forbedre tale og anden kommunikation (anbefales)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Anvend 4G-tjenester til at forbedre tale og anden kommunikation (anbefales)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Funktionstjek for kontakter"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Giver dit mobilselskab mulighed for at se, hvilke opkaldsfunktioner dine kontakter kan bruge."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vil du aktivere funktionstjek for kontakter?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Hvis du aktiverer denne funktion, får dit mobilselskab adgang til dine kontakters telefonnumre for at se de understøttede opkaldsfunktioner."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Foretrukken netværkstype"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (anbefales)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-beskeder"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafikdriver til system"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Gruppér"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Der er valgt 1 enhed"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Der er valgt <xliff:g id="COUNT">%1$d</xliff:g> enheder"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Besvar opkald på"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Dette adgangspunkt kan ikke ændres."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Forlæng din tablets batteritid"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Der kan kun være ét downloadet SIM-kort ad gangen.\n\nSelvom du skifter til <xliff:g id="CARRIER1">%1$s</xliff:g>, opsiger det ikke din tjeneste fra <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Skift til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ryd SIM-kort"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vil du rydde dette downloadede SIM-kort?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Hvis du sletter dette SIM-kort, fjernes tjenesten fra <xliff:g id="CARRIER_0">%1$s</xliff:g> på denne enhed.\n\nTjenesten fra <xliff:g id="CARRIER_1">%2$s</xliff:g> opsiges ikke."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ryd"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Rydder SIM-kort…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM-kortet kan ikke ryddes"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Dette SIM-kort kan ikke ryddes på grund af en fejl.\n\nGenstart din enhed, og prøv igen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Foretrukken netværkstype"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du har installeret denne app for nylig."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Skift udgang"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Afspilles i øjeblikket på <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ingen forbindelse)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan ikke skifte. Tryk for at prøve igen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Vigtige oplysninger"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"FORTSÆT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEJ TAK"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f3e59d2..ec75ae3 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -3079,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-Anrufe"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Zur Verbesserung von Sprache und Kommunikation LTE-Dienste verwenden (empfohlen)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Zur Verbesserung von Sprache und Kommunikation 4G-Dienste verwenden (empfohlen)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontakterkennung"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Dadurch kann dein Mobilfunkanbieter prüfen, welche Anruffunktionen deine Kontakte unterstützen."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Die Funktion \"Kontakterkennung\" aktivieren?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Wenn du diese Funktion aktivierst, kann dein Mobilfunkanbieter auf die Telefonnummern in deinen Kontakten zugreifen, um zu prüfen, welche Anruffunktionen sie unterstützen."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Bevorzugter Netztyp"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (empfohlen)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS"</string>
@@ -4514,6 +4518,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafiktreiber des Systems"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4544,6 +4549,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Gruppe"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Ein Gerät ausgewählt"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> Geräte ausgewählt"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Anruf annehmen auf"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Dieser APN kann nicht geändert werden."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Akkulaufzeit des Tablets verbessern"</string>
@@ -4661,10 +4668,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Es kann immer nur eine heruntergeladene SIM aktiv sein.\n\nDurch Umschalten zu <xliff:g id="CARRIER1">%1$s</xliff:g> wird dein <xliff:g id="CARRIER2">%2$s</xliff:g>-Dienst nicht beendet."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Zu <xliff:g id="CARRIER">%1$s</xliff:g> wechseln"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM löschen"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Diese heruntergeladene SIM löschen?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Wenn du diese SIM löschst, wird der <xliff:g id="CARRIER_0">%1$s</xliff:g>-Dienst von diesem Gerät entfernt.\n\nDer Dienst für <xliff:g id="CARRIER_1">%2$s</xliff:g> wird nicht storniert."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Löschen"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM wird gelöscht…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM kann nicht gelöscht werden"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Diese SIM kann aufgrund eines Fehlers nicht gelöscht werden.\n\nStarte dein Gerät neu und versuche es noch einmal."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Bevorzugter Netztyp"</string>
@@ -4746,6 +4749,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du hast diese App kürzlich installiert."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Ausgabe wechseln"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Die Wiedergabe läuft derzeit auf <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (nicht verbunden)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Wechseln nicht möglich. Tippe, um es nochmals zu versuchen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Wichtige Informationen"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"WEITER"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEIN DANKE"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 31e3891..8b0f98a 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Κλήσεις 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Χρήση υπηρεσιών LTE για τη βελτίωση της φωνητικής επικοινωνίας και άλλων επικοινωνιών (συνιστάται)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Χρήση υπηρεσιών 4G για τη βελτίωση της φωνητικής επικοινωνίας και άλλων επικοινωνιών (συνιστάται)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Εντοπισμός επαφών"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Επιτρέπει τον εντοπισμό υποστηριζόμενων λειτουργιών των επαφών από την εταιρεία κινητής τηλεφωνίας."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ενεργοποίηση εντοπισμού επαφών;"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Η ενεργοποίηση αυτής της λειτουργίας θα επιτρέψει στην εταιρεία κινητής τηλεφωνίας σας να έχει πρόσβαση στους αριθμούς τηλεφώνου στις επαφές σας, προκειμένου να εντοπίζει τις λειτουργίες κλήσης που υποστηρίζουν."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Προτιμώμενος τύπος δικτύου"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (συνιστάται)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Μηνύματα MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Πρόγραμμα οδήγησης γραφικών συστήματος"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Ομάδα"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Επιλέχτηκε 1 συσκευή"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Επιλέχτηκαν <xliff:g id="COUNT">%1$d</xliff:g> συσκευές"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Εναλλαγή…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Αποδοχή κλήσης"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Δεν είναι δυνατή η αλλαγή αυτού του APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Βελτίωση διάρκειας ζωής μπαταρίας tablet"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Μόνο μία ληφθείσα SIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή στο δίκτυο <xliff:g id="CARRIER1">%1$s</xliff:g> δεν θα ακυρώσει την υπηρεσία <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Εναλλαγή σε <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Διαγραφή SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Διαγραφή αυτής της SIM της οποίας έγινε λήψη;"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Η διαγραφή αυτής της SIM καταργεί την υπηρεσία <xliff:g id="CARRIER_0">%1$s</xliff:g> από αυτήν τη συσκευή.\n\nΗ υπηρεσία για <xliff:g id="CARRIER_1">%2$s</xliff:g> δεν θα ακυρωθεί."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Διαγραφή"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Διαγραφή SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Δεν είναι δυνατή η διαγραφή της SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Δεν είναι δυνατή η διαγραφή της SIM λόγω ενός σφάλματος .\n\nΕπανεκκινήστε τη συσκευή σας και δοκιμάστε ξανά."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Προτιμώμενος τύπος δικτύου"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Εγκαταστήσατε πρόσφατα αυτήν την εφαρμογή."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Εναλλαγή εξόδου"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Παίζει τώρα στη συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (αποσυνδέθηκε)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Αδύνατη εναλλαγή. Πατήστε για επανάληψη."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Σημαντικές πληροφορίες"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ΣΥΝΕΧΕΙΑ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ΟΧΙ, ΕΥΧΑΡΙΣΤΩ"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 7e323d6..74d3a1e 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 520f1e5..b46069e 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 7e323d6..74d3a1e 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 9b6069b..db51bb6 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Calling"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Use LTE services to improve voice and other communications (recommended)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Use 4G services to improve voice and other communications (recommended)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Allows your operator to discover which calling features your contacts support."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Enable contact discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Enabling this feature will allow your operator access to phone numbers in your contacts in order to discover which calling features they support."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferred network type"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommended)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS messages"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System graphics driver"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Group"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device selected"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> devices selected"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Switching…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"This APN cannot be changed."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Improve tablet\'s battery life"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Only one downloaded SIM can be active at a time.\n\nSwitching to <xliff:g id="CARRIER1">%1$s</xliff:g> won\'t cancel your <xliff:g id="CARRIER2">%2$s</xliff:g> service."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Switch to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Delete this downloaded SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Erasing this SIM removes <xliff:g id="CARRIER_0">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_1">%2$s</xliff:g> won’t be cancelled."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Delete"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Erasing SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Can’t delete SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"This SIM can’t be deleted due to an error.\n\nRestart your device and try again."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"You recently installed this app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Switch output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Currently playing on <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnected)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Can’t switch. Tap to try again"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Important information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUE"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO THANKS"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 329408c..0796cb3 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎4G Calling‎‏‎‎‏‎"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‎Use LTE services to improve voice and other communications (recommended)‎‏‎‎‏‎"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎Use 4G services to improve voice and other communications (recommended)‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎Contact discovery‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎Allows your carrier to discover which calling features your contacts support.‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎Enable contact discovery?‎‏‎‎‏‎"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎Enabling this feature will allow your carrier access to phone numbers in your contacts in order to discover which calling features they support.‎‏‎‎‏‎"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎Preferred network type‎‏‎‎‏‎"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎LTE (recommended)‎‏‎‎‏‎"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎MMS messages‎‏‎‎‏‎"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎System Graphics Driver‎‏‎‎‏‎"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎Group‎‏‎‎‏‎"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‎‎‎1 device selected‎‏‎‎‏‎"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="COUNT">%1$d</xliff:g>‎‏‎‎‏‏‏‎ devices selected‎‏‎‎‏‎"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎Switching…‎‏‎‎‏‎"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎Take call on‎‏‎‎‏‎"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‎This APN cannot be changed.‎‏‎‎‏‎"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎Improve tablet\'s battery life‎‏‎‎‏‎"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎Only one downloaded SIM can be active at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching to ‎‏‎‎‏‏‎<xliff:g id="CARRIER1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won\'t cancel your ‎‏‎‎‏‏‎<xliff:g id="CARRIER2">%2$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎Switch to ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎Erase SIM‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎Erase this downloaded SIM?‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎Erasing this SIM removes ‎‏‎‎‏‏‎<xliff:g id="CARRIER_0">%1$s</xliff:g>‎‏‎‎‏‏‏‎ service from this device.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Service for ‎‏‎‎‏‏‎<xliff:g id="CARRIER_1">%2$s</xliff:g>‎‏‎‎‏‏‏‎ won’t be canceled.‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‎Erase‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎Erasing SIM…‎‏‎‎‏‎"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‎‏‏‎‎Can’t erase SIM‎‏‎‎‏‎"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎This SIM can’t be erased due to an error.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Restart your device and try again.‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‎Preferred network type‎‏‎‎‏‎"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎You recently installed this app.‎‏‎‎‏‎"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‎Switch output‎‏‎‎‏‎"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎Currently playing on ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ (disconnected)‎‏‎‎‏‎"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‎Can’t switch. Tap to try again.‎‏‎‎‏‎"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎Important information‎‏‎‎‏‎"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‎‎‎CONTINUE‎‏‎‎‏‎"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎NO THANKS‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 56be173..edf8800 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Llamadas mediante 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usa servicios de LTE para mejorar comunicaciones de voz y otras (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar servicios 4G para mejorar comunicaciones de voz y otras (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Descubrimiento de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que tu proveedor descubra qué funciones de llamadas admiten tus contactos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"¿Deseas habilitar el descubrimiento de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Si habilitas esta función, se permitirá que tu proveedor acceda a los números de teléfono de tus contactos para descubrir qué funciones de llamadas admiten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de red preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensajes MMS"</string>
@@ -4511,6 +4515,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador gráfico del sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4541,6 +4546,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Se seleccionó 1 dispositivo"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Se seleccionaron <xliff:g id="COUNT">%1$d</xliff:g> dispositivos"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender llamada en"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"No se puede cambiar este APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Mejorar duración de la batería de la tablet"</string>
@@ -4658,10 +4665,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Solo puede activarse una sola tarjeta SIM descargada a la vez.\n\nSi cambias a <xliff:g id="CARRIER1">%1$s</xliff:g> no se cancelará el servicio de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Cambiar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar tarjeta SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"¿Quieres borrar esta tarjeta SIM descargada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Si borras esta tarjeta SIM, se quitará el servicio de <xliff:g id="CARRIER_0">%1$s</xliff:g> de este dispositivo.\n\nSin embargo, no se cancelará el servicio de <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Borrar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Borrando SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"No se puede borrar la tarjeta SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"No es posible borrar esta tarjeta SIM debido a un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de red preferido"</string>
@@ -4743,6 +4746,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Instalaste esta app recientemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambiar de salida"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Reproduciendo en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Error: Presiona, y vuelve a intentarlo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Información importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO, GRACIAS"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 04c3b0e..3144ac7 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Llamadas 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usar servicios LTE para mejorar la voz y otras comunicaciones (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar servicios 4G para mejorar la voz y otras comunicaciones (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Detección de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que tu operador detecte qué funciones de llamada admiten tus contactos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"¿Quieres habilitar la detección de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Si habilitas esta función, tu operador podrá acceder a los números de teléfono de tus contactos para detectar qué funciones de llamada admiten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de red preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensajes MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador de gráficos del sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo seleccionado"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos seleccionados"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Cambiando…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender llamada en"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"No se puede cambiar este APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Mejorar duración de la batería del tablet"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Sólo una tarjeta SIM descargada puede estar activa a la vez.\n\nCambiar a <xliff:g id="CARRIER1">%1$s</xliff:g> no cancelará tu servicio de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Cambiar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"¿Quieres borrar esta SIM descargada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Al borrar esta SIM, se quitará el servicio de <xliff:g id="CARRIER_0">%1$s</xliff:g> en este dispositivo.\n\nNo se cancelará el servicio de <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Borrar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Borrando SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"No se puede borrar la SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"No se puede eliminar esta SIM debido a un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferencia de tipo de red"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Has instalado esta aplicación recientemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambiar salida"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Reproduciendo contenido en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"No se puede cambiar; toca para reintentar."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Información importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO, GRACIAS"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index a19689e..d72c49f 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-helistamine"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Parema hääl- ja muu side kvaliteedi tagamiseks LTE-teenuste kasutamine (soovitatav)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Parema hääl- ja muu side kvaliteedi tagamiseks 4G-teenuste kasutamine (soovitatav)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktide teabe uurimine"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Võimaldab operaatoril välja uurida, milliseid helistamisfunktsioone kontaktide seadmed toetavad."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kas lubada kontaktide teabe uurimine?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Selle funktsiooni lubamisel pääseb operaator juurde teie kontaktide telefoninumbritele, et välja uurida, milliseid helistamisfunktsioone nende seadmed toetavad."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Eelistatud võrgutüüp"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (soovitatav)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Multimeediumsõnumid"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Süsteemi graafikadraiver"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupp"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 seade on valitud"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> seadet on valitud"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Vahetamine …"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Vasta kõnele seadmes"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Seda APN-i ei saa muuta."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Parandage tahvelarvuti aku tööiga"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Korraga saab aktiivne olla vaid üks allalaaditud SIM-kaart.\n\nOperaatori <xliff:g id="CARRIER1">%1$s</xliff:g> aktiveerimisel ei tühistata operaatori <xliff:g id="CARRIER2">%2$s</xliff:g> teenust."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Aktiveeri <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Kustuta SIM-kaart"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Kas soovite allalaaditud SIM-kaardi kustutada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"SIM-kaardi kustutamisel eemaldatakse seadmest operaatori <xliff:g id="CARRIER_0">%1$s</xliff:g> teenus.\n\nOperaatori <xliff:g id="CARRIER_1">%2$s</xliff:g> teenust ei tühistata."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Kustuta"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM-kaardi kustutamine …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM-kaarti ei saa kustutada"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Seda SIM-kaarti ei saa vea tõttu kustutada.\n\nTaaskäivitage seade ja proovige uuesti."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Eelistatud võrgutüüp"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Installisite selle rakenduse hiljuti."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Väljundi vahetamine"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Praegu seadmes <xliff:g id="DEVICE_NAME">%1$s</xliff:g> esitamisel"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (pole ühendatud)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ei saa lülitada. Puudutage, et uuesti proovida."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Oluline teave"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"JÄTKA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"EI, TÄNAN"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 3d9b6d3..432fbdd 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -79,9 +79,9 @@
     <string name="bluetooth_disconnect_all_profiles" product="tablet" msgid="336622948210457991">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailutik deskonektatuko da tableta."</string>
     <string name="bluetooth_disconnect_all_profiles" product="device" msgid="6944790936166852428">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailutik deskonektatuko da gailua."</string>
     <string name="bluetooth_disconnect_dialog_ok" msgid="4173740094381092185">"Deskonektatu"</string>
-    <string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Ez daukazu Bluetooth ezarpenak aldatzeko baimenik."</string>
+    <string name="bluetooth_empty_list_user_restricted" msgid="909734990821975673">"Ez daukazu Bluetooth-aren ezarpenak aldatzeko baimenik."</string>
     <string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Parekatu gailu batekin"</string>
-    <string name="bluetooth_is_visible_message" msgid="3811631869768157387">"Bluetooth ezarpenak irekita badaude, inguruko gailuek <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ikusi ahal izango dute."</string>
+    <string name="bluetooth_is_visible_message" msgid="3811631869768157387">"Bluetooth-aren ezarpenak irekita badaude, inguruko gailuek <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ikusi ahal izango dute."</string>
     <string name="bluetooth_footer_mac_message" product="default" msgid="4782330594323261630">"Telefonoaren Bluetooth helbidea: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_footer_mac_message" product="tablet" msgid="1257226691967432025">"Tabletaren Bluetooth helbidea: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_footer_mac_message" product="device" msgid="2863536947810007600">"Gailuaren Bluetooth helbidea: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
@@ -112,10 +112,10 @@
     <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="934276632311449337">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak Bluetooth konexioa aktibatu eta telefonoa beste gailu batzuen aurrean ikusgai ezarri nahi du <xliff:g id="TIMEOUT">%2$d</xliff:g> segundoz."</string>
     <string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="1284048348024444485">"Aplikazio batek Bluetooth konexioa aktibatu eta tableta beste gailu batzuen aurrean ikusgai ezarri nahi du <xliff:g id="TIMEOUT">%1$d</xliff:g> segundoz."</string>
     <string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="2661614145022629454">"Aplikazio batek Bluetooth konexioa aktibatu eta telefonoa beste gailu batzuen aurrean ikusgai ezarri nahi du <xliff:g id="TIMEOUT">%1$d</xliff:g> segundoz."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="8588317955400593623">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak Bluetooth konexioa aktibatu eta tableta beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth ezarpenetan alda dezakezu hori geroago."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="4047444317445386579">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak Bluetooth konexioa aktibatu eta telefonoa beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth ezarpenetan alda dezakezu hori geroago."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="4922952478824372605">"Aplikazio batek Bluetooth konexioa aktibatu eta tableta beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth ezarpenetan alda dezakezu hori geroago."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="1381582950049639439">"Aplikazio batek Bluetooth konexioa aktibatu eta telefonoa beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth ezarpenetan alda dezakezu hori geroago."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="8588317955400593623">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak Bluetooth konexioa aktibatu eta tableta beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth-aren ezarpenetan alda dezakezu hori geroago."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="4047444317445386579">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak Bluetooth konexioa aktibatu eta telefonoa beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth-aren ezarpenetan alda dezakezu hori geroago."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="4922952478824372605">"Aplikazio batek Bluetooth konexioa aktibatu eta tableta beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth-aren ezarpenetan alda dezakezu hori geroago."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="1381582950049639439">"Aplikazio batek Bluetooth konexioa aktibatu eta telefonoa beste gailu batzuen aurrean ikusgai ezarri nahi du. Bluetooth-aren ezarpenetan alda dezakezu hori geroago."</string>
     <string name="bluetooth_turning_on" msgid="3842613808709024730">"Bluetooth-a aktibatzen…"</string>
     <string name="bluetooth_turning_off" msgid="7406309124247701148">"Bluetooth-a desaktibatzen…"</string>
     <string name="bluetooth_connection_permission_request" msgid="8793131019383198861">"Bluetooth bidez konektatzeko eskaera"</string>
@@ -2260,7 +2260,7 @@
     <string name="captioning_foreground_opacity" msgid="1395843080697567189">"Testuaren opakutasuna"</string>
     <string name="captioning_edge_color" msgid="6035818279902597518">"Ertzen kolorea"</string>
     <string name="captioning_edge_type" msgid="5281259280060811506">"Ertz mota"</string>
-    <string name="captioning_typeface" msgid="285325623518361407">"Letra-tipoaren familia"</string>
+    <string name="captioning_typeface" msgid="285325623518361407">"Letra-familia"</string>
     <string name="captioning_preview_text" msgid="4973475065545995704">"Azpitituluek itxura hau izango dute"</string>
     <string name="captioning_preview_characters" msgid="7854812443613580460">"Aa"</string>
     <string name="locale_default" msgid="8948077172250925164">"Lehenetsia"</string>
@@ -2503,7 +2503,7 @@
     <string name="battery_action_app_settings" msgid="2437124469335488464">"Aplikazioaren ezarpenak"</string>
     <string name="battery_action_display" msgid="6515712081248863749">"Pantailaren ezarpenak"</string>
     <string name="battery_action_wifi" msgid="1829212604573932607">"Wi‑Fi ezarpenak"</string>
-    <string name="battery_action_bluetooth" msgid="4723692623358386789">"Bluetooth ezarpenak"</string>
+    <string name="battery_action_bluetooth" msgid="4723692623358386789">"Bluetooth-aren ezarpenak"</string>
     <string name="battery_desc_voice" msgid="6900799826084022585">"Ahots-deiek erabilitako bateria"</string>
     <string name="battery_desc_standby" product="tablet" msgid="5818742458684767043">"Tableta inaktibo dagoenean erabilitako bateria"</string>
     <string name="battery_desc_standby" product="default" msgid="2543075041964578103">"Telefonoa inaktibo dagoenean erabilitako bateria"</string>
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G bidezko deiak"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Erabili LTE zerbitzuak ahotsa eta bestelako komunikazioak hobetzeko (gomendatua)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Erabili 4G bidezko zerbitzuak ahotsa eta bestelako komunikazioak hobetzeko (gomendatua)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktuak ikusteko aukera"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Zure kontaktuekin erabil daitezkeen dei-eginbideak ikusteko aukera ematen du horrek."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kontaktuak ikusteko aukera eman nahi duzu?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Eginbide hau gaituz gero, operadoreak zure kontaktuetako telefono-zenbakiak atzitu ahalko ditu, deiak egiteko zein eginbide erabil daitezkeen ikusteko."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Sare mota lehenetsia"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (gomendatua)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS mezuak"</string>
@@ -3240,9 +3244,9 @@
     <string name="keywords_zen_mode_settings" msgid="7810203406522669584">"ez molestatu, ordutegia, programazioa, jakinarazpenak, blokeatu, isilik, dardara, inaktibo ezarri, lantokia, arreta, soinua, desaktibatu audioa, eguna, asteguna, asteburua, asteguneko gaua, gertaera"</string>
     <string name="keywords_screen_timeout" msgid="8921857020437540572">"pantaila, blokeatzeko denbora, denbora-muga, pantaila blokeatua"</string>
     <string name="keywords_storage_settings" msgid="6018856193950281898">"memoria, cachea, datuak, ezabatu, garbitu, tokia egin, tokia"</string>
-    <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"konektatuta, gailua, aurikularrak, entzungailua, bozgorailua, hari gabekoak, parekatu, aurikular euskarridunak, musika, multimedia-edukia"</string>
+    <string name="keywords_bluetooth_settings" msgid="2588159530959868188">"konektatuta, gailua, aurikularrak, entzungailua, bozgorailua, hari gabekoak, parekatu, musika, multimedia-edukia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"atzeko planoa, pantaila, pantaila blokeatua, gaia"</string>
-    <string name="keywords_styles" msgid="6312134005271042434">"ikonoaren forma, nabarmentzeko kolorea, letra-tipoa"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikonoaren forma, nabarmentzeko kolorea, letra"</string>
     <string name="keywords_assist_input" msgid="3086289530227075593">"lehenetsia, laguntzailea"</string>
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"ordaindu, lehenetsia"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"jasotako jakinarazpena"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistemaren grafikoen kontrolatzailea"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Taldea"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 gailu hautatu da"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> gailu hautatu dira"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Erantzun deiei hemen:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ezin da aldatu APNa."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Hobetu tabletaren bateriaren iraupena"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Deskargatutako SIM txartel bakarra aktiba daiteke aldiko.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> operadorera aldatuta ere ez da bertan behera utziko <xliff:g id="CARRIER2">%2$s</xliff:g> zerbitzua."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Aldatu <xliff:g id="CARRIER">%1$s</xliff:g> operadorera"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ezabatu SIM txarteleko eduki guztia"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Deskargatutako SIM txartel honetako eduki guztia ezabatu?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"SIM txartel honetako eduki guztia ezabatuz gero, <xliff:g id="CARRIER_0">%1$s</xliff:g> operadorearen zerbitzua kenduko da gailu honetatik.\n\nEz da utziko bertan behera <xliff:g id="CARRIER_1">%2$s</xliff:g> operadorearen zerbitzua."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ezabatu eduki guztia"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM txarteleko eduki guztia ezabatzen…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Ezin da ezabatu SIM txartela"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Ezin da ezabatu SIM txarteleko eduki guztia errore bat gertatu delako.\n\nBerrabiarazi gailua eta saiatu berriro."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Sare mota lehenetsia"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Duela gutxi instalatu duzu aplikazio hau"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Aldatu irteera"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuan erreproduzitzen"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (deskonektatuta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ezin da aldatu. Berriro saiatzeko, sakatu hau."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informazio garrantzitsua"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"AURRERA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"EZ, ESKERRIK ASKO"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 4a76124..1767cc6 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏تماس 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏استفاده از سرویس‌های LTE جهت بهبود ارتباطات صوتی و سایر ارتباطات (توصیه می‌شود)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏استفاده از سرویس‌های 4G برای بهبود صدا و سایر ارتباطات (توصیه می‌شود)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"کاوش مخاطب"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"به شرکت مخابراتی‌تان اجازه می‌دهد کاوش کند مخاطبینتان از کدام ویژگی‌های تماس پشتیبانی می‌کنند."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"«کاوش مخاطب» فعال شود؟"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"فعال کردن این ویژگی به شرکت مخابراتی‌تان اجازه می‌دهد به شماره‌های تلفن مخاطبینتان دسترسی داشته باشد تا کاوش کند مخاطبینتان از کدام ویژگی‌های تماس پشتیبانی می‌کنند."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"نوع شبکه ترجیحی"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (توصیه می‌شود)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"فراپیام"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"درایور گرافیک سیستم"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"گروه"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"۱ دستگاه انتخاب شد"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> دستگاه انتخاب شد"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"دریافت تماس با"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏این APN قابل‌تغییر نیست."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"بهبود عمر باتری رایانه لوحی"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"هربار فقط یک سیم‌کارت بارگیری‌شده می‌تواند فعال شود.\n\nبا انتقال به <xliff:g id="CARRIER1">%1$s</xliff:g>، سرویس <xliff:g id="CARRIER2">%2$s</xliff:g> لغو نمی‌شود."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"رفتن به <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"پاک‌سازی سیم‌کارت"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"این سیم‌کارت بارگیری‌شده پاک‌سازی شود؟"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"با پاک‌سازی این سیم‌کارت، سرویس <xliff:g id="CARRIER_0">%1$s</xliff:g> از این دستگاه برداشته می‌شود.\n\nسرویس مربوط به <xliff:g id="CARRIER_1">%2$s</xliff:g> لغو نمی‌شود."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"پاک‌سازی"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"درحال پاک‌سازی سیم‌کارت…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"سیم‌کارت پاک‌سازی نشد"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"به‌دلیل بروز خطا، این سیم‌کارت پاک‌سازی نشد.\n\nدستگاه را بازراه‌اندازی کنید و دوباره امتحان کنید."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"نوع شبکه برگزیده"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"این برنامه را اخیراً نصب کرده‌اید."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"تغییر خروجی"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"درحال‌حاضر در <xliff:g id="DEVICE_NAME">%1$s</xliff:g> درحال پخش است"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (اتصال قطع شد)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"عوض نمی‌شود. برای امتحان مجدد ضربه بزنید."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"اطلاعات مهم"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ادامه"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"نه متشکرم"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 2f7540d..62182f0 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-puhelut"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Käytä LTE-palveluita puheviestinnän ja muiden viestintätapojen parantamiseen (suositeltu)."</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Käytä 4G-palveluita puheviestinnän ja muiden viestintätapojen parantamiseen (suositeltu)."</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktihaku"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Sallii operaattorin selvittää, mitä puheluominaisuuksia kontaktisi tukevat."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Otetaanko kontaktihaku käyttöön?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Tämän ominaisuuden käyttöön ottaminen sallii operaattorille pääsyn kontaktien puhelinnumeroihin tuettujen puheluominaisuuksien selvittämistä varten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Ensisijainen verkko"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (suositus)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-viestit"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Järjestelmän grafiikkaohjain"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Ryhmä"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 laite valittu"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> laitetta valittu"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Vaihdetaan…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Vastaa puheluun:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tätä APN:ää ei voi muuttaa."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Paranna tabletin akunkestoa"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vain yksi ladattu SIM-kortti voi olla kerrallaan aktiivinen.\n\nVanhaa palvelua (<xliff:g id="CARRIER2">%2$s</xliff:g>) ei peruuteta, jos <xliff:g id="CARRIER1">%1$s</xliff:g> otetaan käyttöön."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Vaihda: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Tyhjennä SIM-kortti"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Tyhjennetäänkö ladattu SIM-kortti?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Tämän SIM-kortin tyhjentäminen poistaa palvelun (<xliff:g id="CARRIER_0">%1$s</xliff:g>) laitteelta.\n\nPalvelua (<xliff:g id="CARRIER_1">%2$s</xliff:g>) ei peruuteta."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Tyhjennä"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Tyhjennetään SIM-korttia…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM-korttia ei voi tyhjentää"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM-korttia ei voi tyhjentää virheen vuoksi.\n\nKäynnistä laite uudelleen ja yritä sitten uudelleen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ensisijainen verkko"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Asensit tämän sovelluksen äskettäin."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Vaihda syötettä"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Toistetaan nyt: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (yhteys katkaistu)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ei voi vaihtaa. Yritä uudelleen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Tärkeää tietoa"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"JATKA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"EI KIITOS"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index fd4ae4a..0f044d6 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Choisissez au moins une bande pour le point d\'accès Wi-Fi :"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"Paramètres IP"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Confidentialité"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"Abonnement"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Affichez ou modifiez l\'abonnement"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"Adresse MAC aléatoire"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Ajouter un appareil"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Centrez le code QR ci-dessous pour ajouter l\'appareil à « <xliff:g id="SSID">%1$s</xliff:g> »"</string>
@@ -3080,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Appels 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utiliser les services LTE pour améliorer les communications vocales et autres (recommandé)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utiliser les services 4G pour améliorer les communications vocales et autres (recommandé)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Analyse des contacts"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permet à votre fourn. de serv. d\'analyser quelles fonct. d\'appels vos contacts prennent en charge."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Activer l\'analyse des contacts?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"En activant cette fonction, vous autorisez votre fournisseur de services d\'accéder aux numéros de téléphone dans vos contacts afin d\'analyser quelles fonctionnalités d\'appels ils prennent en charge."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Type de réseau préféré"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommandé)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Messages multimédias"</string>
@@ -4515,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Pilote graphique du système"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Groupe"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Un appareil sélectionné"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> appareils sélectionnés"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Répondre à l\'appel sur"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Impossible de modifier ce nom de point d\'accès."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Améliorer l\'autonomie de la tablette"</string>
@@ -4662,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Une seule carte SIM téléchargée peut être active à la fois.\n\nLe fait de passer au réseau de <xliff:g id="CARRIER1">%1$s</xliff:g> n\'annulera pas votre service auprès de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Passer au réseau de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Effacer la carte SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Effacer cette carte SIM téléchargée?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Si vous effacez cette carte SIM, le service de <xliff:g id="CARRIER_0">%1$s</xliff:g> sera supprimé de cet appareil.\n\nLe service de <xliff:g id="CARRIER_1">%2$s</xliff:g> ne sera pas annulé."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Effacer"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Effacement de la carte SIM en cours…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Impossible d\'effacer la carte SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Cette carte SIM ne peut pas être effacée en raison d\'une erreur.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Type de réseau préféré"</string>
@@ -4747,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Vous avez récemment installé cette application."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Changer de sortie"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"En cours de lecture sur l\'appareil <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (déconnecté)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Chang. impossible. Touchez pour réessayer."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Renseignements importants"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUER"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NON MERCI"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index fddb4c7..d36f577 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Appel en 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utiliser les services LTE pour améliorer les communications vocales et autres (recommandé)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utiliser les services 4G pour améliorer les communications vocales et autres (recommandé)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Découverte des contacts"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permet à l\'opérateur de savoir avec quelles fonctionnalités d\'appel vos contacts sont compatibles."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Activer la découverte des contacts ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"L\'activation de cette fonctionnalité permettra à votre opérateur d\'accéder aux numéros de téléphone de vos contacts afin de savoir avec quelles fonctionnalités d\'appel ils sont compatibles."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Type de réseau préféré"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recommandé)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Pilote graphique du système"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Groupe"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 appareil sélectionné"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> appareils sélectionnés"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Changement…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Accepter l\'appel sur"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Impossible de modifier cet APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Améliorer autonomie de batterie de la tablette"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vous ne pouvez activer qu\'une seule carte SIM téléchargée à la fois.\n\nBasculer sur l\'opérateur <xliff:g id="CARRIER1">%1$s</xliff:g> n\'annulera pas votre service <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Basculer vers le réseau <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Effacer une carte SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Effacer cette carte SIM téléchargée ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"L\'effacement de cette carte SIM va supprimer le service <xliff:g id="CARRIER_0">%1$s</xliff:g> de cet appareil.\n\nLe service pour <xliff:g id="CARRIER_1">%2$s</xliff:g> ne sera pas annulé."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Effacer"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Effacement de la carte SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Impossible d\'effacer la carte SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Une erreur empêche l\'effacement de cette carte SIM.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Type de réseau préféré"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Vous avez installé cette application récemment."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Changer de sortie"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"En cours de lecture sur <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (déconnecté)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Changement impossible. Appuyez pour réessayer."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informations importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUER"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NON MERCI"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index c1c6505..5233a76 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamadas a través de 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usa os servizos LTE para mellorar a comunicación por voz e outras (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usa os servizos 4G para mellorar a comunicación por voz e outras (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Detección de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que o teu operador detecte as funcións de chamada que admiten os teus contactos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Queres activar a detección de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ao activar esta función, o teu operador poderá acceder aos números de teléfono dos teus contactos para detectar as funcións de chamada que admiten."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensaxes MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador de gráficos do sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Seleccionouse 1 dispositivo"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Seleccionáronse <xliff:g id="COUNT">%1$d</xliff:g> dispositivos"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Responder chamada en"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Este APN non se pode cambiar."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Mellora a vida útil da batería da tableta"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Non se poden ter activadas varias SIM descargadas á vez.\n\nAo cambiar a <xliff:g id="CARRIER1">%1$s</xliff:g> non se cancelará o teu servizo de <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Cambiar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Queres borrar esta SIM descargada?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ao borrar esta SIM, quitarase o servizo de <xliff:g id="CARRIER_0">%1$s</xliff:g> deste dispositivo.\n\nNon se cancelará o servizo de <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Borrar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Borrando SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Non se puido borrar a SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Esta SIM non se puido borrar debido a un erro.\n\nReinicia o dispositivo e téntao de novo."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferido"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Instalaches esta aplicación recentemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambiar saída"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Reproducindo contido actualmente en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (dispositivo desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Cambio imposible. Toca e téntao de novo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Información importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NON, GRAZAS"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index bb0a2d6..bd66650 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"વાઇ-ફાઇ હૉટસ્પૉટ માટે ઓછામાં ઓછું એક બેન્ડ પસંદ કરો:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP સેટિંગ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"પ્રાઇવસી"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"સબ્સ્ક્રિપ્શન"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"સબ્સ્ક્રિપ્શન જુઓ અથવા બદલો"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"રેન્ડમ કરેલ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ડિવાઇસ ઉમેરો"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ડિવાઇસને “<xliff:g id="SSID">%1$s</xliff:g>” પર ઉમેરવા માટે QR કોડને નીચેની બાજુએ વચ્ચે રાખો"</string>
@@ -3080,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G કૉલિંગ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"વૉઇસ અને અન્ય સંચારોને વધુ સારા બનાવવા માટે LTE સેવાઓનો ઉપયોગ કરો (ભલામણ કરેલ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"વૉઇસ અને અન્ય સંચારોને વધુ સારા બનાવવા માટે 4G સેવાઓનો ઉપયોગ કરો (ભલામણ કરેલ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"સંપર્ક શોધી શકવાની ક્ષમતા"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"આ કૉલની કઈ સુવિધાઓને તમારા સંપર્કો સપોર્ટ આપી શકશે, જાણવાની મંજૂરી તમારા કૅરિઅરને આપે છે."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"સંપર્ક શોધી શકવાની ક્ષમતા ચાલુ કરીએ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"આ સુવિધાને ચાલુ કરવાથી, તમારા સંપર્કોના ફોન નંબર ઍક્સેસ કરવાની તમારા કૅરિઅરને મંજૂરી મળશે જેથી તમારા સંપર્કોના ડિવાઇસ કૉલની કઈ સુવિધાઓને સપોર્ટ કરી શકશે તે તમારા કૅરિઅર જાણી શકશે."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ભલામણ કરેલ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS સંદેશા"</string>
@@ -4515,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"સિસ્ટમ ગ્રાફિક્સ ડ્રાઇવર"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ગ્રૂપ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ડિવાઇસ પસંદ કર્યું"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ડિવાઇસ પસંદ કર્યા"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"હૅન્ડ્સ ફ્રી પર કૉલ લો"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"આ APN બદલી શકાતું નથી."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ટૅબ્લેટની બૅટરી આવરદા સુધારો"</string>
@@ -4662,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"એક સમયે ડાઉનલોડ કરેલું માત્ર એક જ સિમ સક્રિય રહી શકશે.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> પર સ્વિચ કરવાથી તમારી <xliff:g id="CARRIER2">%2$s</xliff:g> સેવા રદ થશે નહીં."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> પર સ્વિચ કરો"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"સિમ કાઢી નાખો"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"આ ડાઉનલોડ કરેલું સિમ કાઢી નાખીએ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"આ સિમ કાઢી નાખવાથી આ ડિવાઇસમાંથી <xliff:g id="CARRIER_0">%1$s</xliff:g> સેવા નીકળી જશે.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> માટેની સેવા રદ નહીં થાય."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"કાઢી નાખો"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"સિમ કાઢી નખાય છે…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"સિમ કાઢી નાખી શકાતું નથી"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ભૂલને કારણે આ સિમ કાઢી નાખી શકાતું નથી.\n\nતમારું ડિવાઇસ ફરી શરૂ કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
@@ -4747,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"તમે તાજેતરમાં આ ઍપ ઇન્સ્ટૉલ કરી."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"આઉટપુટ સ્વિચ કરો"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"હાલમાં <xliff:g id="DEVICE_NAME">%1$s</xliff:g> પર ચલાવી રહ્યાં છે"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ડિસ્કનેક્ટ થયેલું)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"સ્વિચ કરી શકાતું નથી. ફરી કરવા ટૅપ કરો."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"મહત્ત્વપૂર્ણ માહિતી"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ચાલુ રાખો"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ના, આભાર"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index b89fadd..57e2d19 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -1757,12 +1757,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"\'चेहरा पहचानकर अनलॉक\' का बैकअप सेट करें"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"\'चेहरा पहचानकर अनलॉक\' का बैकअप सेट करें"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"\'चेहरा पहचानकर अनलॉक\' का बैकअप सेट करें"</string>
-    <!-- no translation found for lockpassword_forgot_password (5730587692489737223) -->
-    <skip />
-    <!-- no translation found for lockpassword_forgot_pattern (1196116549051927516) -->
-    <skip />
-    <!-- no translation found for lockpassword_forgot_pin (7164232234705747672) -->
-    <skip />
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"अपना पासवर्ड भूल गए हैं?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"अपना पैटर्न भूल गए हैं?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"अपना पिन भूल गए हैं?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"जारी रखने के लिए अपने डिवाइस पैटर्न का इस्तेमाल करें"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"जारी रखने के लिए अपना डिवाइस पिन डालें"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"जारी रखने के लिए अपना डिवाइस पासवर्ड डालें"</string>
@@ -1830,10 +1827,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"सभी ऐप्लिकेशन स्रोतों को अनुमति दें"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"हाल ही में खोले गए ऐप्लिकेशन"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"सभी <xliff:g id="COUNT">%1$d</xliff:g> ऐप्लिकेशन देखें"</string>
-    <!-- no translation found for forgot_password_title (3967873480875239885) -->
-    <skip />
-    <!-- no translation found for forgot_password_text (2583194470767613163) -->
-    <skip />
+    <string name="forgot_password_title" msgid="3967873480875239885">"अपने आईटी एडमिन से संपर्क करें"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"आप अपने पिन, पैटर्न या पासवर्ड को रीसेट करने के लिए आईटी एडमिन की मदद ले सकते हैं"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"आपके टैबलेट और व्यक्तिगत डेटा पर अनजान ऐप्लिकेशन की ओर से हमला किए जाने का जोखिम ज़्यादा है. इस स्रोत से आने वाले ऐप्लिकेशन इंस्टॉल करके, आप सहमति देते हैं कि उनके उपयोग के कारण आपके टैबलेट को होने वाले किसी भी नुकसान या डेटा की हानि के लिए आप ही ज़िम्मेदार हैं."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"आपके फ़ोन और व्यक्तिगत डेटा पर अनजान ऐप्लिकेशन की ओर से हमला किए जाने का जोखिम ज़्यादा है. इस स्रोत से आने वाले ऐप्लिकेशन इंस्टॉल करके, आप सहमति देते हैं कि उनके उपयोग के कारण आपके फ़ोन को होने वाले किसी भी नुकसान या डेटा की हानि के लिए आप ही ज़िम्मेदार हैं."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"आपके डिवाइस और निजी डेटा पर अनजान ऐप्लिकेशन के ज़रिए हमला किए जाने का खतरा ज़्यादा होता है. इस स्रोत से ऐप्लिकेशन इंस्टॉल करके, आप मंज़ूरी देते हैं कि उनके इस्तेमाल की वजह से आपके डिवाइस को होने वाले किसी भी नुकसान या डेटा मिट जाने पर आप ही ज़िम्मेदार होंगे."</string>
@@ -3083,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G कॉलिंग"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"आवाज़ और दूसरी तरह के संचार को बेहतर बनाने के लिए LTE सेवाओं का इस्तेमाल करें (सुझाया गया)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"आवाज़ और दूसरे संचारों को बेहतर बनाने के लिए 4G सेवाओं का इस्तेमाल करें (सुझाया गया)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"अपनी पसंद का नेटवर्क"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (सुझाया गया)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"मल्टीमीडिया मैसेज (एमएमएस)"</string>
@@ -4514,11 +4517,11 @@
     <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"ग्राफ़िक ड्राइवर चुनें"</string>
     <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"डिफ़ॉल्ट"</string>
     <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"गेम ड्राइवर"</string>
-    <!-- no translation found for graphics_driver_app_preference_prerelease_driver (7355929161805829480) -->
-    <skip />
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"डेवलपर ड्राइवर"</string>
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"सिस्टम ग्राफ़िक ड्राइवर"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4549,6 +4552,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ग्रुप"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"एक डिवाइस चुना गया"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> डिवाइस चुने गए"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"इसके ज़रिए कॉल का जवाब दें"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"यह APN बदला नहीं जा सकता."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"टैबलेट की बैटरी लाइफ़ बेहतर बनाएं"</string>
@@ -4666,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"एक समय में डाउनलोड किया गया सिर्फ़ एक सिम इस्तेमाल किया जा सकता है. \n\n <xliff:g id="CARRIER1">%1$s</xliff:g> में स्विच करने से आपके <xliff:g id="CARRIER2">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> पर जाएं"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"सिम मिटाएं"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"इस डाउनलोड किए गए सिम को मिटाएं?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"इस सिम को इस डिवाइस से मिटाने पर <xliff:g id="CARRIER_0">%1$s</xliff:g> सेवा हट जाती है.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> के लिए सेवा रद्द नहीं की जाएगी."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"हमेशा के लिए मिटाएं"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"सिम को हमेशा के लिए मिटाया जा रहा है…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"सिम नहीं मिटाया जा सकता"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"गड़बड़ी की वजह से इस सिम को मिटाया नहीं जा सकता.\n\nडिवाइस रीस्टार्ट करें और फिर से कोशिश करें."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"पसंदीदा नेटवर्क प्रकार"</string>
@@ -4751,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"आपने हाल ही में यह ऐप्लिकेशन इंस्टॉल किया."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"स्विच आउटपुट"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"इस समय <xliff:g id="DEVICE_NAME">%1$s</xliff:g> पर खेल रहा है"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"महत्वपूर्ण जानकारी"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"जारी रखें"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"नहीं, धन्यवाद"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index f419b13..c9fa872 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -3122,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G pozivanje"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Upotreba LTE usluga za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Upotreba 4G usluga za poboljšanje glasovne i drugih komunikacija (preporučeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Otkrivanje kontakata"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Omogućuje mobilnom operateru da otkrije koje značajke poziva podržavaju vaši kontakti."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Želite li omogućiti otkrivanje kontakta?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ako omogućite tu značajku, vaš će mobilni operater moći pristupiti telefonskim brojevima u vašim kontaktima kako bi otkrio koje značajke poziva podržavaju."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Željena vrsta mreže"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (preporučeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS poruke"</string>
@@ -4597,6 +4601,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Upravljački program za grafiku sustava"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4627,6 +4632,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Odabran je jedan uređaj"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Odabrano uređaja: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Prebacivanje…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Preuzmi poziv na uređaju"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ovaj se APN ne može promijeniti."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Poboljšajte trajanje baterije tableta"</string>
@@ -4745,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Istovremeno može biti aktivan samo jedan preuzeti SIM.\n\nPrelaskom na mobilnog operatera <xliff:g id="CARRIER1">%1$s</xliff:g> neće se otkazati vaša usluga kod mobilnog operatera <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Prijeđi na operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Želite li izbrisati taj preuzeti SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Brisanjem ovog SIM-a uklanja se usluga mobilnog operatera <xliff:g id="CARRIER_0">%1$s</xliff:g> s ovog uređaja.\n\nUsluga mobilnog operatera <xliff:g id="CARRIER_1">%2$s</xliff:g> neće se otkazati."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Izbriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Brisanje SIM-a…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Brisanje SIM-a nije uspjelo"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM se ne može izbrisati zbog pogreške.\n\nPonovo pokrenite uređaj i pokušajte još jednom."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Željena vrsta mreže"</string>
@@ -4833,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nedavno ste instalirali ovu aplikaciju."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Promjena izlaza"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutačno se reproducira na uređaju <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (nije povezano)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nije prebačeno. Dodirnite opet."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Važne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NASTAVI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index bfe8ed7..fb35247 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-hívás"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE-szolgáltatások használata hang- és egyéb kommunikáció javításához (ajánlott)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G-szolgáltatások használata hang- és egyéb kommunikáció javításához (ajánlott)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Névjegyek átnézése"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Engedélyezi a szolgáltató számára, hogy kiderítse, milyen hívási funkciókat használhatnak névjegyei."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Engedélyezi a névjegyek átnézését?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"A funkció engedélyezésével szolgáltatója hozzáférhet a névjegyeinek telefonszámaihoz, hogy kiderítse, milyen hívási funkciókat használhatnak."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferált hálózattípus"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (javasolt)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-üzenetek"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Rendszer grafikus drivere"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Csoport"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 eszköz kiválasztva"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> eszköz kiválasztva"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Hívás fogadása be"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Az APN nem módosítható."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Növelje a táblagép akkumulátor-élettartamát"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Egyszerre csak egy letöltött SIM lehet aktív.\n\nHa átvált a(z) <xliff:g id="CARRIER1">%1$s</xliff:g> szolgáltatóra, nem mondja le a(z) <xliff:g id="CARRIER2">%2$s</xliff:g> szolgáltatását."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Váltás erre: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM törlése"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Törli ezt a letöltött SIM-et?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"A SIM törlésével eltávolítja a(z) <xliff:g id="CARRIER_0">%1$s</xliff:g> szolgáltatását erről az eszközről.\n\nA(z) <xliff:g id="CARRIER_1">%2$s</xliff:g> szolgáltatását nem mondja le."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Törlés"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM törlése…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nem lehet törölni a SIM-et"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hiba történt, ezért nem sikerült a letöltött SIM törlése.\n\nIndítsa újra az eszközt, majd próbálja újra."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Előnyben részesített hálózattípus"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Nemrég telepítette ezt az alkalmazást."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Kimenet átváltása"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Lejátszás folyamatban a(z) <xliff:g id="DEVICE_NAME">%1$s</xliff:g> eszközön"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (leválasztva)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"A váltás nem sikerült. Próbálja újra."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Fontos információ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TOVÁBB"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"KÖSZÖNÖM, NEM"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 1341eb1..2bfd9f2 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Զանգեր 4G ցանցով"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Ձայնի և կապի որակը բարձրացնելու համար օգտագործել LTE ծառայությունները (խորհուրդ է տրվում)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Ձայնի և կապի որակը լավացնելու համար օգտվեք 4G ծառայություններից (խորհուրդ է տրվում)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Կոնտակտների հասանելիություն"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Ձեր բջջային օպերատորը կկարողանա իմանալ, թե զանգի ինչ գործառույթներ են օգտագործում ձեր կոնտակտները։"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Հասանելի դարձնե՞լ կոնտակտները"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Այս գործառույթը միացնելուց հետո ձեր կոնտակտների հեռախոսահամարները հասանելի կդառնան ձեր բջջային օպերատորին, և վերջինս կկարողանա իմանալ, թե զանգի ինչ գործառույթներ են դրանք աջակցում։"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Ցանցի նախընտրելի տեսակը"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (խորհուրդ է տրվում)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS հաղորդագրություններ"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Համակարգի գրաֆիկական սարքավար"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Խումբ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Ընտրված է 1 սարք"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Ընտրված է <xliff:g id="COUNT">%1$d</xliff:g> սարք"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Զանգն ընդունել հետևյալ սարքում՝"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Այս APN-ի կարգավորումները հնարավոր չէ փոխել:"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Երկարացրեք պլանշետի մարտկոցի աշխատաժամանակը"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Միաժամանակ ակտիվ կարող է լինել միայն մեկ ներբեռնված SIM։\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>-ին անցնելու դեպքում <xliff:g id="CARRIER2">%2$s</xliff:g>-ի ծառայությունը չի չեղարկվի։"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Անցնել <xliff:g id="CARRIER">%1$s</xliff:g>-ին"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ջնջել SIM քարտի տվյալները"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Ջնջե՞լ այս ներբեռնված SIM-ը"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Այս SIM-ը ջնջելու դեպքում <xliff:g id="CARRIER_0">%1$s</xliff:g>-ի ծառայությունը կհեռացվի սարքից։\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-ի ծառայությունը չի չեղարկվի։"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ջնջել"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM քարտի տվյալները ջնջվում են…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM քարտի տվյալները հնարավոր չէ ջնջել"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Սխալի պատճառով չհաջողվեց ջնջել SIM քարտի տվյալները։\n\nՎերագործարկեք սարքը և նորից փորձեք։"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ցանցի նախընտրելի տեսակը"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Դուք վերջերս տեղադրել եք այս հավելվածը։"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Աուդիոելքի սարքի փոխարկում"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Նվագարկվում է <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքում"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (անջատված է)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Սխալ առաջացավ։ Հպեք՝ կրկնելու համար։"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Կարևոր տեղեկություն"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ՇԱՐՈՒՆԱԿԵԼ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ՈՉ, ՇՆՈՐՀԱԿԱԼՈՒԹՅՈՒՆ"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 1a5e65f..3e7e488 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Panggilan 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gunakan layanan LTE untuk menyempurnakan suara dan komunikasi lainnya (disarankan)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gunakan layanan 4G untuk menyempurnakan suara dan komunikasi lainnya (disarankan)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Penemuan kontak"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Mengizinkan operator menemukan fitur menelepon yang didukung oleh kontak."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Aktifkan penemuan kontak?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Jika fitur ini diaktifkan, operator dapat mengakses nomor telepon di kontak untuk menemukan fitur menelepon yang didukung oleh kontak."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Jenis jaringan yang dipilih"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (disarankan)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Pesan MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver Grafis Sistem"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 perangkat dipilih"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> perangkat dipilih"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Beralih…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Jawab panggilan di"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN ini tidak dapat diubah."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Tingkatkan masa pakai baterai tablet"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Hanya satu SIM hasil download yang dapat diaktifkan pada satu waktu.\n\nBeralih ke <xliff:g id="CARRIER1">%1$s</xliff:g> tidak akan membatalkan layanan <xliff:g id="CARRIER2">%2$s</xliff:g> Anda."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Beralih ke <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Hapus SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Hapus SIM yang didownload?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Menghapus SIM ini akan menghapus layanan <xliff:g id="CARRIER_0">%1$s</xliff:g> dari perangkat ini.\n\nLayanan untuk <xliff:g id="CARRIER_1">%2$s</xliff:g> tidak akan dibatalkan."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Hapus"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Menghapus SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Tidak dapat menghapus SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM ini tidak dapat dihapus karena terjadi error.\n\nMulai ulang perangkat Anda, lalu coba lagi."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Jenis jaringan pilihan"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Anda baru saja menginstal aplikasi ini."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Ganti keluaran"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Sedang diputar di <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (terputus)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Tidak dapat beralih. Ketuk untuk mencoba lagi."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informasi penting"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"LANJUTKAN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"TIDAK, TERIMA KASIH"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 2ee49b7..7714422 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Veldu a.m.k. eitt svið fyrir heitan Wi‑Fi reit:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP-stillingar"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"Persónuvernd"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"Áskrift"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"Skoða eða breyta áskrift"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"MAC-vistfang af handahófi"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"Bæta tæki við"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"Færðu QR-kóðann fyrir miðju hér fyrir neðan til að bæta tækinu við „<xliff:g id="SSID">%1$s</xliff:g>“"</string>
@@ -3080,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G símtöl"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Nota LTE-þjónustu til að bæta talsamband og önnur samskipti (ráðlagt)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Nota 4G-þjónustu til að bæta talsamband og önnur samskipti (ráðlagt)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Greining tengiliða"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Leyfir símafyrirtækinu þínu að komast að því hvaða símtalaeiginleikar eru studdir fyrir tengiliði."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Viltu leyfa greiningu tengiliða?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ef kveikt er á þessum eiginleika fær símafyrirtækið þitt aðgang að símanúmerum í tengiliðunum þínum til þess að komast að því hvaða símtalaeiginleikar eru studdir fyrir þá."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Valin símkerfistegund"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ráðlagt)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-skilaboð"</string>
@@ -4515,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Myndvinnslurekill kerfis"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Hópur"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 tæki valið"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> tæki valin"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Skiptir…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Taka við símtali í"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ekki er hægt að breyta þessum aðgangsstað."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Auktu rafhlöðuendingu spjaldtölvunnar"</string>
@@ -4662,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Aðeins eitt SIM-kort getur verið virkt í einu.\n\nÞótt þú skiptir yfir í <xliff:g id="CARRIER1">%1$s</xliff:g> verður þjónustu þinni hjá <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Skipta yfir í <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Hreinsa SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Viltu hreinsa þetta sótta SIM-kort?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ef þessu SIM-korti er eytt verður þjónusta <xliff:g id="CARRIER_0">%1$s</xliff:g> fjarlægð úr þessu tæki.\n\nÞjónustu <xliff:g id="CARRIER_1">%2$s</xliff:g> verður ekki sagt upp."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Eyða"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Eyðir SIM-korti…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Ekki hreinsa SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Ekki er hægt að eyða þessu SIM-korti vegna villu.\n\nEndurræstu tækið og reyndu aftur."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Valin símkerfistegund"</string>
@@ -4747,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Þú settir þetta forrit nýlega upp."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Skipta um úttak"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Í spilun núna í <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (aftengt)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ekki skipt. Ýttu til að reyna aftur."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Mikilvægar upplýsingar"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"HALDA ÁFRAM"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEI, TAKK"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index b1d384e..c65a26c 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chiamate 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usa i servizi LTE per migliorare le comunicazioni vocali e di altro tipo (consigliato)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usa i servizi 4G per migliorare le comunicazioni vocali e di altro tipo (consigliato)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Rilevamento contatti"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Consente al tuo operatore di rilevare le funzionalità di chiamata supportate dai tuoi contatti."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vuoi attivare Rilevamento contatti?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Se attivi questa funzionalità, il tuo operatore potrà accedere ai numeri di telefono dei tuoi contatti per rilevare le funzionalità di chiamata supportate dai contatti."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo di rete preferito"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (opzione consigliata)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Messaggi MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver di grafica di sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Gruppo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selezionato"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivi selezionati"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Passaggio…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Rispondi alle chiamate su"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Questo APN non può essere modificato."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Fai durare di più la batteria del tablet"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"È possibile attivare una sola SIM scaricata alla volta.\n\nIl passaggio a <xliff:g id="CARRIER1">%1$s</xliff:g> non annullerà il servizio di <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Passa a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Resetta SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Resettare questa SIM scaricata?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Se resetti questa SIM, rimuoverai i servizi di <xliff:g id="CARRIER_0">%1$s</xliff:g> da questo dispositivo.\n\nIl servizio per <xliff:g id="CARRIER_1">%2$s</xliff:g> non verrà annullato."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Resetta"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Resetto SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Impossibile resettare la SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Questa SIM non può essere resettata a causa di un errore.\n\nRiavvia il dispositivo e riprova."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo di rete preferito"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Hai installato di recente questa app."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Cambia uscita"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Attualmente in riproduzione sul dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (disconnesso)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Non puoi cambiare. Tocca per riprovare."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informazioni importanti"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NO GRAZIE"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index f368320..29562c4 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -3168,6 +3168,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏שיחות 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏שימוש בשירותי LTE כדי לשפר את הקול ודרכי תקשורת אחרות (מומלץ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏שימוש בשירותי 4G משפר את התקשורת הקולית ותקשורת אחרת (מומלץ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"גילוי אנשי קשר"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"תכונה זו מאפשרת לספק לגלות אילו תכונות התקשרות נתמכות על ידי אנשי הקשר שלך."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"להפעיל את הגילוי של אנשי הקשר?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"הפעלת התכונה הזו תעניק לספק גישה למספרי הטלפון ששמורים באנשי הקשר שלך כדי לגלות באילו תכונות התקשרות הם תומכים."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"סוג רשת מועדף"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (מומלץ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"‏הודעות MMS"</string>
@@ -4683,6 +4687,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"מנהל ההתקן לגרפיקה של המערכת"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4713,6 +4718,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"קבוצה"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"נבחר מכשיר אחד"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"נבחרו <xliff:g id="COUNT">%1$d</xliff:g> מכשירים"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"קבלת שיחה בסוג פלט"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏לא ניתן לשנות APN זה."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"שיפור חיי הסוללה של הטאבלט"</string>
@@ -4832,10 +4839,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‏בכל רגע נתון אפשר להשתמש רק בכרטיס SIM אחד שהורדת.\n\nמעבר אל <xliff:g id="CARRIER1">%1$s</xliff:g> לא יבטל את השירות של<xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"מעבר אל <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏מחיקת SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‏למחוק את ה-SIM הזה שהורדת?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‏מחיקת כרטיס ה-SIM הזה מסירה את השירות של <xliff:g id="CARRIER_0">%1$s</xliff:g> מהמכשיר הזה.\n\nהשירות של <xliff:g id="CARRIER_1">%2$s</xliff:g> לא יבוטל."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"מחיקה"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‏מוחק SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‏לא ניתן למחוק את ה-SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‏שגיאה מונעת את מחיקת ה-SIM הזה.\n\nצריך להפעיל מחדש את המכשיר ולנסות שוב."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"סוג רשת מועדפת"</string>
@@ -4923,6 +4926,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"התקנת לאחרונה את האפליקציה הזו."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"החלפת פלט"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"בהפעלה כרגע ב-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (מנותק)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"לא ניתן להחליף. יש להקיש כדי לנסות שוב."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"מידע חשוב"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"המשך"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"לא, תודה"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 423a29a..4ea8599 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1156,7 +1156,7 @@
     <string name="color_mode_option_natural" msgid="6192875655101283303">"ナチュラル"</string>
     <string name="color_mode_option_boosted" msgid="4698797857766774289">"ブースト"</string>
     <string name="color_mode_option_saturated" msgid="3413853820158447300">"ビビッド"</string>
-    <string name="color_mode_option_automatic" msgid="2281217686509980870">"アダプティブ"</string>
+    <string name="color_mode_option_automatic" msgid="2281217686509980870">"自動調整"</string>
     <string name="color_mode_summary_natural" msgid="8298840714001791628">"正確な色のみを使用"</string>
     <string name="color_mode_summary_automatic" msgid="8157885594041700275">"鮮明な色と正確な色の間で調整"</string>
     <string name="accelerometer_summary_on" product="tablet" msgid="6413384391658481700">"画面の向きに合わせて縦横表示を切り替える"</string>
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 回線による通話"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE サービスを使用して音声などの通信を改善する（推奨）"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G サービスを使用して、音声やその他の通話の品質を改善する（推奨）"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"連絡先の検出"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"連絡先が利用できる通話機能を携帯通信会社が検出できるようにしますか？"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"連絡先の検出を有効にしますか？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"この機能を有効にすると、携帯通信会社があなたの連絡先の電話番号にアクセスして、その番号で利用できる通話機能を検出できるようになります。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"優先ネットワークタイプ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE（推奨）"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS メッセージ"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"システムのグラフィックス ドライバ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"グループ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 台のデバイスを選択しました"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"選択したデバイス: <xliff:g id="COUNT">%1$d</xliff:g> 台"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"切り替えています…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"通話するデバイス"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"この APN は変更できません。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"タブレットの電池寿命の改善"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ダウンロード型 SIM は一度に 1 つのみ有効にできます。\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> に切り替えても、<xliff:g id="CARRIER2">%2$s</xliff:g> サービスが解約されることはありません。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> に切り替え"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM を消去"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"このダウンロード型 SIM を消去しますか？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"この SIM を消去すると、このデバイスから <xliff:g id="CARRIER_0">%1$s</xliff:g> サービスが削除されます。\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> のサービスが解約されることはありません。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"消去"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM を消去しています…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM を消去できません"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"エラーのため、この SIM を消去できません。\n\nデバイスを再起動してもう一度お試しください。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"優先ネットワークの種類"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"このアプリを最近インストールしました。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"出力の切り替え"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"現在 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> で再生しています"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>（未接続）"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"切り替えられません。タップしてやり直してください。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要な情報"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"続行"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"同意しない"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 9b477dd..4125869 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G დარეკვა"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE სერვისების გამოყენება ხმისა და სხვა კომუნიკაციების გასაუმჯობესებლად (რეკომენდებული)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"გამოიყენეთ 4G სერვისები ხმისა და სხვა კომუნიკაციების გასაუმჯობესებლად (რეკომენდებული)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"კონტაქტების აღმოჩენა"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"საშუალებას აძლევს ოპერატორს, აღმოაჩინოს, დარეკვის რომელი ფუნქციის მხარდაჭერა აქვთ თქვენს კონტაქტებს."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"ჩაირთოს კონტაქტების აღმოჩენა?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ამ ფუნქციის ჩართვა დაუშვებს თქვენი ოპერატორის წვდომას თქვენს კონტაქტებში არსებულ ტელეფონის ნომრებზე, რათა აღმოაჩინოს, დარეკვის რომელი ფუნქციის მხარდაჭერა აქვთ მათ."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ქსელის სასურველი ტიპი"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (რეკომენდებული)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS შეტყობინებები"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"სისტემის გრაფიკული დრაივერი"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ჯგუფი"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"არჩეულია 1 მოწყობილობა"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"არჩეულია <xliff:g id="COUNT">%1$d</xliff:g> მოწყობილობა"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ზარის აღება მოწყობილობაზე:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ამ APN-ის შეცვლა ვერ მოხერხდება."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"გააუმჯობესეთ ტაბლეტის ბატარეის მუშაობის ხანგრძლივობა"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ყოველ ჯერზე მხოლოდ ერთი ჩამოტვირთული SIM ბარათი შეიძლება იყოს აქტიური.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>-ზე გადართვა <xliff:g id="CARRIER2">%2$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>-ზე გადართვა"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ბარათის ამოშლა"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ამოიშალოს ეს ჩამოტვირთული SIM ბარათი?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ამ SIM ბარათის ამოშლა მოწყობილობიდან <xliff:g id="CARRIER_0">%1$s</xliff:g>-ის სერვისს ამოიღებს.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-ის სერვისი არ გაუქმდება."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ამოშლა"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"მიმდინარეობს SIM ბარათის ამოშლა…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM ბარათი ვერ იშლება"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ეს SIM ბარათი ვერ იშლება შეცდომის გამო.\n\nგადატვირთეთ მოწყობილობა და ხელახლა ცადეთ."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ქსელის სასურველი ტიპი"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"თქვენ ახლახან დააინსტალირეთ ეს აპი."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"გამომავალი სიგნალის გადართვა"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ამჟამად იკვრება <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ზე"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (კავშირი გაწყვეტილია)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ვერ გადაირთო. შეეხეთ ხელახლა საცდელად."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"მნიშვნელოვანი ინფორმაცია"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"გაგრძელება"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"არა, გმადლობთ"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index d87699d..8c85ded 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G қоңыраулары"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Дауыстық және басқа байланыстарды жақсарту үшін LTE қызметтерін пайдалану (ұсынылады)."</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Дауыстық және басқа байланыстарды жақсарту үшін 4G қызметтерін пайдалану (ұсынылады)."</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Контактіні анықтау"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Операторға контактілер қолдау көрсететін қоңырау шалу функцияларын анықтауға мүмкіндік береді."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Контактіні анықтау іске қосылсын ба?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Осы функцияны қоссаңыз, оператор контактілердің қолдау көрсететін қоңырау шалу функцияларын анықтау үшін, олардың телефон нөмірлерін пайдаланады."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Таңдаулы желі түрі"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ұсынылған)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS хабарлары"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Графикалық жүйе драйвері"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Топ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 құрылғы таңдалды"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> құрылғы таңдалды"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Қоңырауды қабылдау құрылғысы"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Бұл APN параметрлерін өзгерту мүмкін емес."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Планшет батареясының жұмыс істеуін ұзартыңыз"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Бір уақытта тек бір жүктеп алынған SIM картасын пайдалануға болады.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> операторына ауыссаңыз, <xliff:g id="CARRIER2">%2$s</xliff:g> қызметінен бас тартылмайды."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> операторына ауысу"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM картасын жою"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Бұл жүктеп алынған SIM картасы өшірілсін бе?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Бұл SIM картасын өшірсеңіз, <xliff:g id="CARRIER_0">%1$s</xliff:g> қызметі бұл құрылғыдан жойылады.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> қызметінен бас тартылмайды."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Жою"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM тазартылуда…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM картасы жойылмады"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Қатеге байланысты бұл SIM картасын өшіру мүмкін емес.\n\nҚұрылғыны қайта қосып, әрекетті қайталаңыз."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Оңтайлы желі түрі"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Бұл қолданбаны жақында орнаттыңыз."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Шығатын панельді ауыстыру"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> деген құрылғыда ойнап жатыр."</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ажыратылған)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ауысу мүмкін емес. Қайталау үшін түртіңіз."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Маңызды ақпарат"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ЖАЛҒАСТЫРУ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ЖОҚ, РАҚМЕТ"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index cd8b303..65d2d79 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"ការហៅទូរសព្ទតាមរយៈ 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ប្រើសេវាកម្ម LTE ដើម្បីធ្វើឱ្យសំឡេង និងការប្រាស្រ័យទាក់ទង​ផ្សេងទៀតប្រសើរជាងមុន ​(បានណែនាំ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ប្រើប្រាស់​សេវាកម្ម 4G ដើម្បីធ្វើឱ្យ​សំឡេង និង​ការ​ប្រាស្រ័យ​ទាក់ទង​ផ្សេងទៀតប្រសើរជាងមុន (បានណែនាំ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"ការរកមើលទំនាក់ទំនង"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"អនុញ្ញាតឱ្យក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នករកមើលថាមុខងារហៅទូរសព្ទណាខ្លះ ដែលទំនាក់ទំនងរបស់អ្នកអាចប្រើបាន។"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"បើកការរកមើលទំនាក់ទំនងឬ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ការបើកមុខងារនេះនឹងអនុញ្ញាតក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នកចូលប្រើលេខទូរសព្ទនៅក្នុងទំនាក់ទំនងរបស់អ្នក ដើម្បីរកមើលថាមុខងារហៅទូរសព្ទណាខ្លះ ដែលលេខទូរសព្ទទាំងនោះអាចប្រើបាន។"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ប្រភេទ​បណ្ដាញ​​ដែល​​ពេញចិត្ត"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (បាន​ណែនាំ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"សារ MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ដ្រាយវើ​ក្រាហ្វិកប្រព័ន្ធ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ក្រុម"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"បានជ្រើសរើស​ឧបករណ៍ 1"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"បានជ្រើសរើស​ឧបករណ៍ <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ទទួល​ការហៅ​ទូរសព្ទ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN​ នេះមិនអាចប្ដូរបានទេ។"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"កែ​លម្អ​កម្រិត​ថាមពល​ថ្ម​របស់​ថេប្លេត"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"អាចបើកដំណើរការ​ស៊ីមដែលបានទាញយក​ម្ដងមួយតែប៉ុណ្ណោះ​។\n\nការប្ដូរទៅ <xliff:g id="CARRIER1">%1$s</xliff:g> នឹងមិនបោះបង់សេវាកម្ម​ <xliff:g id="CARRIER2">%2$s</xliff:g> របស់អ្នក​ទេ។"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"ប្ដូរទៅ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"លុបស៊ីម"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"លុប​ស៊ីមដែលបានទាញយក​នេះ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ការលុប​ស៊ីមនេះ​នឹងលុបសេវាកម្ម <xliff:g id="CARRIER_0">%1$s</xliff:g> ពីឧបករណ៍​នេះ។\n\nសេវាកម្ម​សម្រាប់ <xliff:g id="CARRIER_1">%2$s</xliff:g> នឹង​ត្រូវបាន​បោះបង់។"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"លុប"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"កំពុង​លុបស៊ីម…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"មិន​អាចលុបស៊ីមបានទេ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"​មិនអាចលុប​ស៊ីមនេះ​បានទេ​ ដោយសារមាន​បញ្ហា។\n\nចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នក​ឡើងវិញ​ រួច​ព្យាយាម​ម្ដងទៀត។"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ប្រភេទ​បណ្ដាញ​​ដែលប្រើជាអាទិភាព​"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"អ្នក​បាន​ដំឡើងកម្មវិធីនេះ​កាលពីពេលថ្មីៗ។"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"លទ្ធផល Switch"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ឥឡូវនេះ​កំពុងចាក់​នៅលើ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (បាន​ផ្ដាច់)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"មិនអាចប្ដូរបានទេ។ សូមចុច ដើម្បី​ព្យាយាម​ម្ដង​ទៀត។"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ព័ត៌មាន​សំខាន់"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"បន្ត"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ទេ អរគុណ"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index e87970f..922edd5 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್‌ಗಾಗಿ ಕನಿಷ್ಠ ಒಂದು ಬ್ಯಾಂಡ್ ಆಯ್ಕೆಮಾಡಿ:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ಗೌಪ್ಯತೆ"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"ಸಬ್‌ಸ್ಕ್ರಿಪ್ಷನ್‌‌"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ಸಬ್‌ಸ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ನೋಡಿ ಅಥವಾ ಬದಲಾಯಿಸಿ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ಯಾದೃಚ್ಛಿಕ.MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ಸಾಧನವನ್ನು ಸೇರಿಸಿ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” ಗೆ ಸಾಧನವನ್ನು ಸೇರಿಸಲು QR ಕೋಡ್‌ ಅನ್ನು ಕೆಳಗೆ ಕೇಂದ್ರೀಕರಿಸಿ"</string>
@@ -3080,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ಕರೆ ಮಾಡುವಿಕೆ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ಧ್ವನಿ ಮತ್ತು ಇತರ ಸಂವಹನಗಳನ್ನು ಸುಧಾರಿಸಲು LTE ಸೇವೆಗಳನ್ನು ಬಳಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ಧ್ವನಿ ಮತ್ತು ಇತರ ಸಂವಹನಗಳನ್ನು ಸುಧಾರಿಸಲು 4G ಸೇವೆಗಳನ್ನು ಬಳಸಿ (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ಪ್ರಾಶಸ್ತ್ಯದ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS ಸಂದೇಶಗಳು"</string>
@@ -4515,6 +4521,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ಸಿಸ್ಟಂ ಗ್ರಾಫಿಕ್ಸ್ ಡ್ರೈವರ್"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4552,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ಗುಂಪು"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ಸಾಧನವನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ಸಾಧನಗಳನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ಕರೆ ಮಾಡಿ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ಈ APN ಅನ್ನು ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ಟ್ಯಾಬ್ಲೆಟ್‌ನ ಬ್ಯಾಟರಿ ಜೀವನವನ್ನು ಸುಧಾರಿಸಿ"</string>
@@ -4662,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ಒಂದು ಬಾರಿಗೆ ಕೇವಲ ಒಂದು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ SIM ಅನ್ನು ಮಾತ್ರ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> ಗೆ ಬದಲಾಯಿಸುವುದರಿಂದ, ನಿಮ್ಮ <xliff:g id="CARRIER2">%2$s</xliff:g> ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> ಗೆ ಬದಲಿಸಿ"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ಅಳಿಸಿ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ಈ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ SIM ಅನ್ನು ಅಳಿಸುವುದೇ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ಈ SIM ಅನ್ನು ಅಳಿಸುವುದರಿಂದ, ಅದು ಈ ಸಾಧನದಿಂದ <xliff:g id="CARRIER_0">%1$s</xliff:g> ಸೇವೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ಗಾಗಿ ಇರುವ ಸೇವೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಗುವುದಿಲ್ಲ."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ಅಳಿಸಿ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM ಅಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ದೋಷದ ಕಾರಣದಿಂದಾಗಿ ಈ SIM ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ಪ್ರಾಶಸ್ತ್ಯ ನೀಡಿದ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ"</string>
@@ -4747,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ನೀವು ಇತ್ತೀಚೆಗೆ ಈ ಆ್ಯಪ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿರುವಿರಿ."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ಔಟ್‌ಫುಟ್ ಬದಲಿಸಿ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ಪ್ರಸ್ತುತ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ನಲ್ಲಿ ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ಪ್ರಮುಖ ಮಾಹಿತಿ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ಮುಂದುವರಿಸಿ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ಬೇಡ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 867d003..9e02376 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 통화"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE 서비스를 사용하여 음성 및 기타 통신 개선(권장)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G 서비스를 사용하여 음성 및 기타 통신 개선(권장)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"연락처 확인"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"이동통신사에서 내 연락처가 지원하는 통화 기능을 확인하도록 허용합니다."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"연락처 확인 기능을 사용 설정하시겠습니까?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"이 기능을 사용 설정하면 이동통신사에서 내 연락처에 있는 전화번호에 액세스하여 연락처가 지원하는 통화 기능을 확인할 수 있습니다."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"기본 네트워크 유형"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE(권장)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS 메시지"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"시스템 그래픽 드라이버"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"그룹"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"기기 1대 선택됨"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"기기 <xliff:g id="COUNT">%1$d</xliff:g>대 선택됨"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"전화 받기 기능 사용"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"변경할 수 없는 APN입니다."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"태블릿 배터리 수명 향상"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"다운로드한 SIM은 한 번에 하나만 활성화할 수 있습니다.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>(으)로 전환해도 <xliff:g id="CARRIER2">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>(으)로 전환"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM 삭제"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"이 다운로드한 SIM을 삭제하시겠습니까?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"이 SIM을 삭제하면 이 기기에서 <xliff:g id="CARRIER_0">%1$s</xliff:g> 서비스가 제거됩니다.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"삭제"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM 삭제 중…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM을 삭제할 수 없음"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"오류로 인해 이 SIM을 삭제할 수 없습니다.\n\n기기를 재부팅하고 다시 시도하세요."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"기본 네트워크 유형"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"최근에 이 앱을 설치했습니다."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"출력 전환"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"현재 <xliff:g id="DEVICE_NAME">%1$s</xliff:g>에서 재생 중"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>(연결 끊김)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"전환할 수 없습니다. 다시 시도하려면 탭하세요."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"중요한 정보"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"계속"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"거부"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 191ee4c..bb5c3fc 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G аркылуу чалуу"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Байланыштын сапатын жакшыртуу үчүн LTE кызматтары колдонулат (сунушталат)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Үн жана башка байланыштарды жакшыртуу үчүн, 4G кызматтарын пайдаланыңыз (сунушталат)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Байланышты табуу"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Операторго байланыштар кайсы чалуу функцияларын колдонуп жатканын билүүгө жардам берет."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Байланышты табуу иштетилсинби?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Бул функцияны иштетүү менен, оператор байланыштарыңызга кирип, алар кайсы чалуу функцияларын колдонуп жатканын көрөт."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Тармактын түрү"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (сунушталат)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS билдирүүлөр"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Тутумдун графикалык драйвери"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Топ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 түзмөк тандалды"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> түзмөк тандалды"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Чалууну кабыл алуу"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Бул APN\'ди өзгөртүүгө болбойт."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Планшеттин батареясынын кубатынын мөөнөтүн көбөйтүү"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Бир учурда бир гана жүктөлүп алынган SIM карта активдүү болушу керек.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> операторуна которулсаңыз, <xliff:g id="CARRIER2">%2$s</xliff:g> кызматыңыз жокко чыгарылбайт."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> операторуна которулуу"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM картаны тазалоо"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Бул жүктөлүп алынган SIM карта тазалансынбы?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Бул SIM картаны өчүрсөңүз, түзмөктөн <xliff:g id="CARRIER_0">%1$s</xliff:g> кызматы өчүрүлөт.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> кызматтары жок кылынбайт."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Тазалоо"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM карта тазаланууда…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM карта тазаланбай жатат"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Катадан улам SIM картаны тазалоого болбойт.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Тандалган тармактын түрү"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Бул колдонмону жакында орнотконсуз."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Аудио түзмөктү которуштуруу"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Учурда <xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүндө ойнотулууда"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ажыратылды)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Которулбай жатат. Кайталоо үчүн басыңыз."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Маанилүү маалымат"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ООБА"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ЖОК, РАХМАТ"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 67a4643..7475816 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"ການໂທ 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ໃຊ້ບໍລິການ LTE ເພື່ອປັບປຸງສຽງ ແລະ ການສື່ສານອື່ນໆ (ແນະນຳ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ໃຊ້ບໍລິການ 4G ເພື່ອປັບປຸງສຽງ ແລະ ການສື່ສານອື່ນໆ (ແນະນຳ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"ການຄົ້ນພົບລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"ອະນຸຍາດໃຫ້ຜູ້ໃຫ້ບໍລິການຂອງທ່ານຄົ້ນພົບໄດ້ລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານຮອງຮັບຄຸນສົມບັດການໂທໃດ."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"ເປີດໃຊ້ການຄົ້ນພົບລາຍຊື່ຜູ້ຕິດຕໍ່ບໍ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ການເປີດນຳໃຊ້ຄຸນສົມບັດນີ້ຈະເຮັດໃຫ້ຜູ້ໃຫ້ບໍລິການຂອງທ່ານເຂົ້າເຖິງເບີໂທລະສັບໃນລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານເພື່ອເບິ່ງວ່າສາມາດຮອງຮັບຄຸນສົມບັດການໂທໃດໄດ້ແດ່."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ປະ​ເພດ​ເຄືອ​ຂ່າຍທີ່ຕ້ອງການ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ແນະ​ນໍາ​)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"ຂໍ້ຄວາມ MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ໄດຣເວີກຣາບຟິກລະບົບ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ກຸ່ມ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"ເລືອກ 1 ອຸປະກອນແລ້ວ"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"ເລືອກ <xliff:g id="COUNT">%1$d</xliff:g> ອຸປະກອນແລ້ວ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ຮັບສາຍຢູ່"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ບໍ່ສາມາດປ່ຽນ APN ນີ້ໄດ້."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ປັບປຸງອາຍຸແບັດເຕີຣີແທັບເລັດ"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ສາມາດເປີດໃຊ້ SIM ທີ່ດາວໂຫລດມາແລ້ວເທື່ອລະອັນເທົ່ານັ້ນ.\n\nການສະຫຼັບໄປໃຊ້ <xliff:g id="CARRIER1">%1$s</xliff:g> ຈະບໍ່ຍົກເລີກບໍລິການ <xliff:g id="CARRIER2">%2$s</xliff:g> ຂອງທ່ານ."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"ສະຫຼັບໄປໃຊ້ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ລຶບ SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ລຶບ SIM ທີ່ດາວໂຫລດມາແລ້ວນີ້ອອກບໍ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ການລຶບ SIM ນີ້ຈະລຶບບໍລິການ <xliff:g id="CARRIER_0">%1$s</xliff:g> ອອກຈາກອຸປະກອນນີ້.\n\nຈະບໍ່ຍົກເລີກບໍລິການສຳລັບ <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ລຶບ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ກຳລັງລຶບ SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້ເນື່ອງຈາກມີຂໍ້ຜິດພາດ.\n\nກະລຸນາຣີສະຕາດອຸປະກອນຂອງທ່ານແລ້ວລອງໃໝ່."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການ"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ທ່ານຫາກໍຕິດຕັ້ງແອັບນີ້ໄປ"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ສະຫຼັບການສົ່ງຂໍ້ມູນອອກ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ຕອນນີ້ກຳລັງຫຼິ້ນຢູ່ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ຕັດການເຊື່ອມຕໍ່ແລ້ວ)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ບໍ່ສາມາດສະຫຼັບໄດ້. ແຕະເພື່ອລອງໃໝ່."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ຂໍ້ມູນສຳຄັນ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ສືບຕໍ່"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ບໍ່, ຂອບໃຈ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index b944063..716ac50 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G skambinimas"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Naudoti LTE paslaugas „Voice“ ir kitiems ryšiams patobulinti (rekomenduojama)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Naudoti 4G paslaugas „Voice“ ir kitiems ryšiams patobulinti (rekomenduojama)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktų aptikimas"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Operatoriui leidžiama aptikti, kurias skambinimo funkcijas palaiko jūsų kontaktai."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Įgalinti kontaktų aptikimą?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Įgalinus šią funkciją, operatorius galės pasiekti telefono numerius jūsų kontaktuose, kad aptiktų, kurias skambinimo funkcijas jie palaiko."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Pageidaujamas tinklo tipas"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (rekomenduojama)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS pranešimai"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistemos grafikos tvarkyklė"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupė"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Pasirinktas 1 įrenginys"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Pasirinkta įrenginių: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Perjungiama…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Gauti skambučius"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Negalima pakeisti šio APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Pailginkite planš. komp. akum. veikimo laiką"</string>
@@ -4830,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vienu metu gali būti aktyvi tik viena atsisiųsta SIM kortelė.\n\nPerjungus į „<xliff:g id="CARRIER1">%1$s</xliff:g>“ jums teikiamos „<xliff:g id="CARRIER2">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Perjungti į „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ištrinti SIM kortelę"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Ištrinti šią atsisiųstą SIM kortelę?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ištrynus šią SIM kortelę bus pašalintos „<xliff:g id="CARRIER_0">%1$s</xliff:g>“ paslaugos iš šio įrenginio.\n\n„<xliff:g id="CARRIER_1">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ištrinti"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Ištrinama SIM kortelė…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nepavyko ištrinti SIM kortelės"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Šios SIM kortelės negalima ištrinti dėl klaidos.\n\nPaleiskite įrenginį iš naujo ir bandykite dar kartą."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Pageidaujamas tinklo tipas"</string>
@@ -4921,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Neseniai įdiegėte šią programą."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Išvesties perjungimas"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Šiuo metu leidžiama per <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"„<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“ (atjungta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Įjungti nepavyko. Bandykite vėl palietę."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Svarbi informacija"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TĘSTI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"AČIŪ, NE"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 213fde8..16b80bc 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -3122,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G zvani"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Lietojiet LTE pakalpojumus, lai uzlabotu balss un cita veida saziņu (ieteicams)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Lietojiet 4G pakalpojumus, lai uzlabotu balss un cita veida saziņu (ieteicams)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktpersonu atklāšana"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Ļauj mobilo sakaru operatoram atklāt, kuras zvanīšanas funkcijas atbalsta kontaktpersonu numuri."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vai iespējot kontaktpersonu atklāšanu?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ja iespējosiet šo funkciju, jūsu mobilo sakaru operators varēs piekļūt jūsu kontaktpersonu tālruņa numuriem, lai noteiktu, kuras zvanīšanas funkcijas tie atbalsta."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Ieteicamais tīkla veids"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ieteicams)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Multiziņas"</string>
@@ -4597,6 +4601,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistēmas grafikas dzinis"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4627,6 +4632,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Atlasīta viena ierīce"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Atlasītas <xliff:g id="COUNT">%1$d</xliff:g> ierīces"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Notiek pārslēgšana…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atbildēt uz zvanu, izmantojot:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN nevar mainīt."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Planšetdatora akum. darb. ilguma uzlabošana"</string>
@@ -4745,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vienlaikus aktīva var būt tikai viena lejupielādēta SIM karte.\n\nPārslēdzoties uz <xliff:g id="CARRIER1">%1$s</xliff:g>, netiks atcelti <xliff:g id="CARRIER2">%2$s</xliff:g> pakalpojumi."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Pārslēgties uz operatoru <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Dzēst SIM karti"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vai dzēst šo lejupielādēto SIM karti?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Izdzēšot šo SIM karti, operatora “<xliff:g id="CARRIER_0">%1$s</xliff:g>” pakalpojumi tiek noņemti no šīs ierīces.\n\n“<xliff:g id="CARRIER_1">%2$s</xliff:g>” pakalpojumi netiks atcelti."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Dzēst"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Notiek SIM kartes dzēšana…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nevar izdzēst SIM karti"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Šo SIM karti nevar izdzēst, jo radās kļūda.\n\nRestartējiet ierīci un mēģiniet vēlreiz."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ieteicamais tīkla veids"</string>
@@ -4833,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Jūs nesen instalējāt šo lietotni."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Slēdža izeja"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Šobrīd saturs tiek atskaņots ierīcē <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (savienojums pārtraukts)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nevar pārslēgt. Pieskarieties vēlreiz."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Svarīga informācija"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TURPINĀT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NĒ, PALDIES"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 6995bbb..b6b9c87 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -3078,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Повици преку 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Користете ги LTE-услугите за да ја подобрите гласовната и другите видови комуникација (препорачано)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Користете ги услугите 4G за да ја подобрите гласовната и другите видови комуникација (препорачано)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"Претпочитан тип мрежа"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (препорачано)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-пораки"</string>
@@ -4513,6 +4521,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системски драјвер за графика"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4552,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Избран е 1 уред"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Избрани се <xliff:g id="COUNT">%1$d</xliff:g> уреди"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Префрлање…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Прифатете повик на"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ова APN не може да се промени."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Подобрете го траењето на батеријата"</string>
@@ -4660,10 +4670,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Само една од преземените SIM-картички може да биде активна.\n\nАко се префрлите на <xliff:g id="CARRIER1">%1$s</xliff:g>, тоа нема да ја откаже вашата услуга на <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Префрли на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Избриши ја SIM-картичката"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Да се избрише преземената SIM-картичка?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ако ја избришете SIM-картичкава, услугата на <xliff:g id="CARRIER_0">%1$s</xliff:g> ќе се отстрани од уредов.\n\nУслугата за <xliff:g id="CARRIER_1">%2$s</xliff:g> нема да се откаже."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Избриши"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Се брише SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не може да се избрише SIM-картичката"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Оваа SIM-картичка не може да се избрише поради грешка.\n\nРестартирајте го уредот и обидете се повторно."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Претпочитан тип мрежа"</string>
@@ -4745,6 +4751,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Неодамна ја инсталиравте апликацијава."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Сменете го излезот"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Моментално се пушта на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важни информации"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ПРОДОЛЖИ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, ФАЛА"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index db77439..5986339 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"വൈഫൈ ഹോട്ട്‌സ്‌പോട്ടിനായി കുറഞ്ഞത് ഒരു ബാൻഡ് എങ്കിലും തിരഞ്ഞെടുക്കുക:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ക്രമീകരണം"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"സ്വകാര്യത"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"സബ്‌സ്‌ക്രിപ്‌ഷൻ"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"സബ്‌സ്‌ക്രിപ്‌ഷൻ കാണുകയോ മാറ്റുകയോ ചെയ്യുക"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ക്രമരഹിതമായ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ഒരു ഉപകരണം ചേർക്കുക"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” എന്നതിലേക്ക് ഉപകരണം ചേർക്കാൻ,  ചുവടെയുള്ള QR കോഡിലേക്ക് കേന്ദ്രീകരിക്കുക"</string>
@@ -3080,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G കോളിംഗ്"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"വോയ്‌സ്, മറ്റ് ആശയവിനിമയങ്ങൾ (നിർദ്ദേശിതം) എന്നിവ മികച്ചതാക്കുന്നതിന് LTE സേവനങ്ങൾ ഉപയോഗിക്കുക"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"വോയ്‌സ്, മറ്റ് ആശയവിനിമയങ്ങൾ (നിർദ്ദേശിതം) എന്നിവ മികച്ചതാക്കുന്നതിന് 4G സേവനങ്ങൾ ഉപയോഗിക്കുക"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"കോൺടാക്റ്റ് കണ്ടെത്തൽ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"കോൺടാക്‌റ്റുകൾ ഏതെല്ലാം കോളിംഗ് ഫീച്ചറുകളെ പിന്തുണയ്‌ക്കുന്നുവെന്ന് കണ്ടെത്താൻ സേവനദാതാവിനെ അനുവദിക്കുന്നു."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"കോൺടാക്റ്റ് കണ്ടെത്തൽ പ്രവർത്തനക്ഷമമാക്കണോ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ഈ ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുന്നത്, കോൺടാക്‌റ്റുകളിലെ ഫോൺ നമ്പറുകൾ ആക്‌സസ് ചെയ്യാൻ നിങ്ങളുടെ സേവനദാതാവിനെ അനുവദിക്കും, കോൺടാക്‌റ്റുകൾ ഏതെല്ലാം കോളിംഗ് ഫീച്ചറുകളെ പിന്തുണയ്‌ക്കുന്നുവെന്ന് കണ്ടെത്തുന്നതിനാണിത്."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"തിരഞ്ഞെടുത്ത നെറ്റ്‌വർക്ക് തരം"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ശുപാർശചെയ്‌തത്)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS സന്ദേശങ്ങൾ"</string>
@@ -4515,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"സിസ്‌റ്റം ഗ്രാഫിക്‌സ് ഡ്രൈവർ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ഗ്രൂപ്പ്"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"ഒരു ഉപകരണം തിരഞ്ഞെടുത്തു"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ഉപകരണങ്ങൾ തിരഞ്ഞെടുത്തു"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"കോളെടുക്കൽ ഓണാണ്"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ഈ APN മാറ്റാനാവില്ല."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ടാബ്‌ലെറ്റിന്റെ ബാറ്ററി ലൈഫ് മെച്ചപ്പെടുത്തുക"</string>
@@ -4662,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ഡൗൺലോഡ് ചെയ്‌ത ഒരു SIM മാത്രമേ ഒരു സമയത്ത് സജീവമായിരിക്കൂ.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നത് നിങ്ങളുടെ <xliff:g id="CARRIER2">%2$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> എന്നതിലേക്ക് മാറുക"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM മായ്‌ക്കുക"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ഡൗൺലോഡ് ചെയ്‌ത ഈ SIM മായ്ക്കണോ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ഈ SIM മായ്ക്കുന്നത് <xliff:g id="CARRIER_0">%1$s</xliff:g> സേവനത്തെ ഈ ഉപകരണത്തിൽ നിന്ന് നീക്കം ചെയ്യുന്നു.\n\n <xliff:g id="CARRIER_1">%2$s</xliff:g> എന്നതിനുള്ള സേവനം റദ്ദാക്കില്ല."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"മായ്ക്കുക"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM മായ്ക്കുന്നു…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM മായ്ക്കാനാവില്ല"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"പിശക് കാരണം ഈ SIM മായ്ക്കാനാവില്ല.\n\nനിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് തരം"</string>
@@ -4747,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"നിങ്ങൾ ഈ ആപ്പ് സമീപകാലത്ത് ഇൻസ്‌റ്റാൾ ചെയ്‌തതാണ്."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ഔട്ട്പുട്ട് മാറുക"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"നിലവിൽ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്ന ഉപകരണത്തിൽ പ്ലേ ചെയ്യുന്നു"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (വിച്ഛേദിച്ചു)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"മാറാനാകുന്നില്ല. വീണ്ടും ശ്രമിക്കാൻ ടാപ്പ് ചെയ്യൂ."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"പ്രധാനപ്പെട്ട വിവരങ്ങൾ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"തുടരുക"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"വേണ്ട"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 6c3a4b9..d7c82df 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Дуудлага"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE үйлчилгээг дуу хоолой болон бусад харилцаа холбоог сайжруулахад ашиглах (санал болгосон)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G үйлчилгээг дуу хоолой болон бусад харилцаа холбоог сайжруулахад ашиглах (санал болгосон)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Харилцагчийг илрүүлэх"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Таны харилцагчид дуудлагын ямар онцлог дэмждэг болохыг илрүүлэхийг таны оператор компанид зөвшөөрнө."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Харилцагчийг илрүүлэхийг идэвхжүүлэх үү?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Энэ онцлогийг идэвхжүүлснээр таны оператор компанид таны харилцагчид дуудлагын ямар онцлог дэмждэг болохыг илрүүлэх зорилгоор утасны дугаарт нь хандахыг зөвшөөрнө."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Сүлжээний үндсэн төрөл"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (зөвлөмж болгосон)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Мультимедиа мессеж"</string>
@@ -4511,6 +4515,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системийн графикийн драйвер"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4541,6 +4546,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Бүлэг"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 төхөөрөмжийг сонгосон"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> төхөөрөмжийг сонгосон"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Сэлгэж байна…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Дуудлага авах"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Энэ APN-г өөрчлөх боломжгүй."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Таблетын батарейн ажиллах хугацааг нэмэгдүүлэх"</string>
@@ -4658,10 +4664,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Нэг удаад зөвхөн татаж авсан нэг СИМ-г идэвхжүүлэх боломжтой.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> руу сэлгэснээр таны <xliff:g id="CARRIER2">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> руу сэлгэх"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"СИМ-г устгах"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Энэ татаж авсан СИМ-г устгах уу?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Энэ СИМ-г устгаснаар энэ төхөөрөмжөөс <xliff:g id="CARRIER_0">%1$s</xliff:g>-н үйлчилгээг устгана.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Устгах"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"СИМ-г устгаж байна…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"СИМ-г устгаж чадсангүй"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Энэ СИМ-г алдааны улмаас устгаж чадсангүй.\n\nТөхөөрөмжөө дахин эхлүүлээд, дахин оролдоно уу."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Давуу эрхтэй сүлжээний төрөл"</string>
@@ -4743,6 +4745,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Та саяхан энэ аппыг суулгасан байна."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Гаралтыг сэлгэх"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Одоогоор <xliff:g id="DEVICE_NAME">%1$s</xliff:g> дээр тоглуулж байна"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (салгасан)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Сэлгэх боломжгүй. Дахин оролдох бол товшино уу."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Чухал мэдээлэл"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ҮРГЭЛЖЛҮҮЛЭХ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ҮГҮЙ, БАЯРЛАЛАА"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 568cc1f..99d29fb 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"वाय-फाय हॉटस्‍पॉटसाठी किमान एक बँड निवडा:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP सेटिंग्ज"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"गोपनीयता"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"सदस्यत्व"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"सदस्यत्व पहा किंवा बदला"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"रँडमाइझ केलेले MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"डिव्हाइस जोडा"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>” वर डिव्हाइस जोडण्यासाठी QR कोड मध्यभागी येईल अशा पद्धतीने डिव्हाइस धरा"</string>
@@ -3081,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G कॉलिंग"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"व्‍हॉइस आणि इतर संवादांमध्ये सुधारणा करण्‍यासाठी LTE सेवा वापरा (शिफारस केलेले)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"व्‍हॉइस आणि इतर संवादांमध्ये सुधारणा करण्‍यासाठी 4G सेवा वापरा (शिफारस केलेले)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"संपर्क शोधणे"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"तुमचे संपर्क कोणती कॉलिंग वैशिष्ट्ये सपोर्ट करतात हे जाणून घेण्याची तुमच्या वाहकाला अनुमती देते."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"संपर्क शोधणे सुरू करायचे आहे का?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"हे वैशिष्ट्य सुरू केल्याने तुमच्या वाहकाला तुमच्या संपर्कांमधील फोन नंबरचा अ‍ॅक्सेस करण्याची अनुमती मिळेल जेणेकरून ते कोणत्या कॉलिंग वैशिष्ट्यांना सपोर्ट करतात हे जाणून घेता येईल."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"प्राधान्‍य असलेला नेटवर्क प्रकार"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (शिफारस केलेले)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS मेसेज"</string>
@@ -4516,6 +4518,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"सिस्टम ग्राफिक ड्रायव्हर"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4546,6 +4549,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"गट"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"एक डिव्हाइस निवडले आहे"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> डिव्हाइस निवडली आहेत"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"कॉल यावर घ्या"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"हा APN बदला जाऊ शकत नाही."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"टॅबलेटची बॅटरी लाइफ सुधारा"</string>
@@ -4663,10 +4668,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"एका वेळी फक्त एकच डाउनलोड केलेले सिम अ‍ॅक्टिव्ह असू शकते.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> वर स्विच केल्याने तुमच्या <xliff:g id="CARRIER2">%2$s</xliff:g> सेवा रद्द होणार नाहीत."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> वर स्विच करा"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"सिम मिटवा"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"हे डाउनलोड केलेले सिम मिटवायचे?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"हे सिम मिटवल्याने या डिव्हासवरून <xliff:g id="CARRIER_0">%1$s</xliff:g> सेवा काढली जाते.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ची सेवा रद्द केली जाणार नाही."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"मिटवा"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"सिम मिटवत आहे…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"सिम मिटवू शकत नाही"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"हे सिम एका एररमुळे मिटवता येत नाही.\n\nतुमचे डिव्हाइस रीस्टार्ट करा आणि पुन्हा प्रयत्न करा."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"प्राधान्‍यकृत नेटवर्क प्रकार"</string>
@@ -4748,6 +4749,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"तुम्ही हे अ‍ॅप नुकतेच इंस्टॉल केले."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"आउटपुट स्विच करा"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"सध्या <xliff:g id="DEVICE_NAME">%1$s</xliff:g> वर प्ले करत आहे"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (डिस्कनेक्ट केलेले)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"स्विच करता आले नाही. पुन्हा प्रयत्न करण्यासाठी टॅप करा."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"महत्त्वाची माहिती"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"सुरू ठेवा"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"नाही नको"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 110e506..59f7e88 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Panggilan 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gunakan perkhidmatan LTE untuk memperbaik suara dan komunikasi lain (disyorkan)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gunakan perkhidmatan 4G untuk memperbaik suara dan komunikasi lain (disyorkan)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Penemuan kenalan"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Membenarkan pembawa anda mengetahui ciri panggilan yang disokong oleh kenalan anda."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Dayakan penemuan kenalan?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Tindakan mendayakan ciri ini akan membenarkan pembawa anda mengakses nombor telefon dalam kenalan anda untuk mengetahui ciri panggilan yang disokong oleh nombor tersebut."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Jenis rangkaian pilihan"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (disyorkan)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mesej MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Pemacu Grafik Sistem"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Kumpulan"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 peranti dipilih"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> peranti dipilih"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Jawab panggilan pada"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN ini tidak boleh diubah."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Lanjutkan hayat bateri tablet"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Hanya satu SIM yang dimuat turun boleh aktif pada satu-satu masa.\n\nBertukar kepada <xliff:g id="CARRIER1">%1$s</xliff:g> tidak akan membatalkan perkhidmatan <xliff:g id="CARRIER2">%2$s</xliff:g> anda."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Tukar kepada <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Padamkan SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Padamkan SIM yang dimuat turun ini?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Pemadaman SIM ini akan mengalih keluar perkhidmatan <xliff:g id="CARRIER_0">%1$s</xliff:g> daripada peranti ini.\n\nPerkhidmatan untuk <xliff:g id="CARRIER_1">%2$s</xliff:g> tidak akan dibatalkan."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Padam"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Memadamkan SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Tidak dapat memadamkan SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM ini tidak dapat dipadamkan disebabkan ralat.\n\nMulakan semula peranti anda, kemudian cuba lagi."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Jenis rangkaian pilihan"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Anda memasang apl ini baru-baru ini."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Tukar output"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Sedang dimainkan pada <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (diputuskan sambungan)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Tidak dpt menukar. Ketik utk mencuba lg."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Maklumat penting"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TERUSKAN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"TIDAK PERLU"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index a8bd46f..d251165 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ခေါ်ဆိုမှု"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"အသံခေါ်ဆိုမှုနှင့် အခြားဆက်သွယ်ရေးများ ပိုကောင်းစေရန် LTE ဝန်ဆောင်မှုများ အသုံးပြုပါ (အကြံပြုထားသည်)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"အသံခေါ်ဆိုမှုနှင့် အခြားဆက်သွယ်ရေးများ ပိုကောင်းစေရန် 4G ဝန်ဆောင်မှုများ အသုံးပြုပါ (အကြံပြုထားသည်)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"အဆက်အသွယ် ရှာဖွေတွေ့ရှိမှု"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"သင်၏ဝန်ဆောင်မှုပေးသူက သင့်အဆက်အသွယ်များ ပံ့ပိုးသည့် ခေါ်ဆိုရေးဝန်ဆောင်မှုများကို ရှာဖွေခွင့်ရသည်။"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"အဆက်အသွယ် ရှာဖွေတွေ့ရှိမှုကို ဖွင့်မလား။"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ဤဝန်ဆောင်မှုကိုဖွင့်ခြင်းဖြင့် သင်၏ဝန်ဆောင်မှုပေးသူက သင့်အဆက်အသွယ်များထဲရှိ ဖုန်းနံပါတ်များကို ဝင်ကြည့်ခွင့်ရမည်ဖြစ်၍ ၎င်းတို့ ပံ့ပိုးသည့် ခေါ်ဆိုရေးဝန်ဆောင်မှုများကို ရှာဖွေနိုင်သည်။"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ပိုနှစ်သက်သော ကွန်ရက်အမျိုးအစား"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (အကြံပြုထား)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS မက်ဆေ့ဂျ်များ"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"စနစ် ဂရပ်ဖစ်ဒရိုင်ဗာ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"အုပ်စု"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"စက်ပစ္စည်း ၁ ခုကို ရွေးချယ်ထားသည်"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"စက်ပစ္စည်း <xliff:g id="COUNT">%1$d</xliff:g> ခုကို ရွေးချယ်ထားသည်"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"ပြောင်းနေသည်…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"အောက်ပါတွင် ခေါ်ဆိုမှု လက်ခံရန်"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ဤ APN ကို ပြောင်း၍မရပါ။"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"တက်ဘလက်၏ ဘက်ထရီသက်တမ်းကို ပိုကောင်းအောင်လုပ်ပါ"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"တစ်ကြိမ်တွင် ဒေါင်းလုဒ်လုပ်ထားသော ဆင်းမ်ကတ်တစ်ခုသာ အသုံးပြုနိုင်ပါသည်။\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> သို့ပြောင်းခြင်းက သင့် <xliff:g id="CARRIER2">%2$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> သို့ ပြောင်းရန်"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ဆင်းမ်ကတ် ဖျက်ရန်"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ဒေါင်းလုဒ်လုပ်ထားသော ဤဆင်းမ်ကတ်ကို ဖျက်လိုသလား။"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ဤဆင်းမ်ကတ်ကို ဖျက်ခြင်းဖြင့် ဤစက်ပစ္စည်းမှ <xliff:g id="CARRIER_0">%1$s</xliff:g>ဝန်ဆောင်မှုကို ဖယ်ရှားပါမည်။\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> အတွက် ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ဖျက်ရန်"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ဆင်းမ်ကတ် ဖျက်နေသည်…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ဆင်းမ်ကတ်ကို ဖျက်၍မရပါ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"အမှားအယွင်းရှိနေသောကြောင့် ဤဆင်းမ်ကတ်ကို ဖျက်၍မရပါ။\n\nသင့်စက်ပစ္စည်းကို ပြန်စပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"အသုံးပြုလိုသော ကွန်ရက် အမျိုးအစား"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ဤအက်ပ်ကို မကြာသေးမီက ထည့်သွင်းထားသည်။"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"မီဒီယာအထွက် ပြောင်းပါ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ပေါ်တွင် လက်ရှိ ဖွင့်နေသည်"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ချိတ်ဆက်မထားပါ)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ပြောင်း၍ မရပါ။ ပြန်စမ်းကြည့်ရန် တို့ပါ။"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"အရေးကြီးသော အချက်အလက်"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ရှေ့ဆက်ရန်"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"မလိုပါ"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 2053b62..3f09228 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-ringing"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Bruk LTE-tjenester for å forbedre stemmekommunikasjonen og andre typer kommunikasjon (anbefalt)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Bruk 4G-tjenester for å forbedre stemmekommunikasjon og andre typer kommunikasjon (anbefalt)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Oppdagelse av kontakter"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Lar operatøren din oppdage hvilke ringefunksjoner kontaktene dine støtter."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Vil du slå på oppdagelse av kontakter?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Hvis du slår på denne funksjonen, kan operatøren din få tilgang til telefonnumre i kontaktene dine for å oppdage hvilke ringefunksjoner de støtter."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Foretrukket nettverkstype"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (anbefales)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-meldinger"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Systemets grafikkdriver"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Gruppe"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 enhet er valgt"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> enheter er valgt"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Svar på anropet med"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Dette APN-et kan ikke endres."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Forbedre nettbrettets batterilevetid"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Bare ett nedlastet SIM-kort kan være aktivt om gangen.\n\nHvis du bytter til <xliff:g id="CARRIER1">%1$s</xliff:g>, kanselleres ikke <xliff:g id="CARRIER2">%2$s</xliff:g>-tjenesten din."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Bytt til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Slett SIM-kort"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vil du slette dette nedlastede SIM-kortet?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Hvis du sletter dette SIM-kortet, fjernes <xliff:g id="CARRIER_0">%1$s</xliff:g>-tjenesten fra denne enheten.\n\nTjenesten for <xliff:g id="CARRIER_1">%2$s</xliff:g> blir ikke kansellert."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Slett"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Sletter SIM-kort …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kan ikke slette SIM-kort"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Dette SIM-kortet kan ikke slettes på grunn av en feil.\n\nStart enheten din på nytt og prøv igjen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Foretrukket nettverkstype"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du har nylig installert denne appen."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Bytt utenhet"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Spiller nå av på <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (frakoblet)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan ikke bytte. Trykk for å prøve igjen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Viktig informasjon"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"FORTSETT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEI TAKK"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index f5b29ff..aaac498 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi‑Fi हटस्पटका लागि कम्तीमा एक ब्यान्ड छनौट गर्नुहोस्:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP सेटिङहरू"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"गोपनीयता"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"सदस्यता"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"सदस्यता हेर्नुहोस् वा परिवर्तन गर्नुहोस्"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"अनियमित MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"कुनै यन्त्र थप्नुहोस्"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"उक्त यन्त्रलाई “<xliff:g id="SSID">%1$s</xliff:g>” मा यन्त्र थप्न तलको QR कोडलाई मध्य भागमा राख्नुहोस्"</string>
@@ -3080,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G कल गर्दै"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"आवाज र अन्य सञ्चारमा सुधार गर्न LTE सेवाहरूको प्रयोग गर्नुहोस् (सिफारिस गरिएको)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"आवाज र अन्य सञ्चार सेवाको गुणस्तर सुधार्न 4G सेवाहरूको प्रयोग गर्नुहोस् (सिफारिस गरिएको)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"सञ्जाल प्रकार रुचाइएको"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (सिफारिस गरिएको)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS सन्देश"</string>
@@ -4515,6 +4521,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"प्रणालीको ग्राफिक्स ड्राइभर"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4552,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"समूह"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"१ यन्त्र चयन गरियो"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> यन्त्रहरू चयन गरिए"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"यसमार्फत फोन उठाउनुहोस्"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"यो APN परिवर्तन गर्न सकिँदैन।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ट्याब्लेटको ब्याट्रीको आयुमा सुधार गर्नुहोस्"</string>
@@ -4662,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"एक पटकमा डाउनलोड गरिएको  एउटा SIM मात्र सक्रिय हुन सक्छ।\n\nयसलाई बदलेर <xliff:g id="CARRIER1">%1$s</xliff:g> मा जानुले तपाईंको <xliff:g id="CARRIER2">%2$s</xliff:g> को सेवा रद्द गर्दैन।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> मा जानुहोस्"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM मेट्नुहोस्"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"डाउनलोड गरिएको यो SIM मेटाउने हो?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"यो SIM मेटाउनुले यस यन्त्रबाट <xliff:g id="CARRIER_0">%1$s</xliff:g> सेवा हटाउने छ।\n\n <xliff:g id="CARRIER_1">%2$s</xliff:g> को सेवा भने रद्द गरिने छैन।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"मेट्नुहोस्"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM मेटाइँदै…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM मेटाउन सकिँदैन"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"कुनै त्रुटि भएका कारण यो SIM मेटाउन सकिएन।\n\nआफ्नो यन्त्र पुनः सुरु गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"रुचाइएको नेटवर्कको प्रकार"</string>
@@ -4747,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"तपाईंले हालसालै यो अनुप्रयोग स्थापना गर्नुभयो।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"आउटपुट बदल्नुहोस्"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"हाल <xliff:g id="DEVICE_NAME">%1$s</xliff:g> मा प्ले भइरहेको"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"महत्त्वपूर्ण जानकारी"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"जारी राख्नुहोस्"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"पर्दैन, धन्यवाद"</string>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index c88158b..f67d0bd 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -37,6 +37,5 @@
     <color name="palette_list_color_cyan">@color/palette_list_dark_mode_color_cyan</color>
     <color name="palette_list_color_blue">@color/palette_list_dark_mode_color_blue</color>
     <color name="palette_list_color_purple">@color/palette_list_dark_mode_color_purple</color>
-    <color name="palette_list_color_pink">@color/palette_list_dark_mode_color_pink</color>
 </resources>
 
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 045327d..ae86a7d 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Bellen via 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"LTE-services gebruiken voor betere gesproken en andere communicatie (aanbevolen)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"4G-services gebruiken voor betere gesproken en andere communicatie (aanbevolen)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contactverkenning"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Hiermee kan je provider verkennen welke belfuncties je contacten ondersteunen."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Contactverkenning inschakelen?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Als je deze functie inschakelt, krijgt je provider toegang tot de telefoonnummers van je contacten om te verkennen welke belfuncties ze ondersteunen."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Voorkeursnetwerktype"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (aanbevolen)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mms-berichten"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafisch stuurprogramma voor systeem"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Groep"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Eén apparaat geselecteerd"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> apparaten geselecteerd"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Overschakelen…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Opnemen op"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Deze APN kan niet worden gewijzigd."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"De batterijduur van de tablet verbeteren"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Er kan slechts één gedownloade simkaart tegelijk actief zijn.\n\nAls je overschakelt naar <xliff:g id="CARRIER1">%1$s</xliff:g>, wordt de service van <xliff:g id="CARRIER2">%2$s</xliff:g> niet geannuleerd."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Overschakelen naar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Simkaart wissen"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Deze gedownloade simkaart wissen?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Als deze simkaart wordt gewist, wordt de <xliff:g id="CARRIER_0">%1$s</xliff:g>-service van dit apparaat verwijderd.\n\nDe service voor <xliff:g id="CARRIER_1">%2$s</xliff:g> wordt niet geannuleerd."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Wissen"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Simkaart wissen…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kan simkaart niet wissen"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Door een fout kan deze simkaart niet worden gewist.\n\nStart je apparaat opnieuw en probeer het nogmaals."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Voorkeursnetwerktype"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Je hebt deze app recent geïnstalleerd."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Uitvoer wijzigen"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Wordt momenteel afgespeeld op <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (verbinding verbroken)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Kan niet schakelen. Tik voor opnieuw proberen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Belangrijke informatie"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DOORGAAN"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEE"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index fdd3e5d..8b71bcc 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ୱାଇ-ଫାଇ ହଟସ୍ପଟ୍ ପାଇଁ ଅତିକମ୍‌ରେ ଗୋଟିଏ ବ୍ୟାଣ୍ଡକୁ ଚୟନ କରନ୍ତୁ:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ସେଟିଙ୍ଗ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ଗୋପନୀୟତା"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"ସଦସ୍ୟତା"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ସଦସ୍ୟତା ଦେଖନ୍ତୁ କିମ୍ବା ବଦଳାନ୍ତୁ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ଅନିୟମିତ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ଏକ ଡିଭାଇସ୍‍ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ଏହି “<xliff:g id="SSID">%1$s</xliff:g>”ରେ ଡିଭାଇସ୍ ଯୋଗ କରିବା ପାଇଁ ନିମ୍ନରେ ଥିବା QR କୋଡ୍‍କୁ କେନ୍ଦ୍ରକୁ ଆଣନ୍ତୁ"</string>
@@ -3080,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G କଲିଂ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ଭଏସ୍ ଓ ଅନ୍ୟ ଯୋଗାଯୋଗକୁ ଉନ୍ନତ କରିବା ପାଇଁ LTE ସେବା ବ୍ୟବହାର କରନ୍ତୁ (ସୁପାରିଶ୍ କରାଯାଇଛି)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ଭଏସ୍ ଓ ଅନ୍ୟ ଯୋଗାଯୋଗ (ସୁପାରିଶ କରିଯାଇଥିବା)କୁ ଉନ୍ନତ କରିବା ପାଇଁ 4G ସେବା ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"କଣ୍ଟାକ୍ଟ ଡିସ୍କଭରୀ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"ଆପଣଙ୍କ ଯୋଗାଯୋଗ କେଉଁ କଲିଂ ଫିଚର୍ ସମର୍ଥନ କରେ, ତାହା ଡିସ୍କଭର୍ କରିବାକୁ ମୋବାଇଲ୍ କମ୍ପାନୀକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"କଣ୍ଟାକ୍ଟ ଡିସ୍କଭର୍ ସକ୍ଷମ କରିବେ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"ଏହି ଫିଚରକୁ ସକ୍ଷମ କରିବା ଦ୍ୱାରା, ଆପଣଙ୍କ ଯୋଗାଯୋଗରେ ଥିବା ଫୋନ୍ ନମ୍ବର କେଉଁ କଲିଂ ଫିଚର୍ ସମର୍ଥନ କରେ, ତାହା ଡିସ୍କଭର କରିବାକୁ ଆପଣଙ୍କ ମୋବାଇଲ୍ କମ୍ପାନୀ ସେମାନଙ୍କୁ ଆକ୍ସେସ୍ କରିବ।"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ନିଜ ପସନ୍ଦର ନେଟ୍‌ୱର୍କ ପ୍ରକାର"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ପ୍ରସ୍ତାବିତ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS ମେସେଜ୍‌ଗୁଡ଼ିକ"</string>
@@ -4515,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ସିଷ୍ଟମ୍ ଗ୍ରାଫିକ୍ସ ଡ୍ରାଇଭର୍"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ଗୋଷ୍ଠୀ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1ଟି ଡିଭାଇସ୍ ଚୟନ କରାଯାଇଛି"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g>ଟି ଡିଭାଇସ୍ ଚୟନ କରାଯାଇଛି"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ଏହା ଦ୍ଵାରା କଲ୍‌ର ଉତ୍ତର ଦିଅନ୍ତୁ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ଏହି APNକୁ ବଦଳାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ଟାବଲେଟ୍‌ର ବ୍ୟାଟେରୀ ଜୀବନ ଉନ୍ନତ କରେ"</string>
@@ -4662,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ଏକ ସମୟରେ କେବଳ ଗୋଟିଏ ଡାଉନଲୋଡ୍ ହୋଇଥିବା SIM ସକ୍ରିୟ ହୋଇପାରିବ।\n\n <xliff:g id="CARRIER1">%1$s</xliff:g>କୁ ସ୍ୱିଚ୍ କରିବା ଦ୍ୱାରା ଆପଣଙ୍କର <xliff:g id="CARRIER2">%2$s</xliff:g> ସେବା ବାତିଲ୍ ହୋବ ନାହିଁ।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>କୁ ଯାଆନ୍ତୁ"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ଖାଲି କରନ୍ତୁ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ଡାଉନଲୋଡ୍ ହୋଇଥିବା ଏହି SIMକୁ ଖାଲି କରିବେ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ଏହି SIMକୁ କାଢ଼ିଦେବା ଦ୍ବାରା, ଏହି ଡିଭାଇସ୍‌ରେ <xliff:g id="CARRIER_0">%1$s</xliff:g>ର ସେବା ରହିବ ନାହିଁ।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ପାଇଁ ସେବା ବାତିଲ୍ ହେବ ନାହିଁ।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ହଟାନ୍ତୁ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIMକୁ ଡିଲିଟ୍ କରାଯାଉଛି…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIMକୁ ଖାଲି କରିହେବ ନାହିଁ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ଗୋଟିଏ ତ୍ରୁଟି କାରଣରୁ ଏହି SIMକୁ ଖାଲି କରାଯାଇ ପାରିଲା ନାହିଁ।\n\nଆପଣଙ୍କର ଡିଭାଇସ୍‌କୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ ଏବଂ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ଅଧିକ ପସନ୍ଦର ନେଟ୍‌ୱାର୍କ ପ୍ରକାର"</string>
@@ -4747,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ଆପଣ ସମ୍ପ୍ରତ୍ତି ଏହି ଆପ୍‌କୁ ଇନ୍‌ଷ୍ଟଲ୍ କରିଛନ୍ତି।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ଆଉଟ୍‌ପୁଟ୍ ସ୍ବିଚ୍ କରନ୍ତୁ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ବର୍ତ୍ତମାନ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ରେ ଚାଲୁଛି"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ବିଚ୍ଛିନ୍ନ କରାଯାଇଛି)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"ସ୍ୱିଚ୍ ହେବ ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରିବାକୁ ଟାପ୍ କର।"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ଗୁରୁତ୍ବପୂର୍ଣ୍ଣ ସୂଚନା"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ଜାରି ରଖନ୍ତୁ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ନାହିଁ, ଥାଉ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 409b128..5ed69ee 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਬੈਂਡ ਚੁਣੋ:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP ਸੈਟਿੰਗਾਂ"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"ਪਰਦੇਦਾਰੀ"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"ਗਾਹਕੀ"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"ਗਾਹਕੀ ਦੇਖੋ ਜਾਂ ਬਦਲੋ"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"ਬੇਤਰਤੀਬਾ MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"ਕੋਈ ਡੀਵਾਈਸ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"ਡੀਵਾਈਸ ਨੂੰ “<xliff:g id="SSID">%1$s</xliff:g>” ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨ ਲਈ QR ਕੋਡ ਨੂੰ ਹੇਠਾਂ ਵਿਚਾਲੇ ਰੱਖੋ"</string>
@@ -3080,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ਕਾਲਿੰਗ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ਅਵਾਜ਼ ਅਤੇ ਹੋਰ ਸੰਚਾਰਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ LTE ਸੇਵਾਵਾਂ ਵਰਤੋ (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ਅਵਾਜ਼ ਅਤੇ ਹੋਰ ਸੰਚਾਰਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ 4G ਸੇਵਾਵਾਂ ਵਰਤੋ (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਪ੍ਰਕਾਰ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (ਸਿਫ਼ਾਰਸ਼ੀ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS ਸੁਨੇਹੇ"</string>
@@ -4515,6 +4521,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ਸਿਸਟਮ ਗ੍ਰਾਫ਼ਿਕ ਡਰਾਈਵਰ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4552,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"ਗਰੁੱਪ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ਡੀਵਾਈਸ ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ਡੀਵਾਈਸਾਂ ਨੂੰ ਚੁਣਿਆ ਗਿਆ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ਇਸ \'ਤੇ ਕਾਲ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ਇਸ APN ਨੂੰ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ਟੈਬਲੈੱਟ ਦੀ ਬੈਟਰੀ ਲਾਈਫ਼ ਨੂੰ ਬਿਹਤਰ ਬਣਾਓ"</string>
@@ -4662,10 +4671,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ਇੱਕੋ ਵੇਲੇ ਸਿਰਫ਼ ਇੱਕ ਡਾਊਨਲੋਡ ਕੀਤਾ ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਹੋ ਸਕਦਾ ਹੈ।\n\n <xliff:g id="CARRIER1">%1$s</xliff:g> ਵਰਤਣ ਨਾਲ ਤੁਹਾਡੀ <xliff:g id="CARRIER2">%2$s</xliff:g> ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> \'ਤੇ ਜਾਓ"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ਸਿਮ ਮਿਟਾਓ"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ਕੀ ਇਹ ਡਾਊਨਲੋਡ ਕੀਤਾ ਸਿਮ ਮਿਟਾਉਣਾ ਹੈ?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ਇਹ ਸਿਮ ਮਿਟਾਉਣ ਨਾਲ <xliff:g id="CARRIER_0">%1$s</xliff:g> ਸੇਵਾ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਮਿਟ ਜਾਂਦੀ ਹੈ।\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> ਲਈ ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾਵੇਗੀ।"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ਮਿਟਾਓ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"ਸਿਮ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ਕਿਸੇ ਗੜਬੜ ਕਰਕੇ ਇਹ ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।\n\nਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ"</string>
@@ -4747,6 +4752,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ਤੁਸੀਂ ਇਹ ਐਪ ਹਾਲ ਹੀ ਵਿੱਚ ਸਥਾਪਤ ਕੀਤੀ।"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ਆਊਟਪੁੱਟ ਬਦਲੋ"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"ਫਿਲਹਾਲ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> \'ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ਜਾਰੀ ਰੱਖੋ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ਨਹੀਂ ਧੰਨਵਾਦ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 277f85e..bbd897a 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Połączenia 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Użyj usług LTE, by poprawić łączność głosową i inne (zalecane)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Użyj usług 4G, by poprawić łączność głosową i inne (zalecane)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Odkrywanie kontaktów"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Zezwala operatorowi na odkrywanie funkcji nawiązywania połączeń obsługiwanych przez Twoje kontakty."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Włączyć odkrywanie kontaktów?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Włączenie tej funkcji umożliwi operatorowi dostęp do numerów telefonu w Twoich kontaktach, by poznać funkcje nawiązywania połączeń obsługiwane przez te osoby."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferowany typ sieci"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (zalecana)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-y"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Systemowy sterownik grafiki"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupa"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Wybrano jedno urządzenie"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Wybrane urządzenia: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Przełączam…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Odbierz połączenie przez:"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tego parametru APN nie można zmienić."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Wydłuż czas pracy tabletu na baterii"</string>
@@ -4830,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Tylko jedna pobrana karta SIM może być aktywna w danym momencie.\n\nPrzełączenie na operatora<xliff:g id="CARRIER1">%1$s</xliff:g> nie spowoduje rezygnacji z usług operatora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Przełącz na sieć: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Usuń dane z karty SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Usunąć dane z tej pobranej karty SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Usunięcie tej karty SIM spowoduje usunięcie usługi <xliff:g id="CARRIER_0">%1$s</xliff:g> z tego urządzenia.\n\nUsługa dostarczana przez operatora <xliff:g id="CARRIER_1">%2$s</xliff:g> nie zostanie anulowana."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Usuń dane"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Usuwam dane z karty SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nie można usunąć danych z karty SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Nie można usunąć danych z tej karty SIM z powodu błędu.\n\nUruchom urządzenie ponownie i spróbuj jeszcze raz."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferowany typ sieci"</string>
@@ -4921,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ta aplikacja była ostatnio przez Ciebie instalowana."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Przełącz urządzenie wyjściowe"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Aktualnie odtwarzane na urządzeniu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (rozłączono)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nie można przełączyć. Spróbuj ponownie."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Ważna informacja"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DALEJ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NIE"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index be6f2d4..66ed3cd 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamada 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usar serviços de LTE para melhorar a comunicação por voz e de outros tipos (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar os serviços 4G para melhorar comunicações por voz e de outros tipos (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Descoberta de contatos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que sua operadora descubra quais recursos de chamada são compatíveis com seus contatos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ativar descoberta de contatos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ativar esse recurso permitirá que sua operadora acesse números de telefone nos seus contatos para descobrir quais recursos de chamada são compatíveis."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferencial"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensagens MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver gráfico do sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selecionado"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos selecionados"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Alternando…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Esse APN não pode ser alterado."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Melhorar a duração da bateria do tablet"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Somente um chip transferido por download pode estar ativo por vez.\n\nAlternar para <xliff:g id="CARRIER1">%1$s</xliff:g> não cancelará o serviço da operadora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Alternar para operadora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Limpar chip"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Limpar este chip transferido por download?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"A limpeza deste chip remove o serviço da operadora <xliff:g id="CARRIER_0">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_1">%2$s</xliff:g> não será cancelado."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Limpar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Limpando chip…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Não é possível limpar o chip"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Este chip não pode ser limpo devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferencial"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Você instalou este app recentemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Alterar saída"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Tocando atualmente no <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Impossível mudar. Toque e tente de novo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informações importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NÃO"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index c4b8ff7..67c3d35 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamadas 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Utilizar os serviços LTE para melhorar a voz e outras comunicações (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Utilizar os serviços 4G para melhorar a voz e outras comunicações (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Deteção de contactos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que o seu operador detete as funcionalidades de chamada que os seus contactos suportam."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Pretende ativar a deteção de contactos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"A ativação desta funcionalidade vai permitir que o seu operador aceda aos números de telefone nos seus contactos para descobrir quais são as funcionalidades de chamada suportadas."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferido"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensagens MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Controlador da placa gráfica do sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selecionado"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos selecionados"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada em"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Não é possível alterar este APN."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Melhorar a autonomia da bateria do tablet"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Só pode ter um SIM transferido ativo de cada vez.\n\nMudar para o operador <xliff:g id="CARRIER1">%1$s</xliff:g> não cancela o seu serviço no operador <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Mudar para <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Apagar SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Pretende apagar este SIM transferido?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Se apagar este SIM, o serviço do operador <xliff:g id="CARRIER_0">%1$s</xliff:g> será removido deste dispositivo.\n\nO serviço do operador <xliff:g id="CARRIER_1">%2$s</xliff:g> não é cancelado."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Apagar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"A apagar SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Não é possível apagar o SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Não é possível apagar este SIM devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferido"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Instalou recentemente esta aplicação."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Saída do interruptor"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"A reproduzir atualmente no dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>…"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desligado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Imp. mudar. Toque para tentar novamente."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informações importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NÃO, OBRIGADO"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index be6f2d4..66ed3cd 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Chamada 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Usar serviços de LTE para melhorar a comunicação por voz e de outros tipos (recomendado)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Usar os serviços 4G para melhorar comunicações por voz e de outros tipos (recomendado)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Descoberta de contatos"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite que sua operadora descubra quais recursos de chamada são compatíveis com seus contatos."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ativar descoberta de contatos?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ativar esse recurso permitirá que sua operadora acesse números de telefone nos seus contatos para descobrir quais recursos de chamada são compatíveis."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipo de rede preferencial"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomendado)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mensagens MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driver gráfico do sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 dispositivo selecionado"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> dispositivos selecionados"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Alternando…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Esse APN não pode ser alterado."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Melhorar a duração da bateria do tablet"</string>
@@ -4660,10 +4666,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Somente um chip transferido por download pode estar ativo por vez.\n\nAlternar para <xliff:g id="CARRIER1">%1$s</xliff:g> não cancelará o serviço da operadora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Alternar para operadora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Limpar chip"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Limpar este chip transferido por download?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"A limpeza deste chip remove o serviço da operadora <xliff:g id="CARRIER_0">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_1">%2$s</xliff:g> não será cancelado."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Limpar"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Limpando chip…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Não é possível limpar o chip"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Este chip não pode ser limpo devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferencial"</string>
@@ -4745,6 +4747,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Você instalou este app recentemente."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Alterar saída"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Tocando atualmente no <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (desconectado)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Impossível mudar. Toque e tente de novo."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informações importantes"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAR"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NÃO"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 746c8f3..169184d 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -3122,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Apelare 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Folosiți servicii LTE pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Folosiți servicii 4G pentru a îmbunătăți comunicările vocale și altele (recomandat)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Contact discovery"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Permite operatorului să identifice funcțiile pentru apeluri pe care le acceptă persoanele de contact"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Activați Contact Discovery?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Dacă activați această funcție, operatorul va putea să vă acceseze numerele de telefon din agendă pentru a identifica funcțiile pentru apeluri pe care le acceptă."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tipul de rețea preferat"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (recomandat)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mesaje MMS"</string>
@@ -4597,6 +4601,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Driverul plăcii grafice de sistem"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4627,6 +4632,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"S-a selectat un dispozitiv"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"S-au selectat <xliff:g id="COUNT">%1$d</xliff:g> dispozitive"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Preluați apelul pe"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Acest APN nu poate fi modificat."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Îmbunătățiți autonomia bateriei tabletei"</string>
@@ -4745,10 +4752,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Doar un SIM descărcat poate fi activ odată.\n\nCând comutați la <xliff:g id="CARRIER1">%1$s</xliff:g> nu anulați serviciul <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Comutați la <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ștergeți SIM-ul"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Ștergeți acest SIM descărcat?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Dacă ștergeți acest SIM, veți elimina serviciul <xliff:g id="CARRIER_0">%1$s</xliff:g> de pe acest dispozitiv.\n\nServiciile <xliff:g id="CARRIER_1">%2$s</xliff:g> nu vor fi anulate."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Ștergeți"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Se șterge SIM-ul…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Nu se poate șterge SIM-ul"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Acest SIM nu poate fi șters din cauza unei erori.\n\nReporniți dispozitivul și încercați din nou."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipul de rețea preferat"</string>
@@ -4833,6 +4836,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ați instalat recent această aplicație."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Schimbați rezultatul"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Se redă acum pe <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (s-a deconectat)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nu se poate comuta. Atingeți pentru a reîncerca."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informații importante"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"CONTINUAȚI"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NU, MULȚUMESC"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b347a70..9fa94f9 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Звонки по сети 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Использовать сервисы LTE, чтобы улучшить качество связи (рекомендуется)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Использовать сервисы 4G, чтобы улучшить качество связи (рекомендуется)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Доступ к контактам"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Ваш мобильный оператор сможет узнать, какие функции вызова используют ваши контакты."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Разрешить доступ к контактам?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"После включения этой функции ваш мобильный оператор получит доступ к телефонным номерам ваших контактов и сможет узнать, какие функции вызова они поддерживают."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Тип сети"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (рекомендуется)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-сообщения"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системный графический драйвер"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Группа"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Выбрано 1 устройство"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Выбрано устройств: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Подождите…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Ответить с помощью"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Изменить параметры этой точки доступа невозможно"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Продлите время работы от батареи"</string>
@@ -4830,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Нельзя использовать несколько скачанных SIM-карт одновременно.\n\nВы можете переключиться на SIM-карту \"<xliff:g id="CARRIER1">%1$s</xliff:g>\". Это действие не повлияет на ваш тарифный план у оператора \"<xliff:g id="CARRIER2">%2$s</xliff:g>\"."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Выбрать оператора \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Стереть данные SIM-карты"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Стереть данные скачанной SIM-карты?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Если вы сотрете данные SIM-карты, обслуживание этого устройства оператором \"<xliff:g id="CARRIER_0">%1$s</xliff:g>\" будет остановлено.\n\nЭто не повлияет на сервисы оператора \"<xliff:g id="CARRIER_1">%2$s</xliff:g>\"."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Стереть данные"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Удаление данных SIM-карты…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не удалось стереть данные SIM-карты"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Не удалось стереть данные SIM-карты из-за ошибки.\n\nПерезагрузите устройство и повторите попытку."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Предпочтительный тип сети"</string>
@@ -4921,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Вы недавно установили это приложение."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Смена устройства аудиовыхода"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Воспроизводится на устройстве \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\""</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (отключено)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Ошибка. Нажмите, чтобы повторить."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важная информация"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ДАЛЕЕ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕТ"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 0750362..7ccb7ff 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G ඇමතුම"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"හඬ සහ වෙනත් සන්නිවේදන දියුණු කිරීමට LTE සේවය භාවිත කරන්න (නිර්දේශිතයි)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"හඬ සහ වෙනත් සන්නිවේදන දියුණු කිරීමට 4G සේවා භාවිත කරන්න (නිර්දේශිතයි)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"සම්බන්ධතා අනාවරණය"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"ඔබේ වාහකට ඔබේ සම්බන්ධතා සහාය දක්වන්නේ කුමන ඇමතුම් විශේෂාංගවලටදැයි අනාවරණය කර ගැනීමට ඉඩ දෙයි."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"සම්බන්ධතා අනාවරණය සබල කරන්නද?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"මෙම විශේෂාංගය සබල කිරීමෙන් ඔබේ වාහකයට ඔවුන් සහාය දක්වන්නේ කුමන ඇමතුම් විශේෂාංගවලටදැයි අනාවරණය කර ගැනීමට ඔබේ සම්බන්ධතාවල දුරකථන අංක වෙත ප්‍රවේශ වීමට ඉඩ දෙනු ඇත."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ප්‍රියකරන ජාල වර්ගය"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (නිර්දෙශිත)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS පණිවිඩ"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"පද්ධති ග්‍රැෆික් ධාවකය"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"සමූහය"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"උපාංග 1ක් තෝරන ලදී"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"උපාංග <xliff:g id="COUNT">%1$d</xliff:g>ක් තෝරන ලදී"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"ඇමතුම ගැනීම ක්‍රියාත්මකයි"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"මෙම APN වෙනස් කළ නොහැක."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ටැබ්ලටයේ බැටරි ආයු කාලය වැඩි දියුණු කරන්න"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"එක වේලාවකට බාගත් SIM එකක් පමණක් ක්‍රියාත්මක විය හැක.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> වෙත මාරු වීම ඔබේ <xliff:g id="CARRIER2">%2$s</xliff:g> සේවය අවසන් නොකරයි."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> වෙත මාරු වන්න"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM පත මකන්න"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"මෙම බාගත් SIM පත මකන්නේද?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"මෙම SIM පත මැකීම මෙම උපාංගයෙන් <xliff:g id="CARRIER_0">%1$s</xliff:g> සේවය ඉවත් කරයි.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> සඳහා වන සේවය අවලංගු නොකෙරේ."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"මැකීම"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM මැකේ…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM පත මැකිය නොහැක"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"දෝෂයක් හේතුවෙන් මෙම SIM පත මැකිය නොහැක.\n\nඔබේ උපාංගය යළි අරඹා නැවත උත්සාහ කරන්න."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ප්‍රියකරන ජාල වර්ගය"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"ඔබ මෑතකදී මෙම යෙදුම ස්ථාපිත කළා."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"ප්‍රතිදාන මාරු කරන්න"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"දැනට <xliff:g id="DEVICE_NAME">%1$s</xliff:g> මත වාදන කෙරෙන"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (විසන්ධි විය)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"මාරු කිරීමට නොහැකිය. නැවත උත්සාහ කිරීමට තට්ටු කරන්න."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"වැදගත් තොරතුරු"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ඉදිරියට"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"එපා, ස්තුතියි"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 42f321a..08f7802 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Volanie cez 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Používať na zlepšenie hlasovej a inej komunikácie LTE (odporúčané)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Používať na zlepšenie hlasovej a inej komunikácie služby 4G (odporúčané)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Zisťovanie kontaktov"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Umožňuje operátorovi zistiť, ktoré funkcie hovorov podporujú vaše kontakty."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Chcete povoliť zisťovanie kontaktov?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Povolením tejto funkcie udelíte operátorovi prístup k telefónnym číslam vo vašich kontaktoch, aby mohol zistiť, ktoré funkcie hovorov podporujú."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Preferovaný typ siete"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (odporúčané)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Správy MMS"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafický ovládač systému"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Skupina"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 vybrané zariadenie"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Počet vybraných zariadení: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Prepína sa…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Prijať hovor v zariadení"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tento názov prístupového bodu sa nedá zmeniť."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Predĺženie výdrže batérie tabletu"</string>
@@ -4830,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"V jednej chvíli môže byť aktívna iba jedna stiahnutá SIM karta.\n\nPrepnutím na operátora <xliff:g id="CARRIER1">%1$s</xliff:g> nezrušíte službu operátora <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Prepnúť na <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vymazať SIM kartu"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Chcete vymazať túto stiahnutú SIM kartu?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Vymazaním SIM karty odstránite službu operátora <xliff:g id="CARRIER_0">%1$s</xliff:g> z tohto zariadenia.\n\nSlužba operátora <xliff:g id="CARRIER_1">%2$s</xliff:g> sa nezruší."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Vymazať"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Odstraňuje sa SIM karta…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM karta sa nedá vymazať"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"SIM karta sa nedá vymazať, pretože došlo k chybe.\n\nReštartujte zariadenie a skúste to znova."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferovaný typ siete"</string>
@@ -4921,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Túto aplikáciu ste nainštalovali nedávno."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Prepnutie výstupu"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Momentálne sa prehráva v zariadení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (odpojené)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nedá sa prepnúť. Zopakujte klepnutím."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Dôležité informácie"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"POKRAČOVAŤ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NIE, ĎAKUJEM"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 216c8d4..b8e4424 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Klicanje prek omrežja 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Uporaba storitev LTE za izboljšanje glasovne in druge komunikacije (priporočeno)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Uporaba storitev 4G za izboljšanje glasovne in druge komunikacije (priporočeno)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Odkrivanje stikov"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Operaterju omogoča odkrivanje, katere funkcije za klicanje podpirajo vaši stiki."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Želite omogočiti odkrivanje stikov?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Če omogočite to funkcijo, boste operaterju omogočili dostop do telefonskih številk stikov, da bo lahko odkril, katere funkcije za klicanje stiki podpirajo."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Prednostna vrsta omrežja"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (priporočeno)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Sporočila MMS"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Grafični gonilnik sistema"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Skupina"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Izbrana je ena naprava"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Izbranih je toliko naprav: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Preklapljanje …"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Sprejemanje klicev je vklopljeno"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Tega APN-ja ni mogoče spremeniti."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Izboljšajte čas delovanja akumulatorja tablice"</string>
@@ -4830,10 +4836,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Hkrati je lahko aktivna samo ena prenesena kartica SIM.\n\nČe preklopite na operaterja <xliff:g id="CARRIER1">%1$s</xliff:g>, ne boste preklicali storitve operaterja <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Preklopi na operaterja <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši kartico SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Želite izbrisati preneseno kartico SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Če izbrišete to kartico SIM, boste iz te naprave odstranili storitev operaterja <xliff:g id="CARRIER_0">%1$s</xliff:g>.\n\nStoritev operaterja <xliff:g id="CARRIER_1">%2$s</xliff:g> ne bo preklicana."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Izbriši"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Brisanje kartice SIM …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Kartice SIM ni mogoče izbrisati"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Te kartice SIM ni mogoče izbrisati zaradi napake.\n\nZnova zaženite napravo in poskusite znova."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Prednostna vrsta omrežja"</string>
@@ -4921,6 +4923,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"To aplikacijo ste nedavno namestili."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Preklop izhoda"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Trenutno se predvaja v napravi <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (povezava prekinjena)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Preklop ni mogoč. Dotik za vnov. poskus."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Pomembne informacije"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"NADALJUJ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NE, HVALA"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index d15df8f..f2dccc0 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Telefonatat me 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Përdor shërbimet LTE për të përmirësuar komunikimet zanore dhe të tjera (rekomandohet)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Përdor shërbimet 4G për të përmirësuar komunikimet zanore dhe të tjera (rekomandohet)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Zbulimi i kontakteve"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Lejo që operatori yt celular të zbulojë se cilat veçori mbështesin kontaktet e tua."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Të aktivizohet zbulimi i kontakteve?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Aktivizimi i kësaj veçorie do të lejojë që operatori yt celular të ketë qasje te numrat e telefonit në kontaktet e tua për të zbuluar cilat veçori telefonate mbështesin ato."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Lloji i preferuar i rrjetit"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (rekomandohet)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mesazhet MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Drejtuesi i grafikës së sistemit"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupi"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 pajisje e zgjedhur"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> pajisje të zgjedhura"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Prano telefonatën te"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Ky emër APN nuk mund të ndryshohet."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Përmirëso kohëzgjatjen e baterisë së tabletit"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Vetëm një kartë SIM e shkarkuar mund të jetë aktive në të njëjtën kohë.\n\nKalimi te <xliff:g id="CARRIER1">%1$s</xliff:g> nuk do ta anulojë shërbimin e <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Kalo te <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Spastro kartën SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Dëshiron ta pastrosh këtë kartë SIM të shkarkuar?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Spastrimi i kësaj karte SIM e heq shërbimin e <xliff:g id="CARRIER_0">%1$s</xliff:g> nga kjo pajisje.\n\nShërbimi për <xliff:g id="CARRIER_1">%2$s</xliff:g> nuk do të anulohet."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Spastro"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Karta SIM po spastrohet…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Karta SIM nuk mund të spastrohet"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Kjo kartë SIM nuk mund të spastrohet për shkak të një gabimi.\n\nRinise pajisjen dhe provo përsëri."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Lloji i rrjetit të preferuar"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ke instaluar së fundi këtë aplikacion."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Ndrysho daljen"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Aktualisht po luhet në <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (e shkëputur)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Nuk mund të ndërrohet. Trokit për të provuar përsëri."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Informacione të rëndësishme"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"VAZHDO"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"JO, FALEMINDERIT"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 067f5e8..a9feb22 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -3122,6 +3122,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G позивање"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Коришћење LTE услуга за побољшање гласовних и других комуникација (препоручено)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Користи 4G услуге за побољшање гласовне и друге комуникације (препоручено)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Откривање контаката"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Омогућава мобилном оператеру да открије које функције позивања подржавају ваши контакти."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Желите ли да омогућите откривање контаката?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ако омогућите ову функцију, мобилни оператер ће моћи да приступи бројевима телефона из ваших контаката да би открио које функције позивања подржавају."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Жељени тип мреже"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (препоручено)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS поруке"</string>
@@ -4597,6 +4601,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системски управљачки програм за графику"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4627,6 +4632,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Изабран је 1 уређај"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Изабраних уређаја: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Мења се…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Преузми позив"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Назив приступне тачке не може да се мења."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Продужите трајање батерије таблета"</string>
@@ -4745,10 +4751,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"У датом тренутку може да буде активна само једна SIM картица.\n\nПребацивање на <xliff:g id="CARRIER1">%1$s</xliff:g> неће отказати <xliff:g id="CARRIER2">%2$s</xliff:g> услугу."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Пређи на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Обриши SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Желите ли да обришете преузети SIM?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Брисањем ове SIM картице уклонићете <xliff:g id="CARRIER_0">%1$s</xliff:g> услугу са овог уређаја.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> услуга неће бити отказана."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Обриши"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM се брише…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Брисање SIM-а није успело"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Овај SIM не може да се обрише због грешке.\n\nРестартујте уређај и пробајте поново."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Жељени тип мреже"</string>
@@ -4833,6 +4835,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Недавно сте инсталирали ову апликацију."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Промените излаз"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Тренутно се пушта на уређају <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (веза је прекинута)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Пребацивање није успело. Пробајте опет."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важне информације"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"НАСТАВИ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НЕ, ХВАЛА"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 04bc614..41fac0a 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G-samtal"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Använd LTE-tjänster för att förbättra bl.a. röstkommunikation (rekommenderas)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Använd 4G-tjänster för att förbättra bl.a. röstkommunikation (rekommenderas)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Funktionsverifiering för kontakter"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Tillåter att operatören verifierar vilka samtalsfunktioner dina kontakter kan använda."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ska Funktionsverifiering för kontakter aktiveras?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Om du aktiverar den här funktionen får operatören åtkomst till telefonnummer i dina kontakter och verifierar vilka samtalsfunktioner kontakterna kan använda."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Önskad nätverkstyp"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (rekommenderas)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mms"</string>
@@ -3290,7 +3294,7 @@
     <string name="emergency_tone_alert" msgid="1977698889522966589">"Signaler"</string>
     <string name="emergency_tone_vibrate" msgid="6282296789406984698">"Vibrationer"</string>
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ljud vid uppstart"</string>
-    <string name="live_caption_title" msgid="8617086825712756983">"Realtidstextning"</string>
+    <string name="live_caption_title" msgid="8617086825712756983">"Live Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Texta media automatiskt"</string>
     <string name="zen_mode_settings_summary_off" msgid="7844433300559059480">"Aldrig"</string>
     <plurals name="zen_mode_settings_summary_on" formatted="false" msgid="3254890503929315009">
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System för grafikdrivrutin"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupp"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 enhet har valts"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> enheter har valts"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Svara med"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Denna APN kan inte ändras."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Förbättra surfplattans batteritid"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Du kan bara ha ett aktivt SIM-kort åt gången.\n\nOm du byter till <xliff:g id="CARRIER1">%1$s</xliff:g> avslutas inte tjänsten hos <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Byt till <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Rensa SIM-kort"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Vill du rensa det här nedladdade SIM-kortet?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Om du rensar det här SIM-kortet tas tjänsten hos <xliff:g id="CARRIER_0">%1$s</xliff:g> bort från enheten.\n\nTjänsten hos <xliff:g id="CARRIER_1">%2$s</xliff:g> avslutas inte."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Rensa"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Rensar SIM-kort …"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Det går inte att rensa SIM-kortet"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Det gick inte att rensa SIM-kortet på grund av ett fel.\n\nStarta om enheten och försök igen."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Önskad nätverkstyp"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Du installerade nyligen den här appen."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Utdata som styrs med reglaget"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Spelas upp nu på <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (frånkopplad)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Misslyckat byte. Tryck och försök igen."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Viktig information"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"FORTSÄTT"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"NEJ TACK"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index d7609e9..558d6f1 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Upigaji simu kupitia 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Tumia huduma za LTE ili uboreshe sauti na mawasiliano mengine (inapendekezwa)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Tumia huduma za 4G ili uboreshe sauti na mawasiliano mengine (inapendekezwa)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kugundua anwani"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Huruhusu mtoa huduma wako kugundua ni vipengele gani vya kupiga simu vinavyotumiwa na anwani zako."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Ungependa kuwasha kipengele cha kugundua anwani?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Hatua ya kuwasha kipengele hiki itamruhusu mtoa huduma wako kufikia nambari za simu katika anwani zako ili kugundua ni vipengele gani vya kupiga simu vinavyotumiwa na anwani zako."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Aina ya mtandao unaoupendelea"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (inapendekezwa)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Ujumbe wa MMS"</string>
@@ -4514,6 +4518,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Kiendeshaji cha Michoro cha Mfumo"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4544,6 +4549,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Kikundi"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Umechagua kifaa 1"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Umechagua vifaa <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Pokea simu kwenye"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Huwezi kubadilisha APN hii."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Boresha muda wa matumizi ya betri ya kompyuta kibao"</string>
@@ -4661,10 +4668,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"SIM moja tu iliyopakuliwa ndiyo inayoweza kutumika kwa wakati mmoja. \n\nKubadili na kutumia <xliff:g id="CARRIER1">%1$s</xliff:g> hakuwezi kughairi huduma yako ya <xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Badili utumie <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Futa data yote kwenye SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Je, ungependa kufuta SIM hii iliyopakuliwa?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Kufuta SIM huondoa huduma ya <xliff:g id="CARRIER_0">%1$s</xliff:g> kwenye kifaa hiki.\n\n Huduma ya <xliff:g id="CARRIER_1">%2$s</xliff:g> haitaghairiwa."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Futa"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Inafuta SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Imeshindwa kufuta SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hitilafu imetokea wakati wa kufuta SIM.\n\n Zima kisha uwashe kifaa chako na ujaribu tena."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Aina ya mtandao inayopendelewa"</string>
@@ -4746,6 +4749,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ulisakinisha programu hii hivi majuzi."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Badilisha kifaa cha kutoa"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Inacheza sasa kwenye <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (hakijaunganishwa)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Imeshindwa kubadilisha. Gusa ili ujaribu tena."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Maelezo muhimu"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ENDELEA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"HAPANA"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index bffb5a8..af08920 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -763,12 +763,9 @@
     <string name="wifi_band_24ghz" msgid="7322286660245127384">"2.4 GHz"</string>
     <string name="wifi_band_5ghz" msgid="7995204987245404797">"5 GHz"</string>
     <string name="wifi_sign_in_button_text" msgid="8483892122845654850">"உள்நுழை"</string>
-    <!-- no translation found for wifi_venue_website_button_text (7749360432667175030) -->
-    <skip />
-    <!-- no translation found for wifi_time_remaining (8503606272869846170) -->
-    <skip />
-    <!-- no translation found for wifi_expiry_time (5419758551129267624) -->
-    <skip />
+    <string name="wifi_venue_website_button_text" msgid="7749360432667175030">"தளத்தைத் திற"</string>
+    <string name="wifi_time_remaining" msgid="8503606272869846170">"<xliff:g id="REMAINING_TIME">%1$s</xliff:g> மீதமுள்ளது"</string>
+    <string name="wifi_expiry_time" msgid="5419758551129267624">"<xliff:g id="EXPIRY_TIME">%1$s</xliff:g> அன்று காலாவதியாகும்"</string>
     <string name="wifi_tap_to_sign_in" msgid="8658506618807549483">"நெட்வொர்க்கில் உள்நுழைய, இங்கே தட்டவும்"</string>
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> மெ.பை./வி"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> மெ.பை./வி"</string>
@@ -1636,32 +1633,19 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ஹாட்ஸ்பாட் இயக்கத்திலுள்ளது"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"இணைப்பு முறை"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"டேட்டா சேமிப்பான் இயக்கப்பட்டிருக்கும் போது, இணைக்கவோ போர்ட்டபிள் ஹாட்ஸ்பாட்டுகளைப் பயன்படுத்தவோ முடியாது"</string>
-    <!-- no translation found for tether_settings_summary_hotspot_only (8529008147731140279) -->
-    <skip />
-    <!-- no translation found for tether_settings_summary_usb_tethering_only (6351624505239356221) -->
-    <skip />
-    <!-- no translation found for tether_settings_summary_bluetooth_tethering_only (1451008625343274930) -->
-    <skip />
-    <!-- no translation found for tether_settings_summary_hotspot_and_usb (5999349643653265016) -->
-    <skip />
-    <!-- no translation found for tether_settings_summary_hotspot_and_bluetooth (810514646401708557) -->
-    <skip />
-    <!-- no translation found for tether_settings_summary_usb_and_bluetooth (1355680331767261967) -->
-    <skip />
-    <!-- no translation found for tether_settings_summary_hotspot_and_usb_and_bluetooth (2949043525073791732) -->
-    <skip />
-    <!-- no translation found for tether_settings_summary_off (2526164899130351968) -->
-    <skip />
-    <!-- no translation found for tethering_interface_options (7575535888135143650) -->
-    <skip />
-    <!-- no translation found for disable_wifi_hotspot_title (2167985468585290478) -->
-    <skip />
-    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
-    <skip />
-    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
-    <skip />
-    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
-    <skip />
+    <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"ஹாட்ஸ்பாட் மட்டும்"</string>
+    <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB மட்டும்"</string>
+    <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"புளூடூத் மட்டும்"</string>
+    <string name="tether_settings_summary_hotspot_and_usb" msgid="5999349643653265016">"ஹாட்ஸ்பாட், USB"</string>
+    <string name="tether_settings_summary_hotspot_and_bluetooth" msgid="810514646401708557">"ஹாட்ஸ்பாட், புளூடூத்"</string>
+    <string name="tether_settings_summary_usb_and_bluetooth" msgid="1355680331767261967">"USB, புளூடூத்"</string>
+    <string name="tether_settings_summary_hotspot_and_usb_and_bluetooth" msgid="2949043525073791732">"ஹாட்ஸ்பாட், USB, புளூடூத்"</string>
+    <string name="tether_settings_summary_off" msgid="2526164899130351968">"பிற சாதனங்களுடன் இணையத்தைப் பகிர்வதில்லை"</string>
+    <string name="tethering_interface_options" msgid="7575535888135143650">"டெதெரிங்"</string>
+    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"வைஃபை ஹாட்ஸ்பாட்டைப் பயன்படுத்த வேண்டாம்"</string>
+    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
+    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"புளூடூத் வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
+    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB மற்றும் புளூடூத் வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
     <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB டெதெரிங்"</string>
     <string name="usb_tethering_subtext" product="default" msgid="3168636595109044213">"USB மூலம் ஃபோனின் இண்டர்நெட்டைப் பகிரவும்"</string>
@@ -1775,12 +1759,9 @@
     <string name="lockpassword_choose_your_password_header_for_face" msgid="5359649947642749079">"முகம் காட்டித் திறக்க பின்னை அமைக்கவும்"</string>
     <string name="lockpassword_choose_your_pattern_header_for_face" msgid="9220480399170764760">"முகம் காட்டி திறக்க பேட்டர்னை அமைக்கவும்"</string>
     <string name="lockpassword_choose_your_pin_header_for_face" msgid="2285401208117502869">"முகம் காட்டித் திறக்க பின்னை அமைக்கவும்"</string>
-    <!-- no translation found for lockpassword_forgot_password (5730587692489737223) -->
-    <skip />
-    <!-- no translation found for lockpassword_forgot_pattern (1196116549051927516) -->
-    <skip />
-    <!-- no translation found for lockpassword_forgot_pin (7164232234705747672) -->
-    <skip />
+    <string name="lockpassword_forgot_password" msgid="5730587692489737223">"கடவுச்சொல்லை மறந்துவிட்டீர்களா?"</string>
+    <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"பேட்டர்னை மறந்துவிட்டீர்களா?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"பின்னை மறந்துவிட்டீர்களா?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7692794426682501482">"தொடர, சாதனப் பேட்டர்னை வரையவும்"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="9206928587904701094">"தொடர, சாதனப் பின்னை உள்ளிடவும்"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="2616127423884477152">"தொடர, சாதனக் கடவுச்சொல்லை உள்ளிடவும்"</string>
@@ -1848,10 +1829,8 @@
     <string name="install_applications_title" msgid="7890233747559108106">"எல்லா ஆப்ஸ் ஆதாரங்களையும் அனுமதி"</string>
     <string name="recent_app_category_title" msgid="189758417804427533">"சமீபத்தில் திறந்தவை"</string>
     <string name="see_all_apps_title" msgid="8363320482315507386">"<xliff:g id="COUNT">%1$d</xliff:g> ஆப்ஸையும் காட்டு"</string>
-    <!-- no translation found for forgot_password_title (3967873480875239885) -->
-    <skip />
-    <!-- no translation found for forgot_password_text (2583194470767613163) -->
-    <skip />
+    <string name="forgot_password_title" msgid="3967873480875239885">"உங்கள் IT நிர்வாகியைத் தொடர்பு கொள்ளவும்"</string>
+    <string name="forgot_password_text" msgid="2583194470767613163">"உங்கள் பின், பேட்டர்ன் அல்லது கடவுச்சொல்லை மீட்டமைக்க அவர் உதவுவார்"</string>
     <string name="install_all_warning" product="tablet" msgid="7010749217925069520">"அறியப்படாத ஆப்ஸால் உங்கள் டேப்லெட்டும் தனிப்பட்ட தரவும் அதிகம் பாதிப்பிற்கு உள்ளாகும். இந்த மூலத்திலிருந்து ஆப்ஸை நிறுவுவதால், அவற்றைப் பயன்படுத்தும் போது உங்கள் டேப்லெட்டுக்கு ஏதேனும் சேதம் ஏற்பட்டாலோ அல்லது தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
     <string name="install_all_warning" product="default" msgid="652516435709047343">"அறியப்படாத பயன்பாடுககளால் உங்கள் மொபைலும் தனிப்பட்ட தரவும் அதிகம் பாதிப்பிற்கு உள்ளாகும். இந்த மூலத்திலிருந்து ஆப்ஸை நிறுவுவதால், அவற்றைப் பயன்படுத்தும் போது உங்கள் மொபைலுக்கு ஏதேனும் சேதம் ஏற்பட்டாலோ அல்லது தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
     <string name="install_all_warning" product="device" msgid="2348262609815354500">"அறியப்படாத ஆப்ஸால் உங்கள் சாதனம் மற்றும் தனிப்பட்ட தரவு மிக எளிதாகப் பாதிப்புக்குள்ளாகும். இந்த மூலத்திலிருந்து ஆப்ஸை நிறுவி, பயன்படுத்தும்போது, உங்கள் சாதனத்திற்கு ஏதேனும் சேதம் ஏற்பட்டாலோ தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
@@ -2128,8 +2107,7 @@
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"திரையில் பெரிதாக்குவதை இயக்கும்"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"அளவை மாற்ற, 3 முறை தட்டவும்"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"திரையைப் பெரிதாக்க, பட்டனைத் தட்டவும்"</string>
-    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
-    <skip />
+    <string name="accessibility_screen_magnification_summary" msgid="7617931632990040045">"உள்ளடக்கத்தை மேலும் தெளிவாகப் பார்க்க திரையை உடனடியாகப் பெரிதாக்கும்.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;பெரிதாக்குவதற்கு:&lt;/b&gt;&lt;br/&gt;	1. பெரிதாக்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt;	2. திரையைத் தட்டவும்&lt;br/&gt;	3. திரை முழுவதும் நகர்வதற்கு 2 விரல்கள் மூலம் இழுக்கவும்&lt;br/&gt;	4. அளவை மாற்றுவதற்கு 2 விரல்கள் மூலம் பின்ச் செய்யவும்&lt;br/&gt;	5. பெரிதாக்குவதை நிறுத்த ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt;&lt;br/&gt;&lt;b&gt;தற்காலிகமாகப் பெரிதாக்குவதற்கு:&lt;/b&gt;&lt;br/&gt;	1. பெரிதாக்குவதற்கு ஷார்ட்கட்டைப் பயன்படுத்தவும்&lt;br/&gt;	2. திரையில் எங்காவது தொட்டுப் பிடித்திருக்கவும்&lt;br/&gt;	3. திரை முழுவதும் நகர்வதற்கு விரலைப் பயன்படுத்தி இழுக்கவும்&lt;br/&gt;	4. பெரிதாக்குவதை நிறுத்த விரலைத் திரையிலிருந்து எடுக்கவும்"</string>
     <string name="accessibility_screen_magnification_navbar_summary" msgid="807985499898802296">"’பெரிதாக்கல்’ அம்சம் ஆன் செய்யப்பட்டுள்ளபோது திரையைப் பெரிதாக்கிப் பார்க்கலாம்.\n\n"<b>"அதற்கு "</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தட்டவும்.\n"<ul><li>"ஸ்க்ரோல் செய்ய இரண்டு அல்லது மேற்பட்ட விரல்களில் இழுக்கவும்"</li>\n<li>"அளவை மாற்ற இரண்டு அல்லது மேற்பட்ட விரல்களில் பின்ச் செய்யவும்"</li></ul>\n\n<b>"தற்காலிகமாகப் பெரிதாக்க"</b>", இந்த அம்சத்தைத் தொடங்கி திரையில் எங்கு வேண்டுமானாலும் தொட்டுப் பிடிக்கவும்.\n"<ul><li>"திரையில் எங்கு வேண்டுமானாலும் செல்ல இழுக்கவும்"</li>\n<li>"சிறிதாக்க விரல்களால் பின்ச் செய்து மேலே இழுக்கவும்"</li></ul>\n\n"கீபோர்டிலோ வழிசெலுத்தல் பட்டியையோ பெரிதாக்க இயலாது."</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"திறக்க அணுகல்தன்மை பட்டனைப் பயன்படுத்துதல்"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"திறக்க சைகைகளைப் பயன்படுத்துதல்"</string>
@@ -2182,8 +2160,7 @@
     <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"தொட்டுப் பிடித்தல் தாமதம்"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"வண்ணத்தின் நேர்மாறான முறை"</string>
     <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"கலர் இன்வெர்ஷனைப் பயன்படுத்து"</string>
-    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
-    <skip />
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"கலர் இன்வெர்ஷன் லைட் ஸ்கிரீன்களை டார்க்காக மாற்றும். பிரகாசமான ஒளியைப் பார்ப்பதில் சிரமமுள்ளவர்கள் மிக எளிதாகத் திரையைப் பார்ப்பதற்கு இது உதவும்.&lt;br/&gt;&lt;br/&gt;கவனத்திற்கு: டார்க்கான வண்ணங்கள் லைட்டாக மாறும். மீடியாவிலும் படங்களிலும் வண்ணங்கள் மாறும். அமைப்புகள் &gt; காட்சி என்பதில் டார்க் தீமினையும் நீங்கள் பயன்படுத்தலாம்."</string>
     <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"தானியக்க கிளிக் (இருப்பு நேரம்)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"நீங்கள் மவுஸைப் பயன்படுத்துகிறீர்கள் எனில், ஒரு குறிப்பிட்ட நேரத்திற்குக் கர்சர் நகராமல் இருக்கும்போது, அது தானாகவே என்ன செய்யவேண்டுமென அமைத்துக்கொள்ளலாம்."</string>
     <string name="accessibility_autoclick_default_title" msgid="2060909980831267041">"தானியங்கு கிளிக் வேண்டாம் (இயல்பு)"</string>
@@ -2196,15 +2173,13 @@
     <string name="accessibility_autoclick_custom_title" msgid="4597792235546232038">"பிரத்தியேகம்"</string>
     <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"குறைவு"</string>
     <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"அதிகம்"</string>
-    <!-- no translation found for accessibility_autoclick_seekbar_desc (8363959277814621118) -->
-    <skip />
+    <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"தானாகக் கிளிக் செய்யும் நேரம்"</string>
     <string name="accessibility_vibration_settings_title" msgid="5198184603753129450">"அதிர்வு &amp; ஹாப்டிக் வலிமை"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"அறிவிப்பு அதிர்வுகள்"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ரிங் அதிர்வுகள்"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"தொட்டு கருத்து தெரிவித்தல்"</string>
     <string name="accessibility_service_master_switch_title" msgid="3001666897585097640">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>ஐப் பயன்படுத்து"</string>
-    <!-- no translation found for accessibility_service_master_open_title (7437956750557583681) -->
-    <skip />
+    <string name="accessibility_service_master_open_title" msgid="7437956750557583681">"<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> ஆப்ஸைத் திற"</string>
     <string name="accessibility_daltonizer_master_switch_title" msgid="3580563017377754890">"வண்ணத் திருத்தத்தைப் பயன்படுத்து"</string>
     <string name="accessibility_caption_master_switch_title" msgid="3821125170899547375">"தலைப்புகளைக் காண்பி"</string>
     <string name="captioning_caption_appearance_title" msgid="4014910076504930044">"தலைப்புத் தோற்றம்"</string>
@@ -3105,6 +3080,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G அழைப்பு"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"குரலையும் வேறு தகவல்தொடர்புகளையும் மேம்படுத்த LTE சேவைகளைப் பயன்படுத்தவும் (பரிந்துரைக்கப்பட்டது)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"குரலையும் வேறு தகவல்தொடர்புகளையும் மேம்படுத்த 4G சேவைகளைப் பயன்படுத்தவும் (பரிந்துரைக்கப்பட்டது)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"விரும்பும் நெட்வொர்க் வகை"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (பரிந்துரைக்கப்பட்டது)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS மெசேஜ்கள்"</string>
@@ -3536,16 +3519,11 @@
     <string name="demote_conversation_summary" msgid="4319929331165604112">"உரையாடல் பிரிவிலிருந்து அகற்றும்"</string>
     <string name="promote_conversation_title" msgid="4731148769888238722">"இது ஓர் உரையாடல்"</string>
     <string name="promote_conversation_summary" msgid="3890724115743515035">"உரையாடல் பிரிவில் சேர்க்கும்"</string>
-    <!-- no translation found for manage_conversations (4440289604887824337) -->
-    <skip />
-    <!-- no translation found for important_conversations (8701454279075552555) -->
-    <skip />
-    <!-- no translation found for all_conversations (7864274972384490939) -->
-    <skip />
-    <!-- no translation found for important_bubble (3820813960404079472) -->
-    <skip />
-    <!-- no translation found for important_conversation_behavior_summary (3813751382595404403) -->
-    <skip />
+    <string name="manage_conversations" msgid="4440289604887824337">"உரையாடல்களை நிர்வகி"</string>
+    <string name="important_conversations" msgid="8701454279075552555">"முக்கிய உரையாடல்கள்"</string>
+    <string name="all_conversations" msgid="7864274972384490939">"அனைத்து உரையாடல்களும்"</string>
+    <string name="important_bubble" msgid="3820813960404079472">"முக்கிய உரையாடல்களின் குமிழ்"</string>
+    <string name="important_conversation_behavior_summary" msgid="3813751382595404403">"அறிவிப்பு விபரத்தின் மேல் பகுதியில் முக்கிய உரையாடல்களைக் காட்டும். அவற்றைக் குமிழாகவும் ‘தொந்தரவு செய்ய வேண்டாம்’ என்ற குறுக்கீடாகவும் அமைக்கலாம்."</string>
     <string name="notification_importance_min" msgid="4609688642942787774">"ஒலியெழுப்பாமல் காண்பித்து, பிறகு சிறிதாக்கு"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ஒலிக்காமல் காட்டும்"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ஒலியெழுப்பும்"</string>
@@ -3788,10 +3766,8 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"அகற்றும் முன் பின்னைக் கேள்"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"அகற்றும் முன் கடவுச்சொல்லைக் கேள்"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"திரையை விலக்கும்போது சாதனத்தைப் பூட்டு"</string>
-    <!-- no translation found for confirm_sim_deletion_title (9199369003530237871) -->
-    <skip />
-    <!-- no translation found for confirm_sim_deletion_description (8937609409607338516) -->
-    <skip />
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"சிம் நீக்கத்தை உறுதிப்படுத்தவும்"</string>
+    <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"பதிவிறக்கப்பட்ட சிம்மை அழிக்கும் முன்பு இது நீங்கள்தான் என்பதை சரிபார்க்கவும்"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"இந்தப் பணிக் கணக்கை நிர்வகிப்பது:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"நிர்வகிப்பது: <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
     <string name="experimental_preference" msgid="869354050717870055">"(பரிசோதனை முயற்சி)"</string>
@@ -4543,11 +4519,11 @@
     <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Graphics Driverரைத் தேர்ந்தெடுத்தல்"</string>
     <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"இயல்பு"</string>
     <string name="graphics_driver_app_preference_game_driver" msgid="3115277644656023504">"Game Driver"</string>
-    <!-- no translation found for graphics_driver_app_preference_prerelease_driver (7355929161805829480) -->
-    <skip />
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"டெவெலப்பர் டிரைவர்"</string>
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"System Graphics Driver"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4574,13 +4550,11 @@
     <string name="media_output_summary" product="device" msgid="3598300438694764381">"சாதனம்"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"அழைப்புகளின்போது பயன்படுத்த இயலாது"</string>
     <string name="media_output_summary_unavailable" msgid="2695058965888813093">"இல்லை"</string>
-    <!-- no translation found for media_output_group_panel_title (3086245179062913037) -->
-    <skip />
-    <!-- no translation found for media_output_group (7918231774595274396) -->
-    <skip />
-    <!-- no translation found for media_output_group_panel_single_device_summary (5027884071572180516) -->
-    <skip />
-    <!-- no translation found for media_output_group_panel_multiple_devices_summary (4838305763151455248) -->
+    <string name="media_output_group_panel_title" msgid="3086245179062913037">"வெளியீடுகளைச் சேர்த்தல்"</string>
+    <string name="media_output_group" msgid="7918231774595274396">"குழு"</string>
+    <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 சாதனம் தேர்ந்தெடுக்கப்பட்டுள்ளது"</string>
+    <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> சாதனங்கள் தேர்ந்தெடுக்கப்பட்டுள்ளன"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
     <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"அழைப்புகளை எதில் எடுப்பது?"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"இந்த APNனை மாற்ற இயலாது."</string>
@@ -4699,10 +4673,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ஒரு நேரத்தில் ஒரு பதிவிறக்கிய சிம் மட்டுமே செயலில் இருக்கும்.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> சேவைக்கு மாறுவதால் <xliff:g id="CARRIER2">%2$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>க்கு மாறு"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"சிம்மை அழி"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"இந்தப் பதிவிறக்கிய சிம்மை அழிக்கவா?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"சிம்மை அழிப்பதால் இந்தச் சாதனத்தில் இருந்து <xliff:g id="CARRIER_0">%1$s</xliff:g> சேவை அகற்றப்படும்.\n\nஇதனால் <xliff:g id="CARRIER_1">%2$s</xliff:g>க்கு உரிய சேவை ரத்துசெய்யப்படாது."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"அழி"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"சிம்மை அழிக்கிறது…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"சிம்மை அழிக்க இயலவில்லை"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"பிழை ஏற்பட்டதால் சிம்மை அழிக்க இயலாது.\n\nசாதனத்தை மீண்டும் தொடங்கி மறுபடியும் முயலவும்."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"விருப்பமான நெட்வொர்க் வகை"</string>
@@ -4784,6 +4754,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"இந்த ஆப்ஸைச் சமீபத்தில் நிறுவியுள்ளீர்கள்."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"அவுட்புட்டை மாற்று"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> சாதனத்தில் தற்போது இயங்குகிறது"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"முக்கியமான தகவல்"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"தொடர்க"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"வேண்டாம்"</string>
@@ -4822,6 +4796,5 @@
     <string name="rtt_settings_no_visible" msgid="7440356831140948382"></string>
     <string name="rtt_settings_visible_during_call" msgid="7866181103286073700"></string>
     <string name="rtt_settings_always_visible" msgid="2364173070088756238"></string>
-    <!-- no translation found for media_output_panel_stop_casting_button (6094875883164119035) -->
-    <skip />
+    <string name="media_output_panel_stop_casting_button" msgid="6094875883164119035">"அலைபரப்புவதை நிறுத்து"</string>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 05c8aea..58e3b37 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"Wi-Fi హాట్‌స్పాట్ కోసం కనీసం ఒక బ్యాండ్‌ను ఎంచుకోండి:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP సెట్టింగ్‌లు"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"గోప్యత"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"చెల్లింపు సభ్యత్వం"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"చెల్లింపు సభ్యత్వాన్ని చూడండి లేదా మార్చండి"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"యాదృచ్ఛీకరించబడిన MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"పరికరాన్ని జోడించండి"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"“<xliff:g id="SSID">%1$s</xliff:g>”కి పరికరాన్ని జోడించడానికి QR కోడ్‌ను దిగువున చూపించండి"</string>
@@ -3080,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G కాలింగ్"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"వాయిస్, ఇతర కమ్యూనికేషన్‌లను మెరుగుపరచడానికి LTE సేవలను ఉపయోగించు (సిఫార్సు చేయబడింది)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"వాయిస్, ఇతర కమ్యూనికేషన్‌లను మెరుగుపరచడానికి 4G సేవలను ఉపయోగించండి (సిఫార్సు చేయబడింది)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ప్రాధాన్య నెట్‌వర్క్ రకం"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (సిఫార్సు చేయబడింది)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS సందేశాలు"</string>
@@ -4517,6 +4523,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"సిస్టమ్ గ్రాఫిక్స్ డ్రైవర్"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4547,6 +4554,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"గ్రూప్"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 పరికరం ఎంచుకోబడింది"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> పరికరాలు ఎంచుకోబడ్డాయి"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"కాల్ తీసుకోండి"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"ఈ APNని మార్చడానికి సాధ్యం కాదు."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"టాబ్లెట్ బ్యాటరీ జీవితకాలాన్ని మెరుగుపరచండి"</string>
@@ -4664,10 +4673,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ఒకసారి ఒక డౌన్‌లోడ్ చేయబడిన SIMను మాత్రమే యాక్టివ్‌గా ఉంచగలరు.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g>కు మారడం వలన మీ <xliff:g id="CARRIER2">%2$s</xliff:g> సేవ రద్దు చేయబడదు."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g>కు మార్చు"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIMను తొలగించు"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ఈ డౌన్‌లోడ్ చేసిన SIMను తొలగించాలా?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"ఈ SIMను తొలగించడం వలన <xliff:g id="CARRIER_0">%1$s</xliff:g> సేవ ఈ పరికరం నుండి తీసివేయబడుతుంది.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>కు సేవ రద్దు చేయబడదు."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"తొలగించు"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM డేటాను తొలగిస్తోంది…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIMను తొలగించలేకపోయింది"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ఎర్రర్ కారణంగా ఈ SIMను తొలగించలేకపోయింది.\n\nమీ పరికరాన్ని పునఃప్రారంభించి, ఆపై మళ్లీ ప్రయత్నించండి."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ప్రాధాన్యత గల నెట్‌వర్క్ రకం"</string>
@@ -4749,6 +4754,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"మీరు ఇటీవల ఈ యాప్‌ను ఇన్‌స్టాల్ చేసారు."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"అవుట్‌పుట్ మార్చండి"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>లో ప్లే అవుతోంది"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ముఖ్య సమాచారం"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"కొనసాగించు"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"వద్దు, ధన్యవాదాలు"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 93ac271..83e56b9 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"การโทร 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"ใช้บริการ LTE เพื่อปรับปรุงเสียงและการติดต่อสื่อสารด้วยวิธีอื่นๆ (แนะนำ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"ใช้บริการ 4G เพื่อปรับปรุงเสียงและการติดต่อสื่อสารด้วยวิธีอื่นๆ (แนะนำ)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"การค้นพบเกี่ยวกับรายชื่อติดต่อ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"อนุญาตให้ผู้ให้บริการค้นพบฟีเจอร์การโทรที่รายชื่อติดต่อของคุณรองรับ"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"เปิดใช้การค้นพบเกี่ยวกับรายชื่อติดต่อไหม"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"การเปิดใช้ฟีเจอร์นี้จะทำให้ผู้ให้บริการเข้าถึงหมายเลขโทรศัพท์ในรายชื่อติดต่อเพื่อดูฟีเจอร์การโทรที่รายชื่อติดต่อเหล่านั้นรองรับได้"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"ประเภทเครือข่ายที่ต้องการ"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (แนะนำ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"ข้อความ MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"ไดรเวอร์กราฟิกของระบบ"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"กลุ่ม"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"เลือกอุปกรณ์ 1 รายการ"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"เลือกอุปกรณ์ <xliff:g id="COUNT">%1$d</xliff:g> รายการ"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"รับสายใน"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"เปลี่ยนแปลง APN นี้ไม่ได้"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"เพิ่มอายุการใช้งานแบตเตอรี่ของแท็บเล็ต"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"ใช้ซิมที่ดาวน์โหลดมาได้ครั้งละ 1 รายการเท่านั้น\n\nการเปลี่ยนเป็น <xliff:g id="CARRIER1">%1$s</xliff:g> จะไม่ยกเลิกบริการ <xliff:g id="CARRIER2">%2$s</xliff:g>"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"เปลี่ยนเป็น <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ลบซิม"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"ลบซิมที่ดาวน์โหลดมานี้ใช่ไหม"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"การลบซิมนี้จะนำบริการ <xliff:g id="CARRIER_0">%1$s</xliff:g> ออกจากอุปกรณ์นี้\n\nแต่จะไม่ยกเลิกบริการของ <xliff:g id="CARRIER_1">%2$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"ลบ"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"กำลังลบซิม…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"ลบซิมไม่ได้"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"ลบซิมนี้ไม่ได้เนื่องจากมีข้อผิดพลาด\n\nรีสตาร์ทอุปกรณ์แล้วลองอีกครั้ง"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ประเภทเครือข่ายที่ต้องการ"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"คุณเพิ่งติดตั้งแอปนี้"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"เปลี่ยนเอาต์พุต"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"กำลังเล่นใน <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (ยกเลิกการเชื่อมต่อแล้ว)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"เปลี่ยนไม่ได้ แตะเพื่อลองอีกครั้ง"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"ข้อมูลสำคัญ"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ต่อไป"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"ไม่เป็นไร"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 574fe61..558d04c 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Pagtawag gamit ang 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Gamitin ang mga serbisyo ng LTE para pahusayin ang boses at iba pang komunikasyon (inirerekomenda)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Gamitin ang mga serbisyo ng 4G para pahusayin ang boses at iba pang komunikasyon (inirerekomenda)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Pagtuklas sa contact"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Papayagan ang carrier mo na tuklasin kung aling feature sa pagtawag ang puwede sa mga contact mo."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"I-enable ang pagtuklas sa contact?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Kapag na-enable ang feature na ito, papayagan ang iyong carrier na mag-access ng mga numero ng telepono sa iyong mga contact para matuklasan kung aling mga feature sa pagtawag ang sinusuportahan nila."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Gustong uri ng network"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (inirerekomenda)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Mga mensaheng MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Graphics Driver ng System"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grupo"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 device ang napili"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> (na) device ang napili"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Sagutin ang tawag sa"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Hindi mababago ang APN na ito."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Patagalin ang baterya ng tablet"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Isang na-download na SIM lang ang puwedeng maging aktibo sa isang pagkakataon.\n\nHindi makakansela ang iyong serbisyo sa <xliff:g id="CARRIER2">%2$s</xliff:g> kapag lumipat ka sa <xliff:g id="CARRIER1">%1$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Lumipat sa <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Burahin ang SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Burahin ang na-download na SIM na ito?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Kapag binura ang SIM na ito, maaalis ang serbisyo ng <xliff:g id="CARRIER_0">%1$s</xliff:g> sa device na ito.\n\nHindi makakansela ang serbisyo para sa <xliff:g id="CARRIER_1">%2$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Burahin"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Binubura ang SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Hindi mabura ang SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Hindi mabura ang SIM na ito dahil sa isang error.\n\nI-restart ang iyong device at subukang muli."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Mas gustong network type"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Na-install mo kamakailan ang app na ito."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Output ng Switch"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Kasalukuyang nagpe-play sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (nakadiskonekta)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Hindi makalipat. I-tap at subukan ulit."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Mahalagang impormasyon"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"MAGPATULOY"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"HUWAG NA LANG"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 879fd3f..56c64b0 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G Arama"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Sesin ve diğer iletişimlerin kalitesini yükseltmek için LTE kullanılsın (önerilir)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Sesin ve diğer iletişimlerin kalitesini yükseltmek için 4G kullanılsın (önerilir)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kişi keşfi"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Operatörünüzün kişileriniz tarafından desteklenen arama özelliklerini öğrenmesini sağlar."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kişi keşfi etkinleştirilsin mi?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Bu özellik etkinleştirilirse operatörünüz hangi arama özelliklerini desteklediklerini öğrenmek için kişilerinizdeki telefon numaralarına erişim iznine sahip olur."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tercih edilen ağ türü"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (önerilir)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS mesajları"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Sistem Grafik Sürücüsü"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Grup"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 cihaz seçildi"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> cihaz seçildi"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Çağrıyı al"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Bu APN değiştirilemez."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Tabletin pil ömrünü uzatın"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Aynı anda yalnızca bir indirilmiş SIM etkin olabilir.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> operatörüne geçtiğinizde <xliff:g id="CARRIER2">%2$s</xliff:g> hizmetiniz iptal edilmez."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> hesabına geç"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM\'i sil"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Bu indirilen SIM silinsin mi?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Bu SIM silindiğinde, <xliff:g id="CARRIER_0">%1$s</xliff:g> hizmeti bu cihazdan kaldırılır.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> hizmeti iptal edilmez."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Sil"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM siliniyor…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM silinemiyor"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Bu SIM bir hata nedeniyle silinemiyor.\n\nCihazınızı yeniden başlatın ve tekrar deneyin."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tercih edilen ağ türü"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Bu uygulamayı kısa bir süre önce yüklediniz."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Çıkışı değiştir"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Şu anda <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazında oynatılıyor"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (bağlı değil)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Geçiş yapılamıyor. Tekrar denemek için dokunun."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Önemli bilgiler"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DEVAM"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"HAYIR TEŞEKKÜRLER"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index cbc469a..c9e4e5a 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -3166,6 +3166,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Виклики в режимі 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Використовувати сервіси LTE для кращого голосового й інших типів зв’язку (рекомендовано)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Використовувати сервіси 4G для кращого голосового й інших типів зв’язку (рекомендовано)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Аналіз контактів"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Да змогу оператору аналізувати, які функції викликів підтримують ваші контакти."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Увімкнути аналіз контактів?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Якщо ввімкнути цю функцію, оператор отримає доступ до номерів телефонів у списку ваших контактів, щоб перевірити, які функції викликів вони підтримують."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Тип мережі"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (рекомендовано)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS-повідомлення"</string>
@@ -4681,6 +4685,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Системний графічний драйвер"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4711,6 +4716,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Група"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Вибрано 1 пристрій"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Вибрано пристроїв: <xliff:g id="COUNT">%1$d</xliff:g>"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Прийняти виклик на"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"APN не можна змінювати."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Збільште час роботи акумулятора планшета"</string>
@@ -4830,10 +4837,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Активною може бути лише одна завантажена SIM-карта.\n\nЯкщо ви перейдете до оператора <xliff:g id="CARRIER1">%1$s</xliff:g>, сервіс <xliff:g id="CARRIER2">%2$s</xliff:g> не буде скасовано."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Перейти до оператора <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Видалити SIM-карту"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Видалити цю завантажену SIM-карту?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Якщо ви видалите цю SIM-карту, сервіс <xliff:g id="CARRIER_0">%1$s</xliff:g> буде вилучено з пристрою.\n\nСервіс <xliff:g id="CARRIER_1">%2$s</xliff:g> не буде скасовано."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Видалити"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Видалення SIM-карти…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Не вдалося видалити SIM-карту"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Під час видалення SIM-карти сталася помилка.\n\nПерезапустіть пристрій і повторіть спробу."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Рекомендований тип мережі"</string>
@@ -4921,6 +4924,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Ви нещодавно встановили цей додаток."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Виберіть вихід"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Зараз відтворюється на пристрої <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (від\'єднано)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Не вдалося переключитись. Торкніться, щоб повторити спробу."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Важлива інформація"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"ПРОДОВЖИТИ"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"НІ, ДЯКУЮ"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 5f4969b..3efcce4 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"‏Wi‑Fi ہاٹ اسپاٹ کیلئے کم از کم ایک بینڈ منتخب کریں:"</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"‏IP ترتیبات"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"رازداری"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"سبسکرپشن"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"سبسکرپشن دیکھیں یا تبدیل کریں"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"‏بے ترتیب MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"کوئی آلہ منسلک کریں"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"‏آلہ کو \"<xliff:g id="SSID">%1$s</xliff:g>\" سے منسلک کرنے کے لیے مندرجہ ذیل QR کوڈ کو مرکز میں رکھیں"</string>
@@ -3080,6 +3078,14 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"‏4G کالنگ"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"‏صوتی اور دیگر مواصلات کو بہتر بنانے کے لیے LTE سروسز استعمال کریں (تجویز کردہ)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"‏صوتی اور دیگر مواصلات کو بہتر بنانے کے لیے 4G سروسز کا استعمال کریں (تجویز کردہ)"</string>
+    <!-- no translation found for contact_discovery_opt_in_title (4076990635900099116) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_summary (4104310593310967300) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_title (6278407286820554079) -->
+    <skip />
+    <!-- no translation found for contact_discovery_opt_in_dialog_message (5787751513924920435) -->
+    <skip />
     <string name="preferred_network_type_title" msgid="812509938714590857">"ترجیحی نیٹ ورک کی قسم"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"‏LTE (تجویز کردہ)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"‏MMS پیغامات"</string>
@@ -4513,6 +4519,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"سسٹم کا گرافکس ڈرائیور"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4550,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"گروپ"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 آلہ منتخب کیا گیا"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> آلات منتخب کیے گئے"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"اس کے ذریعے کال موصول کریں"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"‏اس APN کو تبدیل نہیں کیا جا سکتا۔"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"ٹیبلیٹ کی بیٹری لائف کو بہتر بنائیں"</string>
@@ -4660,10 +4669,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"‏ایک وقت میں صرف ایک ڈاؤن لوڈ کردہ SIM فعال ہو سکتا ہے۔\n\n <xliff:g id="CARRIER1">%1$s</xliff:g> پر سوئچ کرنے سے آپ کی <xliff:g id="CARRIER2">%2$s</xliff:g> سروس منسوخ نہیں ہوگی۔"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> پر سوئچ کریں"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏SIM مٹائیں"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"‏ڈاؤن لوڈ کردہ اس SIM کو مٹائیں؟"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"‏اس SIM کو مٹانے سے اس آلہ سے <xliff:g id="CARRIER_0">%1$s</xliff:g> سروس ہٹ جاتی ہے۔\n\n <xliff:g id="CARRIER_1">%2$s</xliff:g> کی سروس منسوخ نہیں ہوگی۔"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"مٹائیں"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"‏SIM کو مٹایا جا رہا ہے…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"‏SIM کو نہیں مٹا سکتے"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"‏ایک خرابی کی وجہ سے اس SIM کو مٹایا نہیں جا سکتا ہے۔\n\nاپنا آلہ دوبارہ شروع کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ترجیحی نیٹ ورک کی قسم"</string>
@@ -4745,6 +4750,10 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"آپ نے حال ہی میں اس ایپ کو انسٹال کیا ہے۔"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"آؤٹ پٹ سوئچ کریں"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"فی الوقت <xliff:g id="DEVICE_NAME">%1$s</xliff:g> پر چلایا جا رہا ہے"</string>
+    <!-- no translation found for media_output_disconnected_status (5567111639832431865) -->
+    <skip />
+    <!-- no translation found for media_output_switch_error_text (603563475910236831) -->
+    <skip />
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"اہم معلومات"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"جاری رکھیں"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"نہیں شکریہ"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index b40d040..38516e2 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -2662,7 +2662,7 @@
     <string name="ca_certificate" msgid="3076484307693855611">"SM sertifikati"</string>
     <string name="user_certificate" msgid="6897024598058566466">"VPN va ilova foydalanuvchisi sertifikati"</string>
     <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi sertifikati"</string>
-    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Dahlsizligingiz xavf ostida"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Maxfiyligingiz xavf ostida"</string>
     <string name="ca_certificate_warning_description" msgid="1592953815964406032">"SM sertifikatlari saytlar, ilovalar va shifrlanadigan VPN tarmoqlar tomonidan ishlatiladi. Faqatgina ishonchli tashkilotlarning SM sertifikatlarini oʻrnating. \n\n Agar SM sertifikati oʻrnatilsa, serfitikat egasi sayt yoki ilovalarda ishlatilgan parollar, xabarlar, kredit karta axboroti kabi shaxsiy maʼlumotlaringizni hatto shifrlangan taqdirda ham koʻra oladi."</string>
     <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Oʻrnatilmasin"</string>
     <string name="certificate_warning_install_anyway" msgid="6411936058579648212">"Baribir oʻrnatish"</string>
@@ -3088,6 +3088,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G chaqiruv"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Aloqa sifatini yaxshilash uchun LTE xizmatlaridan foydalanish (tavsiya etiladi)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Aloqa sifatini yaxshilash uchun 4G xizmatlaridan foydalanish (tavsiya etiladi)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Kontaktlarga kirish ruxsati"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Tarmoq operatoriga kontaktlar uchun qaysi chaqiruv funksiyalari ishlashini aniqlashga ruxsat beradi."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Kontaktlarga kirish ruxsati berilsinmi?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Bu funksiya yoqilsa, tarmoq operatori kontaktlar uchun qaysi chaqiruv funksiyalari ishlashini aniqlashi uchun kontaktlaringizdagi telefon raqamlaridan foydalana oladi."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Tarmoq turi"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (tavsiya etiladi)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS xabarlar"</string>
@@ -4527,6 +4531,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Tizim grafik drayveri"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4557,6 +4562,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Guruh"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 ta qurilma tanlandi"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> ta qurilma tanlandi"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Almashtirilmoqda…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Chaqiruv qabul qilish"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Bu APN parametrlarini almashtirish imkonsiz."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Batareya quvvatini uzoqroq vaqtga yetkazing"</string>
@@ -4674,10 +4680,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Faqat bitta yuklab olingan SIM kartani faollashtirish mumkin.\n\n<xliff:g id="CARRIER1">%1$s</xliff:g> yoqilganda <xliff:g id="CARRIER2">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"<xliff:g id="CARRIER">%1$s</xliff:g> xizmatini tanlash"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM karta axborotini tozalash"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Mazkur yuklab olingan SIM karta axboroti tozalansinmi?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Bu SIM karta axboroti tozalanganda bu qurilmadan <xliff:g id="CARRIER_0">%1$s</xliff:g> xizmati ham oʻchirib tashlanadi.\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Oʻchirish"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"SIM karta axboroti tozalanmoqda…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"SIM karta axboroti tozalanmadi"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Bu SIM karta axboroti xatolik sabab tozalanmadi.\n\nQurilmani qayta ishga tushirib, qaytadan urining."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tarmoq turi"</string>
@@ -4759,6 +4761,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Bu ilovani hozirgina oʻrnatdingiz."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Audiochiqishni almashtirish"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Hozirda <xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasida ijro etilmoqda"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (uzilgan)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Xatolik. Qayta urinish uchun tegining."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Muhim axborot"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"DAVOM ETISH"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"KERAK EMAS"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 16801cd..cdb7c75 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Gọi qua 4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Dùng dịch vụ LTE để cải thiện tính năng thoại và các phương thức giao tiếp khác (khuyên dùng)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Sử dụng dịch vụ 4G để cải tiến tính năng thoại và các phương thức giao tiếp khác (đề xuất)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Khám phá danh bạ"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Cho phép nhà mạng khám phá xem những người liên hệ của bạn hỗ trợ các tính năng gọi điện nào."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Cho phép khám phá danh bạ?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Khi bạn bật tính năng này, nhà mạng sẽ được phép truy cập vào số điện thoại trong danh bạ của bạn để xác định xem những người liên hệ hỗ trợ các tính năng gọi điện nào."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Loại mạng ưu tiên"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (khuyên dùng)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Tin nhắn MMS"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Trình điều khiển đồ họa hệ thống"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"Nhóm"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"Đã chọn 1 thiết bị"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"Đã chọn <xliff:g id="COUNT">%1$d</xliff:g> thiết bị"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"Thực hiện cuộc gọi trên"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Không thể thay đổi APN (Tên điểm truy cập) này."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Tăng tuổi thọ pin của máy tính bảng"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"Chỉ một SIM đã tải xuống có thể hoạt động mỗi lần.\n\nKhi chuyển sang <xliff:g id="CARRIER1">%1$s</xliff:g>, dịch vụ <xliff:g id="CARRIER2">%2$s</xliff:g> của bạn sẽ không bị hủy."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Chuyển sang <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Xóa SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Bạn muốn xóa SIM đã tải xuống này?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Khi bạn xóa SIM này, dịch vụ <xliff:g id="CARRIER_0">%1$s</xliff:g> sẽ bị xóa khỏi thiết bị này.\n\nDịch vụ của <xliff:g id="CARRIER_1">%2$s</xliff:g> sẽ không bị hủy."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Xóa"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Đang xóa SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Không thể xóa SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Không xóa được SIM do lỗi.\n\nHãy khởi động lại thiết bị của bạn rồi thử lại."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Loại mạng ưu tiên"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Gần đây, bạn đã cài đặt ứng dụng này."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Chuyển đổi đầu ra"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Hiện đang phát trên <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (đã ngắt kết nối)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Không thể chuyển đổi. Nhấn để thử lại."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Thông tin quan trọng"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"TIẾP TỤC"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"KHÔNG, CẢM ƠN"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 6d9dc63..deaa881 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -891,10 +891,8 @@
     <string name="wifi_ap_band_select_one" msgid="5221193733812493435">"请为 WLAN 热点至少选择一个频段："</string>
     <string name="wifi_ip_settings" msgid="6420498748726599133">"IP 设置"</string>
     <string name="wifi_privacy_settings" msgid="3283946009000725698">"隐私"</string>
-    <!-- no translation found for wifi_subscription (4432423938285430113) -->
-    <skip />
-    <!-- no translation found for wifi_subscription_summary (18802471063384598) -->
-    <skip />
+    <string name="wifi_subscription" msgid="4432423938285430113">"订阅"</string>
+    <string name="wifi_subscription_summary" msgid="18802471063384598">"查看或更改订阅"</string>
     <string name="wifi_privacy_settings_ephemeral_summary" msgid="8502084692297249372">"随机选择的 MAC"</string>
     <string name="wifi_dpp_add_device_to_network" msgid="6141246783457722976">"添加设备"</string>
     <string name="wifi_dpp_center_qr_code" msgid="5270782275746178104">"将二维码置于下方中间位置即可将设备添加到“<xliff:g id="SSID">%1$s</xliff:g>”"</string>
@@ -3080,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 通话"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"使用 LTE 服务改进语音和其他通信功能（推荐）"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"使用 4G 服务改善语音和其他通讯方式的质量（推荐）"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"联系人探索功能"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"允许运营商了解您的联系人支持哪些通话功能。"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"要启用联系人探索功能吗？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"启用此功能将允许运营商访问您通讯录中的电话号码，以便了解这些电话号码支持哪些通话功能。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"首选网络类型"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE（推荐）"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"彩信"</string>
@@ -4515,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"系统图形驱动程序"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4545,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"群组"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"已选择 1 个设备"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"已选择 <xliff:g id="COUNT">%1$d</xliff:g> 个设备"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"接听来电的设备："</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"此 APN 无法更改。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"延长平板电脑的电池续航时间"</string>
@@ -4662,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"一次只能启用一个已下载的 SIM 卡。\n\n切换到<xliff:g id="CARRIER1">%1$s</xliff:g>不会取消<xliff:g id="CARRIER2">%2$s</xliff:g>服务。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"切换到<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"要清除这个已下载的 SIM 卡吗？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"清除此 SIM 卡将同时从此设备中移除<xliff:g id="CARRIER_0">%1$s</xliff:g>服务。\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>的服务不会因此遭到取消。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"清除"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"正在清除 SIM 卡…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"无法清除 SIM 卡"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"发生错误，因此无法清除此 SIM 卡。\n\n请重启设备，然后重试。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"首选网络类型"</string>
@@ -4747,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"您最近安装过此应用。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"切换输出"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"目前正在<xliff:g id="DEVICE_NAME">%1$s</xliff:g>上播放"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>（已断开连接）"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"无法切换。点按即可重试。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要信息"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"继续"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"不用了"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index bcb4171..ead2243 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -3079,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 通話"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"使用 LTE 服務改善語音及其他通訊 (建議)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"使用 4G 服務改善語音及其他通訊 (建議)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"聯絡人探索"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"允許流動網絡供應商找出聯絡人支援的通話功能。"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"要啟用聯絡人探索嗎？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"啟用此功能後，流動網絡供應商將可存取您聯絡人的電話號碼，以便找出號碼支援的通話功能。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"偏好的網絡類型"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (建議)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"MMS 訊息"</string>
@@ -4514,6 +4518,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"系統顯示卡驅動程式"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4544,6 +4549,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"群組"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"已選取 1 部裝置"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 部裝置"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"正在切換…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"接聽來電時使用的裝置"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"無法變更此 APN。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"延長平板電腦的電池壽命"</string>
@@ -4661,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"每次只可啟用一張已下載的 SIM 卡。\n\n切換至<xliff:g id="CARRIER1">%1$s</xliff:g>將不會取消您的<xliff:g id="CARRIER2">%2$s</xliff:g>服務。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"切換至<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"是否清除此已下載 SIM 卡？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"清除此 SIM 卡即會從此裝置中移除<xliff:g id="CARRIER_0">%1$s</xliff:g>服務。\n\n<xliff:g id="CARRIER_1">%2$s</xliff:g>的服務將不會被取消。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"清除"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"正在清除 SIM 卡…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"無法清除 SIM 卡"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"由於發生錯誤，因此無法清除此 SIM 卡。\n\n請重新開機，然後再試一次。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"首選網絡類型"</string>
@@ -4746,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"您最近安裝過此應用程式。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"切換輸出"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"目前正在「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」上播放"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (連線中斷)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"無法切換，輕按即可重試。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要資料"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"繼續"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"不用了，謝謝"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 2adb6dd..e78b8d1 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -3078,6 +3078,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"4G 通話功能"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"使用 LTE 服務提升語音通訊和其他通訊的品質 (建議)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"使用 4G 服務改善語音和其他通訊的品質 (建議)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"聯絡人探索"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"可讓電信業者瞭解聯絡人支援的通話功能。"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"要啟用聯絡人探索功能嗎？"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"啟用這項功能後，電信業者將可存取聯絡人的電話號碼，以便瞭解這些電話號碼支援的通話功能。"</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"偏好的網路類型"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"LTE (建議)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"多媒體訊息"</string>
@@ -4513,6 +4517,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"系統繪圖驅動程式"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4543,6 +4548,8 @@
     <string name="media_output_group" msgid="7918231774595274396">"群組"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"已選取 1 部裝置"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"已選取 <xliff:g id="COUNT">%1$d</xliff:g> 部裝置"</string>
+    <!-- no translation found for media_output_switching (7488216595474868546) -->
+    <skip />
     <string name="take_call_on_title" msgid="1159417893879946757">"接聽來電時使用的裝置"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"這個 APN 無法變更。"</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"延長平板電腦的電池續航力"</string>
@@ -4660,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"你一次只能啟用一張已下載的 SIM 卡。\n\n切換至「<xliff:g id="CARRIER1">%1$s</xliff:g>」不會取消「<xliff:g id="CARRIER2">%2$s</xliff:g>」的服務。"</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"切換至「<xliff:g id="CARRIER">%1$s</xliff:g>」"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"要清除這張已下載的 SIM 卡嗎？"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"清除這張 SIM 卡會同時從這個裝置中移除「<xliff:g id="CARRIER_0">%1$s</xliff:g>」服務。\n\n「<xliff:g id="CARRIER_1">%2$s</xliff:g>」服務不會因此遭到取消。"</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"清除"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"正在清除 SIM 卡…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"無法清除 SIM 卡"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"發生錯誤，因此無法清除這張 SIM 卡。\n\n請重新啟動你的裝置，然後再試一次。"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"偏好的網路類型"</string>
@@ -4745,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"你最近安裝了這個應用程式。"</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"切換輸出裝置"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"目前正在「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」上播放"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (已中斷連線)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"無法切換，輕觸即可重試。"</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"重要資訊"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"繼續"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"不用了，謝謝"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b779d04..c6ed1e2 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -3079,6 +3079,10 @@
     <string name="enhanced_4g_lte_mode_title_4g_calling" msgid="7445853566718786195">"Ukushaya kwe-4G"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="6776190202179584104">"Sebenzisa amasevisi we-LTE ukuze uthuthukise izwi nokunye ukuxhumana (kunconyiwe)"</string>
     <string name="enhanced_4g_lte_mode_summary_4g_calling" msgid="7814006095552641136">"Sebenzisa amasevisi we-G4 ukuze uthuthukise izwi nokunye ukuxhumana (kunconyiwe)"</string>
+    <string name="contact_discovery_opt_in_title" msgid="4076990635900099116">"Ukuthola oxhumana nabo"</string>
+    <string name="contact_discovery_opt_in_summary" msgid="4104310593310967300">"Kuvumela inkampini yenethiwekhi ukuthola ukuthi yiziphi izici ezisekelwa oxhumana nabo."</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="6278407286820554079">"Unika amandla ukuthola oxhumana nabo?"</string>
+    <string name="contact_discovery_opt_in_dialog_message" msgid="5787751513924920435">"Ukunika amandla lesi sici kuzovumela inkampini yenethiwekhi yakho ifinyelele inombolo yefoni ekulabo oxhumana nabo ukuze sikwazi ukuthola ukuthi yisiphi isici sokufona abasisekelayo."</string>
     <string name="preferred_network_type_title" msgid="812509938714590857">"Uhlobo lwenethiwekhi oluncamelayo"</string>
     <string name="preferred_network_type_summary" msgid="8786291927331323061">"I-LTE (inconyiwe)"</string>
     <string name="mms_message_title" msgid="6624505196063391964">"Imilayezo ye-MMS"</string>
@@ -4514,6 +4518,7 @@
     <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Umshayeli wemifanekiso yesistimu"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
+    <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
     <!-- no translation found for graphics_driver_app_preference_values:0 (6403705826179314116) -->
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
@@ -4544,6 +4549,7 @@
     <string name="media_output_group" msgid="7918231774595274396">"Iqembu"</string>
     <string name="media_output_group_panel_single_device_summary" msgid="5027884071572180516">"1 idivayisi ekhethiwe"</string>
     <string name="media_output_group_panel_multiple_devices_summary" msgid="4838305763151455248">"<xliff:g id="COUNT">%1$d</xliff:g> amadivayisi akhethiwe"</string>
+    <string name="media_output_switching" msgid="7488216595474868546">"Iyashintsha…"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Thatha ikholi ku-"</string>
     <string name="cannot_change_apn_toast" msgid="296540724089240405">"Le APN ayikwazi ukuguqulwa."</string>
     <string name="battery_suggestion_title" product="tablet" msgid="1525940496459255289">"Thuthukisa impilo yebhethri lethebulethi"</string>
@@ -4661,10 +4667,6 @@
     <string name="mobile_network_esim_swap_confirm_body" msgid="8168680839542031781">"I-SIM eyodwa kuphela elandiwe engeziwa isebenze ngesikhathi esithile.\n\nUkushintshela ku-<xliff:g id="CARRIER1">%1$s</xliff:g> ngeke kuze kukhansele isevisi yakho ye-<xliff:g id="CARRIER2">%2$s</xliff:g>."</string>
     <string name="mobile_network_esim_swap_confirm_ok" msgid="8695772737522378095">"Shintshela ku-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
     <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Sula i-SIM"</string>
-    <string name="mobile_network_erase_sim_dialog_title" msgid="2751887197002033678">"Sula le SIM elandiwe?"</string>
-    <string name="mobile_network_erase_sim_dialog_body" msgid="2452781115336285731">"Ukusula le-SIM kususa isevisi ye-<xliff:g id="CARRIER_0">%1$s</xliff:g> kusukela kule divayisi.\n\nIsevisi ye-<xliff:g id="CARRIER_1">%2$s</xliff:g> ngeke ize ikhanselwe."</string>
-    <string name="mobile_network_erase_sim_dialog_ok" msgid="3421196386773625314">"Sula"</string>
-    <string name="mobile_network_erase_sim_dialog_progress" msgid="27667157639219658">"Isula i-SIM…"</string>
     <string name="mobile_network_erase_sim_error_dialog_title" msgid="6680959559589234726">"Ayikwazi ukusula i-SIM"</string>
     <string name="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Le SIM ayikwazi ukusulwa ngenxa yephutha.\n\nQala kabusha idivayisi yakho uphinde uzame futhi."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Uhlobo lwenethiwekhi oluncamelayo"</string>
@@ -4746,6 +4748,8 @@
     <string name="recently_installed_app" msgid="2899861390925377564">"Kamuva nje ufake lolu hlelo lokusebenza."</string>
     <string name="media_output_panel_title" msgid="5920946795078065159">"Shintsha okukhiphayo"</string>
     <string name="media_output_panel_summary_of_playing_device" msgid="6998758947764222915">"Manje idlala ku-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="media_output_disconnected_status" msgid="5567111639832431865">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> (inqamukile)"</string>
+    <string name="media_output_switch_error_text" msgid="603563475910236831">"Akukwazi ukushintsha. Thepha ukuze uzame futhi."</string>
     <string name="wfc_disclaimer_title_text" msgid="4617195934203523503">"Ulwazi olubalulekile"</string>
     <string name="wfc_disclaimer_agree_button_text" msgid="4082872292910770344">"QHUBEKA"</string>
     <string name="wfc_disclaimer_disagree_text" msgid="8424457394700137703">"CHA NGIYABONGA"</string>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index c19b948..1649cb2 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -786,7 +786,7 @@
     <string-array name="captioning_font_size_selector_titles">
         <item>Very small</item>
         <item>Small</item>
-        <item>Normal</item>
+        <item>Default</item>
         <item>Large</item>
         <item>Very large</item>
     </string-array>
@@ -920,7 +920,7 @@
 
     <!-- Titles for captioning text style preset preference. [CHAR LIMIT=35] -->
     <string-array name="captioning_preset_selector_titles" >
-        <item>Use app defaults</item>
+        <item>Set by app</item>
         <item>White on black</item>
         <item>Black on white</item>
         <item>Yellow on black</item>
@@ -1375,89 +1375,6 @@
         <item>"1"</item>
     </string-array>
 
-    <string-array name="enabled_networks_except_gsm_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_3G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_gsm_4g_choices" translatable="false">
-        <item>@string/network_4G</item>
-        <item>@string/network_3G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_gsm_values" translatable="false">
-        <item>"9"</item>
-        <item>"0"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_except_lte_choices" translatable="false">
-        <item>@string/network_3G</item>
-        <item>@string/network_2G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_lte_values" translatable="false">
-        <item>"0"</item>
-        <item>"1"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_except_gsm_lte_choices" translatable="false">
-        <item>@string/network_3G</item>
-    </string-array>
-    <string-array name="enabled_networks_except_gsm_lte_values" translatable="false">
-        <item>"0"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_cdma_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_3G</item>
-        <item>@string/network_1x</item>
-        <item>@string/network_global</item>
-    </string-array>
-    <string-array name="enabled_networks_cdma_values" translatable="false">
-        <item>"8"</item>
-        <item>"4"</item>
-        <item>"5"</item>
-        <item>"10"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_cdma_no_lte_choices" translatable="false">
-        <item>@string/network_3G</item>
-        <item>@string/network_1x</item>
-    </string-array>
-    <string-array name="enabled_networks_cdma_no_lte_values" translatable="false">
-        <item>"4"</item>
-        <item>"5"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_cdma_only_lte_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_global</item>
-    </string-array>
-    <string-array name="enabled_networks_cdma_only_lte_values" translatable="false">
-        <item>"8"</item>
-        <item>"10"</item>
-    </string-array>
-
-    <string-array name="enabled_networks_tdscdma_choices" translatable="false">
-        <item>@string/network_lte</item>
-        <item>@string/network_3G</item>
-        <item>@string/network_2G</item>
-    </string-array>
-    <string-array name="enabled_networks_tdscdma_values" translatable="false">
-        <item>"22"</item>
-        <item>"18"</item>
-        <item>"1"</item>
-    </string-array>
-
-    <!--String arrays for World preferred netwrok modes -->
-    <string-array name="preferred_network_mode_choices_world_mode">
-        <item>Global</item>
-        <item>LTE / CDMA</item>
-        <item>LTE / GSM / UMTS</item>
-    </string-array>
-
-    <string-array name="preferred_network_mode_values_world_mode" translatable="false">
-        <item>"10"</item>
-        <item>"8"</item>
-        <item>"9"</item>
-    </string-array>
 
     <!-- WiFi calling mode array -->
     <string-array name="wifi_calling_mode_summaries" translatable="false">
@@ -1507,7 +1424,6 @@
         <item>@string/color_cyan</item>
         <item>@string/color_blue</item>
         <item>@string/color_purple</item>
-        <item>@string/color_pink</item>
     </string-array>
 
     <!-- Values for palette list view preference. -->
@@ -1519,7 +1435,6 @@
         <item>@color/palette_list_color_cyan</item>
         <item>@color/palette_list_color_blue</item>
         <item>@color/palette_list_color_purple</item>
-        <item>@color/palette_list_color_pink</item>
     </array>
 
     <!--String arrays for showing the rtt settings options -->
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 1c18c6a..06f135f 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -158,7 +158,6 @@
     <color name="palette_list_color_cyan">#12b5cb</color> <!-- Material Cyan 600 -->
     <color name="palette_list_color_blue">#1a73e8</color> <!-- Material Blue 600 -->
     <color name="palette_list_color_purple">#9334e6</color> <!-- Material Purple 600 -->
-    <color name="palette_list_color_pink">#e52592</color> <!-- Material Pink 600 -->
 
     <!-- Palette list preference dark mode colors. -->
     <color name="palette_list_dark_mode_color_red">#f28b82</color> <!-- Material Red 300 -->
@@ -168,6 +167,5 @@
     <color name="palette_list_dark_mode_color_cyan">#78d9ec</color> <!-- Material Cyan 300 -->
     <color name="palette_list_dark_mode_color_blue">#8AB4F8</color> <!-- Material Blue 300 -->
     <color name="palette_list_dark_mode_color_purple">#c58af9</color> <!-- Material Purple 300 -->
-    <color name="palette_list_dark_mode_color_pink">#ff8bcb</color> <!-- Material Pink 300 -->
 
 </resources>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 618b77b..5dcab3e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3814,6 +3814,8 @@
 
     <!-- Tethering footer info [CHAR LIMIT=NONE]-->
     <string name="tethering_footer_info">Use hotspot and tethering to provide internet to other devices through your mobile data connection. Apps can also create a hotspot to share content with nearby devices.</string>
+    <!-- Tethering footer info for the device which supports Wi-Fi and Wi-Fi tethering enabled at the same time [CHAR LIMIT=NONE]-->
+    <string name="tethering_footer_info_sta_ap_concurrency">Use hotspot and tethering to provide internet to other devices through your Wi\u2011Fi or mobile data connection. Apps can also create a hotspot to share content with nearby devices.</string>
 
     <!-- Tethering help button - calls up a web view with general tethering info -->
     <string name="tethering_help_button_text">Help</string>
@@ -4933,9 +4935,9 @@
     <!-- Label for shortcut settings button. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_settings">Shortcut settings</string>
     <!-- Title for the switch preference that controls whether or not the accessibility shortcut works on the lock screen. [CHAR LIMIT=35] -->
-    <string name="accessibility_shortcut_service_on_lock_screen_title">Allow from lock screen</string>
+    <string name="accessibility_shortcut_service_on_lock_screen_title">Shortcut from lock screen</string>
     <!-- Description of accessibility shortcut. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_shortcut_description">When the shortcut is on, you can press both volume keys for 3 seconds to start an accessibility feature.</string>
+    <string name="accessibility_shortcut_description">Allow feature shortcut to turn on from the lock screen. Hold both volume keys for 3 seconds.</string>
     <!-- Title for the accessibility preference to high contrast text. [CHAR LIMIT=35] -->
     <string name="accessibility_toggle_high_text_contrast_preference_title">High contrast text</string>
     <!-- Title for the accessibility preference to auto update screen magnification. [CHAR LIMIT=35] -->
@@ -4985,13 +4987,13 @@
     <!-- Used in the accessibility service settings to control turning display color inversion on/off entirely. [CHAR LIMIT=NONE] -->
     <string name="accessibility_display_inversion_switch_title">Use color inversion</string>
     <!-- Subtitle for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_display_inversion_preference_subtitle"><![CDATA[Color inversion turns light screens dark. This helps people who are sensitive to bright light see the screen more easily.<br/><br/>Note: Dark colors will turn light. Colors will change in media and images. You can also use Dark theme (Settings > Display).]]></string>
+    <string name="accessibility_display_inversion_preference_subtitle"><![CDATA[Color inversion turns light screens dark. This feature may be helpful for people who are sensitive to bright light.<br/><br/>Color inversion also turns dark screens light. Colors will change in media and images.<br/><br/>Note: You can also use Dark theme to display a dark background. Dark theme works with supported apps. Color inversion works on all apps.]]></string>
     <!-- Title for accessibility preference for configuring feature that performs click action soon after mouse/trackpad pointer stops moving. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_autoclick_preference_title">Auto click (dwell timing)</string>
+    <string name="accessibility_autoclick_preference_title">Autoclick (dwell timing)</string>
     <!-- Footer text to explain what autoclick does -->
-    <string name="accessibility_autoclick_description">If you are using a mouse, you can set the cursor to take action automatically when it stops moving for a certain amount of time.</string>
+    <string name="accessibility_autoclick_description">Autoclick works with a connected mouse. You can set the mouse cursor to click automatically when the cursor stops moving for a certain amount of time.</string>
     <!-- Option heading to leave the auto click requirement for accessibility users at its default level. [CHAR LIMIT=50] -->
-    <string name="accessibility_autoclick_default_title">Don\u2019t use auto click (default)</string>
+    <string name="accessibility_autoclick_default_title">Off</string>
     <!-- Option heading to leave the auto click requirement for accessibility users at its short level. [CHAR LIMIT=35] -->
     <string name="accessibility_autoclick_short_title">Short</string>
     <!-- Option summary text for the auto click delay 0.2 seconds radio button. [CHAR LIMIT=35] -->
@@ -5026,16 +5028,18 @@
     <string name="accessibility_service_master_open_title">Open <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g></string>
     <!-- Used in the Color correction settings screen to control turning on/off the feature entirely -->
     <string name="accessibility_daltonizer_master_switch_title">Use color correction</string>
-    <!-- Used in the Captions settings screen to control turning on/off the feature entirely -->
+    <!-- Title for Captions settings screen to control turning on/off the feature entirely -->
     <string name="accessibility_caption_master_switch_title">Show captions</string>
+    <!-- Summary for Captions settings screen to control turning on/off the feature entirely [CHAR LIMIT=NONE] -->
+    <string name="accessibility_caption_master_switch_summary">For supported app only</string>
     <!-- Title for Caption preference settings screen for configuring font style. [CHAR LIMIT=NONE] -->
-    <string name="captioning_caption_appearance_title">Caption appearance</string>
+    <string name="captioning_caption_appearance_title">Caption size and style</string>
     <!-- Summary for Captions settings, explaining important settings under it. [CHAR LIMIT=NONE] -->
-    <string name="captioning_caption_appearance_summary">Text size, caption style</string>
+    <string name="captioning_caption_appearance_summary"><xliff:g id="accessibility_font_size" example="Large">%1$s</xliff:g> text size</string>
     <!-- Title for Caption preference settings screen for configuring language. [CHAR LIMIT=NONE] -->
     <string name="captioning_more_options_title">More options</string>
     <!-- Used in the Captions preference to tell users that the setting doesn't support all apps. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_caption_preference_summary">Not all apps support this setting.</string>
+    <string name="accessibility_caption_preference_summary">Not all apps support these caption preferences</string>
     <!-- Summary for accessibility shortcut preference for software shortcut type. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_type_software">Accessibility button</string>
     <!-- Summary for accessibility shortcut preference for software shortcut type when gesture mode is on. [CHAR LIMIT=NONE] -->
@@ -5063,9 +5067,13 @@
         <item quantity="other"><xliff:g id="number_device_count">%1$d</xliff:g> saved hearing aids</item>
     </plurals>
 
-    <!-- Preference's state when enabled. -->
+    <!-- Preference's shortcut when enabled. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_summary_shortcut_enabled">Shortcut on</string>
+    <!-- Preference's shortcut when disabled. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_summary_shortcut_disabled">Off</string>
+    <!-- Preference's state when enabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_state_enabled">On</string>
-    <!-- Preference's state when disabled. -->
+    <!-- Preference's state when disabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_state_disabled">Off</string>
     <!-- Accessibility service's preference's state when enabled but not running (like maybe it crashed). -->
     <string name="accessibility_summary_state_stopped">Not working. Tap for info.</string>
@@ -5077,17 +5085,17 @@
     <!-- Title for the preference to configure the type of color space correction to apply. [CHAR LIMIT=NONE] -->
     <string name="daltonizer_type">Correction mode</string>
     <!-- Title shown for deuteranomaly (red-green color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_deuteranomaly_title">Red-green</string>
+    <string name="daltonizer_mode_deuteranomaly_title">Deuteranomaly</string>
     <!-- Title shown for protanomaly (red-green color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_protanomaly_title">Green-red</string>
+    <string name="daltonizer_mode_protanomaly_title">Protanomaly</string>
     <!-- Title shown for tritanomaly (blue-yellow color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_tritanomaly_title">Blue-yellow</string>
+    <string name="daltonizer_mode_tritanomaly_title">Tritanomaly</string>
     <!-- Summary shown for deuteranomaly (red-green color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_deuteranomaly_summary">Deuteranomaly</string>
+    <string name="daltonizer_mode_deuteranomaly_summary">Red-green</string>
     <!-- Summary shown for protanomaly (red-green color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_protanomaly_summary">Protanomaly</string>
+    <string name="daltonizer_mode_protanomaly_summary">Red-green</string>
     <!-- Summary shown for tritanomaly (blue-yellow color blindness) [CHAR LIMIT=45] -->
-    <string name="daltonizer_mode_tritanomaly_summary">Tritanomaly</string>
+    <string name="daltonizer_mode_tritanomaly_summary">Blue-yellow</string>
 
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <plurals name="accessibilty_autoclick_preference_subtitle_extremely_short_delay">
@@ -7143,6 +7151,8 @@
     <string name="help_url_magnification" translatable="false"></string>
     <string name="help_url_color_correction" translatable="false"></string>
     <string name="help_url_autoclick" translatable="false"></string>
+    <!-- Help URL, Accessibility caption preferences [DO NOT TRANSLATE] -->
+    <string name="help_url_caption" translatable="false"></string>
     <string name="help_url_system_dashboard" translatable="false"></string>
     <string name="help_url_double_tap_screen" translatable="false"></string>
     <string name="help_url_account_detail" translatable="false"></string>
@@ -7339,8 +7349,6 @@
     <string name="color_orange">Orange</string>
     <!-- Purple label.  [CHAR LIMIT=40] -->
     <string name="color_purple">Purple</string>
-    <!-- Pink label.  [CHAR LIMIT=40] -->
-    <string name="color_pink">Pink</string>
     <!-- Message informing the user that no SIM card is inserted  [CHAR LIMIT=60] -->
     <string name="sim_no_inserted_msg">No SIM cards inserted</string>
     <!-- SIM status title  [CHAR LIMIT=40] -->
@@ -8920,6 +8928,9 @@
     <!-- [CHAR LIMIT=100] Zen mode settings: Allow apps to bypass DND title-->
     <string name="zen_mode_bypassing_apps_title">App exceptions</string>
 
+    <!-- [CHAR LIMIT=120] Zen mode settings: No apps are bypassing DND -->
+    <string name="zen_mode_bypassing_apps_subtext_none">No apps can override Do Not Disturb</string>
+
     <!-- [CHAR LIMIT=120] Zen mode settings: Allow apps to bypass DND -->
     <plurals name="zen_mode_bypassing_apps_subtext">
         <item quantity="zero">No apps can override Do Not Disturb</item>
@@ -9310,7 +9321,10 @@
     <string name="assist_and_voice_input_title">Assist &amp; voice input</string>
 
     <!-- Title for Default Assist settings [CHAR LIMIT=30] -->
-    <string name="default_assist_title">Assist app</string>
+    <string name="default_assist_title">Digital assistant app</string>
+
+    <!-- Title for Default Assist settings [CHAR LIMIT=30] -->
+    <string name="default_digital_assistant_title">Default digital assistant app</string>
 
     <!-- [CHAR_LIMIT=45] Title of the security warning dialog for setting an assitant -->
     <string name="assistant_security_warning_title">
@@ -11117,6 +11131,9 @@
     <!-- Summary for media output group with the active device count [CHAR LIMIT=NONE] -->
     <string name="media_output_group_panel_multiple_devices_summary"><xliff:g id="count" example="2">%1$d</xliff:g> devices selected</string>
 
+    <!-- Summary for media output switching output [CHAR LIMIT=50] -->
+    <string name="media_output_switching">Switching\u2026</string>
+
     <!-- Title for HFP(hands free profile) output switch button in settings. -->
     <string name="take_call_on_title">Take call on</string>
 
@@ -11284,7 +11301,11 @@
     <!-- Text for Network 1x [CHAR LIMIT=NONE] -->
     <string name="network_1x" translatable="false">1x</string>
     <!-- Text for Network global [CHAR LIMIT=NONE] -->
-    <string name="network_global">Global</string>
+    <string name="network_global" translatable="false">Global</string>
+    <!-- Text for Network world mode CDMA LTE [CHAR LIMIT=NONE] -->
+    <string name="network_world_mode_cdma_lte" translatable="false">LTE / CDMA</string>
+    <!-- Text for Network world mode GSM LTE [CHAR LIMIT=NONE] -->
+    <string name="network_world_mode_gsm_lte" translatable="false">LTE / GSM / UMTS</string>
 
     <!-- Available networks screen title/heading [CHAR LIMIT=NONE] -->
     <string name="label_available">Available networks</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 6ffd6df..848eaf1 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -462,12 +462,6 @@
         <item name="rippleColor">?android:attr/colorControlHighlight</item>
     </style>
 
-    <style name="StickyCardStyle">
-        <item name="android:layout_marginBottom">@dimen/contextual_card_vertical_margin</item>
-        <item name="android:layout_marginStart">@dimen/contextual_card_side_margin</item>
-        <item name="android:layout_marginEnd">@dimen/contextual_card_side_margin</item>
-    </style>
-
     <style name="SearchBarStyle">
         <item name="android:layout_margin">@dimen/search_bar_margin</item>
         <item name="cardCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
@@ -512,6 +506,17 @@
         <item name="android:background">?android:attr/colorBackgroundFloating</item>
     </style>
 
+    <style name="SliceViewSliderStyle">
+        <item name="rowStyle">@style/SliceRowSliderStyle</item>
+        <item name="android:background">?android:attr/colorBackgroundFloating</item>
+    </style>
+
+    <style name="SliceRowSliderStyle" parent="SliceRowStyle">
+        <!-- Align text with slider -->
+        <item name="titleStartPadding">12dp</item>
+        <item name="subContentStartPadding">12dp</item>
+    </style>
+
     <style name="ContextualCardSliceViewStyle" parent="SliceViewStyle">
         <item name="android:background">@color/contextual_card_background</item>
     </style>
diff --git a/res/xml/accessibility_magnification_service_settings.xml b/res/xml/accessibility_magnification_service_settings.xml
index 74765b2..0548e5e 100644
--- a/res/xml/accessibility_magnification_service_settings.xml
+++ b/res/xml/accessibility_magnification_service_settings.xml
@@ -19,12 +19,14 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="magnification_mode_screen"
     android:persistent="false"
-    android:title="@string/accessibility_magnification_service_settings_title">
+    android:title="@string/accessibility_magnification_service_settings_title"
+    settings:searchable="false">
 
     <Preference
         android:key="magnification_mode"
         android:persistent="false"
         android:title="@string/accessibility_magnification_mode_title"
+        settings:searchable="false"
         settings:controller="com.android.settings.accessibility.MagnificationModePreferenceController" />
 
     <SwitchPreference
@@ -33,6 +35,7 @@
         android:title="@string/accessibility_magnification_enable_mode_title"
         android:summaryOn="@string/accessibility_magnification_area_settings_full_screen_summary"
         android:summaryOff="@string/accessibility_magnification_area_settings_window_screen_summary"
+        settings:searchable="false"
         settings:controller="com.android.settings.accessibility.MagnificationEnablePreferenceController" />
 
 </PreferenceScreen>
diff --git a/res/xml/accessibility_magnification_settings.xml b/res/xml/accessibility_magnification_settings.xml
index 6731dba..83ce79b 100644
--- a/res/xml/accessibility_magnification_settings.xml
+++ b/res/xml/accessibility_magnification_settings.xml
@@ -16,15 +16,18 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/accessibility_screen_magnification_title">
+    android:title="@string/accessibility_screen_magnification_title"
+    settings:searchable="false">
     <Preference
         android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
         android:key="screen_magnification_gestures_preference_screen"
         android:title="@string/accessibility_screen_magnification_gestures_title"
+        settings:searchable="false"
         settings:controller="com.android.settings.accessibility.MagnificationGesturesPreferenceController"/>
     <Preference
         android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
         android:key="screen_magnification_navbar_preference_screen"
         android:title="@string/accessibility_screen_magnification_navbar_title"
+        settings:searchable="false"
         settings:controller="com.android.settings.accessibility.MagnificationNavbarPreferenceController"/>
 </PreferenceScreen>
diff --git a/res/xml/all_tether_prefs.xml b/res/xml/all_tether_prefs.xml
index f552522..294e975 100644
--- a/res/xml/all_tether_prefs.xml
+++ b/res/xml/all_tether_prefs.xml
@@ -88,7 +88,6 @@
 
     <com.android.settingslib.widget.FooterPreference
         android:key="tether_prefs_footer_2"
-        android:title="@string/tethering_footer_info"
         android:selectable="false"
         settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/captioning_settings.xml b/res/xml/captioning_settings.xml
index c8cb46c..2a709f2 100644
--- a/res/xml/captioning_settings.xml
+++ b/res/xml/captioning_settings.xml
@@ -18,25 +18,31 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/accessibility_captioning_title" >
+    android:persistent="false"
+    android:title="@string/accessibility_captioning_title">
 
     <SwitchPreference
         android:key="captioning_preference_switch"
+        android:persistent="false"
+        android:summary="@string/accessibility_caption_master_switch_summary"
         android:title="@string/accessibility_caption_master_switch_title" />
 
     <Preference
+        android:fragment="com.android.settings.accessibility.CaptionAppearanceFragment"
         android:key="captioning_caption_appearance"
-        android:title="@string/captioning_caption_appearance_title"
-        android:summary="@string/captioning_caption_appearance_summary"
-        android:fragment="com.android.settings.accessibility.CaptionAppearanceFragment" />
+        android:persistent="false"
+        android:title="@string/captioning_caption_appearance_title" />
 
     <Preference
+        android:fragment="com.android.settings.accessibility.CaptionMoreOptionsFragment"
         android:key="captioning_more_options"
-        android:title="@string/captioning_more_options_title"
-        android:fragment="com.android.settings.accessibility.CaptionMoreOptionsFragment" />
+        android:persistent="false"
+        android:title="@string/captioning_more_options_title" />
 
     <com.android.settingslib.widget.FooterPreference
+        android:persistent="false"
+        android:selectable="false"
         android:title="@string/accessibility_caption_preference_summary"
-        android:selectable="false" />
+        settings:searchable="false"/>
 
 </PreferenceScreen>
diff --git a/res/xml/manage_assist.xml b/res/xml/manage_assist.xml
index ef0f696..3430c05 100644
--- a/res/xml/manage_assist.xml
+++ b/res/xml/manage_assist.xml
@@ -19,12 +19,12 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="manage_assist_screen"
-    android:title="@string/assist_and_voice_input_title"
+    android:title="@string/default_assist_title"
     settings:keywords="@string/keywords_assist_input">
 
     <com.android.settings.widget.GearPreference
         android:key="default_assist"
-        android:title="@string/default_assist_title"
+        android:title="@string/default_digital_assistant_title"
         android:summary="@string/summary_placeholder" />
 
     <Preference
diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml
index 70d55aa..abc49cc 100644
--- a/res/xml/tether_prefs.xml
+++ b/res/xml/tether_prefs.xml
@@ -46,7 +46,6 @@
 
     <com.android.settingslib.widget.FooterPreference
         android:key="tether_prefs_footer"
-        android:title="@string/tethering_footer_info"
         android:selectable="false"
         settings:searchable="false"/>
 </PreferenceScreen>
diff --git a/res/xml/zen_mode_settings.xml b/res/xml/zen_mode_settings.xml
index ce2d132..f8a3aa5 100644
--- a/res/xml/zen_mode_settings.xml
+++ b/res/xml/zen_mode_settings.xml
@@ -43,6 +43,7 @@
         <Preference
             android:key="zen_mode_behavior_apps"
             android:title="@string/zen_category_apps"
+            settings:controller="com.android.settings.notification.zen.ZenModeBypassingAppsPreferenceController"
             android:fragment="com.android.settings.notification.zen.ZenModeBypassingAppsSettings" />
 
         <!-- All sounds -->
diff --git a/src/com/android/settings/AllInOneTetherSettings.java b/src/com/android/settings/AllInOneTetherSettings.java
index a15ad1f..251d135 100644
--- a/src/com/android/settings/AllInOneTetherSettings.java
+++ b/src/com/android/settings/AllInOneTetherSettings.java
@@ -56,6 +56,7 @@
 import com.android.settings.wifi.tether.WifiTetherApBandPreferenceController;
 import com.android.settings.wifi.tether.WifiTetherAutoOffPreferenceController;
 import com.android.settings.wifi.tether.WifiTetherBasePreferenceController;
+import com.android.settings.wifi.tether.WifiTetherFooterPreferenceController;
 import com.android.settings.wifi.tether.WifiTetherPasswordPreferenceController;
 import com.android.settings.wifi.tether.WifiTetherSSIDPreferenceController;
 import com.android.settings.wifi.tether.WifiTetherSecurityPreferenceController;
@@ -71,7 +72,7 @@
  * Displays preferences for all Tethering options.
  */
 @SearchIndexable
-public final class AllInOneTetherSettings extends RestrictedDashboardFragment
+public class AllInOneTetherSettings extends RestrictedDashboardFragment
         implements DataSaverBackend.Listener,
         WifiTetherBasePreferenceController.OnTetherConfigUpdateListener,
         SharedPreferences.OnSharedPreferenceChangeListener {
@@ -304,6 +305,8 @@
                 new WifiTetherSecurityPreferenceController(context, listener));
         controllers.add(
                 new WifiTetherAutoOffPreferenceController(context, KEY_WIFI_TETHER_AUTO_OFF));
+        controllers.add(
+                new WifiTetherFooterPreferenceController(context));
 
         return controllers;
     }
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index b906a73..6bb75a5 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -123,6 +123,7 @@
     // @see android.widget.Toast$TN
     private static final long LONG_DURATION_TIMEOUT = 7000;
 
+    private int mSlotId;
     private int mSubId;
     private TelephonyManager mTelephonyManager;
 
@@ -219,6 +220,7 @@
             Bundle savedInstanceState) {
 
         final int numSims = mProxySubscriptionMgr.getActiveSubscriptionInfoCountMax();
+        mSlotId = 0;
         if (numSims > 1) {
             final View view = inflater.inflate(R.layout.icc_lock_tabs, container, false);
             final ViewGroup prefs_container = (ViewGroup) view.findViewById(R.id.prefs_container);
@@ -244,7 +246,8 @@
                             ? getContext().getString(R.string.sim_editor_title, i + 1)
                             : subInfo.getDisplayName())));
             }
-            final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, 0);
+            final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(
+                    subInfoList, mSlotId);
             mSubId = sir.getSubscriptionId();
 
             if (savedInstanceState != null && savedInstanceState.containsKey(CURRENT_TAB)) {
@@ -266,7 +269,7 @@
 
         final List<SubscriptionInfo> subInfoList =
                 mProxySubscriptionMgr.getActiveSubscriptionsInfo();
-        final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, 0);
+        final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, mSlotId);
         mSubId = sir.getSubscriptionId();
 
         if (mPinDialog != null) {
@@ -653,9 +656,9 @@
     private OnTabChangeListener mTabListener = new OnTabChangeListener() {
         @Override
         public void onTabChanged(String tabId) {
-            final int slotId = Integer.parseInt(tabId);
+            mSlotId = Integer.parseInt(tabId);
             final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(
-                    mProxySubscriptionMgr.getActiveSubscriptionsInfo(), slotId);
+                    mProxySubscriptionMgr.getActiveSubscriptionsInfo(), mSlotId);
 
             // The User has changed tab; update the body.
             updatePreferences();
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index a29ec95..cce2010 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -31,6 +31,7 @@
 import android.content.pm.PackageManager;
 import android.hardware.usb.UsbManager;
 import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.os.Environment;
 import android.os.Handler;
@@ -71,6 +72,8 @@
     @VisibleForTesting
     static final String KEY_ENABLE_BLUETOOTH_TETHERING = "enable_bluetooth_tethering";
     private static final String KEY_DATA_SAVER_FOOTER = "disabled_on_data_saver";
+    @VisibleForTesting
+    static final String KEY_TETHER_PREFS_FOOTER = "tether_prefs_footer";
 
     private static final String TAG = "TetheringSettings";
 
@@ -141,6 +144,7 @@
 
         mUsbTether = (SwitchPreference) findPreference(KEY_USB_TETHER_SETTINGS);
         mBluetoothTether = (SwitchPreference) findPreference(KEY_ENABLE_BLUETOOTH_TETHERING);
+        setFooterPreferenceTitle();
 
         mDataSaverBackend.addListener(this);
 
@@ -201,6 +205,18 @@
     public void onBlacklistStatusChanged(int uid, boolean isBlacklisted)  {
     }
 
+    @VisibleForTesting
+    void setFooterPreferenceTitle() {
+        final Preference footerPreference = findPreference(KEY_TETHER_PREFS_FOOTER);
+        final WifiManager wifiManager =
+                (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
+        if (wifiManager.isStaApConcurrencySupported()) {
+            footerPreference.setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+        } else {
+            footerPreference.setTitle(R.string.tethering_footer_info);
+        }
+    }
+
     private class TetherChangeReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context content, Intent intent) {
diff --git a/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java
index c96013f..fbe1e77 100644
--- a/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java
+++ b/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java
@@ -285,7 +285,6 @@
         final Drawable icon = context.getDrawable(R.drawable.ic_accessibility_new);
         final ImageSpan imageSpan = new ImageSpan(icon);
         imageSpan.setContentDescription("");
-        icon.setTint(getThemeAttrColor(context, android.R.attr.textColorPrimary));
         icon.setBounds(0, 0, lineHeight, lineHeight);
         spannableMessage.setSpan(
                 imageSpan, indexIconStart, indexIconEnd,
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index 0c8644f..ddf7bd4 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -178,7 +178,6 @@
         final Drawable icon = context.getDrawable(R.drawable.ic_accessibility_new);
         final ImageSpan imageSpan = new ImageSpan(icon);
         imageSpan.setContentDescription("");
-        icon.setTint(getThemeAttrColor(context, android.R.attr.textColorPrimary));
         icon.setBounds(0, 0, lineHeight, lineHeight);
         spannableMessage.setSpan(
                 imageSpan, indexIconStart, indexIconEnd,
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 23b0f1a..1e3944e 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -76,8 +76,6 @@
     // Index of the first preference in a preference category.
     private static final int FIRST_PREFERENCE_IN_CATEGORY_INDEX = -1;
 
-    private static final String EMPTY_STRING = "";
-
     // Preference categories
     private static final String CATEGORY_SCREEN_READER = "screen_reader_category";
     private static final String CATEGORY_AUDIO_AND_CAPTIONS = "audio_and_captions_category";
@@ -195,6 +193,10 @@
         for (AccessibilityShortcutController.ToggleableFrameworkFeatureInfo feature : features) {
             shortcutFeatureKeys.add(feature.getSettingKey());
         }
+
+        // Observe changes from accessibility selection menu
+        shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_BUTTON_TARGET_COMPONENT);
+        shortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
         mSettingsContentObserver = new SettingsContentObserver(mHandler, shortcutFeatureKeys) {
             @Override
             public void onChange(boolean selfChange, Uri uri) {
@@ -268,16 +270,24 @@
             return context.getText(R.string.accessibility_summary_state_stopped);
         }
 
-        final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
-
+        final CharSequence serviceState;
         final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
         if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
-            return TextUtils.isEmpty(serviceSummary) ? EMPTY_STRING : serviceSummary;
+            final ComponentName componentName = new ComponentName(
+                    info.getResolveInfo().serviceInfo.packageName,
+                    info.getResolveInfo().serviceInfo.name);
+            final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
+                    context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
+            serviceState = shortcutEnabled
+                    ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                    : context.getText(R.string.accessibility_summary_shortcut_disabled);
+        } else {
+            serviceState = serviceEnabled
+                    ? context.getText(R.string.accessibility_summary_state_enabled)
+                    : context.getText(R.string.accessibility_summary_state_disabled);
         }
 
-        final CharSequence serviceState = serviceEnabled
-                ? context.getText(R.string.accessibility_summary_state_enabled)
-                : context.getText(R.string.accessibility_summary_state_disabled);
+        final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
         final String stateSummaryCombo = context.getString(
                 R.string.preference_summary_default_combination,
                 serviceState, serviceSummary);
@@ -485,6 +495,8 @@
                     mCategoryToPrefCategoryMap.get(CATEGORY_DISPLAY);
             experimentalCategory.removePreference(mToggleInversionPreference);
             experimentalCategory.removePreference(mDisplayDaltonizerPreferenceScreen);
+            mDisplayMagnificationPreferenceScreen.setSummary(
+                    ToggleScreenMagnificationPreferenceFragment.getServiceSummary(getContext()));
             mDisplayDaltonizerPreferenceScreen.setOrder(
                     mDisplayMagnificationPreferenceScreen.getOrder() + 1);
             mDisplayDaltonizerPreferenceScreen.setSummary(AccessibilityUtil.getSummary(
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
index 76fb3ff..ce0b5fb 100644
--- a/src/com/android/settings/accessibility/AccessibilityUtil.java
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -73,7 +73,7 @@
     /**
      * Annotation for different user shortcut type UI type.
      *
-     * {@code DEFAULT} for displaying default value.
+     * {@code EMPTY} for displaying default value.
      * {@code SOFTWARE} for displaying specifying the accessibility services or features which
      * choose accessibility button in the navigation bar as preferred shortcut.
      * {@code HARDWARE} for displaying specifying the accessibility services or features which
@@ -83,7 +83,7 @@
      */
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({
-            UserShortcutType.DEFAULT,
+            UserShortcutType.EMPTY,
             UserShortcutType.SOFTWARE,
             UserShortcutType.HARDWARE,
             UserShortcutType.TRIPLETAP,
@@ -91,7 +91,7 @@
 
     /** Denotes the user shortcut type. */
     public @interface UserShortcutType {
-        int DEFAULT = 0;
+        int EMPTY = 0;
         int SOFTWARE = 1; // 1 << 0
         int HARDWARE = 2; // 1 << 1
         int TRIPLETAP = 4; // 1 << 2
@@ -323,7 +323,7 @@
      */
     static int getUserShortcutTypesFromSettings(Context context,
             @NonNull ComponentName componentName) {
-        int shortcutTypes = UserShortcutType.DEFAULT;
+        int shortcutTypes = UserShortcutType.EMPTY;
         if (hasValuesInSettings(context, UserShortcutType.SOFTWARE, componentName)) {
             shortcutTypes |= UserShortcutType.SOFTWARE;
         }
diff --git a/src/com/android/settings/accessibility/CaptionAppearanceFragment.java b/src/com/android/settings/accessibility/CaptionAppearanceFragment.java
index d31465e..394f50a 100644
--- a/src/com/android/settings/accessibility/CaptionAppearanceFragment.java
+++ b/src/com/android/settings/accessibility/CaptionAppearanceFragment.java
@@ -407,6 +407,11 @@
         return true;
     }
 
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_caption;
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.captioning_appearance);
 }
diff --git a/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.java b/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.java
index a785424..8e5c003 100644
--- a/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.java
+++ b/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.java
@@ -83,6 +83,11 @@
         return true;
     }
 
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_caption;
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.captioning_more_options);
 }
diff --git a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
index 0034fe6..43539fd 100644
--- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
+++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
@@ -32,6 +32,8 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
+import com.google.common.primitives.Floats;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -52,6 +54,7 @@
     private Preference mMoreOptions;
 
     private final List<Preference> mPreferenceList = new ArrayList<>();
+    private float[] mFontSizeValuesArray;
 
     @Override
     public int getMetricsCategory() {
@@ -66,8 +69,14 @@
 
         addPreferencesFromResource(R.xml.captioning_settings);
         initializeAllPreferences();
-        updateAllPreferences();
         installUpdateListeners();
+        initFontSizeValuesArray();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        updateAllPreferences();
     }
 
     private void initializeAllPreferences() {
@@ -83,8 +92,19 @@
         mSwitch.setOnPreferenceChangeListener(this);
     }
 
+    private void initFontSizeValuesArray() {
+        final String[] fontSizeValuesStrArray = getPrefContext().getResources().getStringArray(
+                R.array.captioning_font_size_selector_values);
+        final int length = fontSizeValuesStrArray.length;
+        mFontSizeValuesArray = new float[length];
+        for (int i = 0; i < length; ++i) {
+            mFontSizeValuesArray[i] = Float.parseFloat(fontSizeValuesStrArray[i]);
+        }
+    }
+
     private void updateAllPreferences() {
         mSwitch.setChecked(mCaptioningManager.isEnabled());
+        mTextAppearance.setSummary(geTextAppearanceSummary(getPrefContext()));
     }
 
     @Override
@@ -98,6 +118,21 @@
         return true;
     }
 
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_caption;
+    }
+
+    private CharSequence geTextAppearanceSummary(Context context) {
+        final String[] fontSizeSummaries = context.getResources().getStringArray(
+                R.array.captioning_font_size_selector_titles);
+
+        final float fontSize = mCaptioningManager.getFontScale();
+        final int idx = Floats.indexOf(mFontSizeValuesArray, fontSize);
+        final String fontSizeSummary = fontSizeSummaries[idx == /* not exist */ -1 ? 0 : idx];
+        return context.getString(R.string.captioning_caption_appearance_summary, fontSizeSummary);
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.captioning_settings);
 }
diff --git a/src/com/android/settings/accessibility/MagnificationPreferenceController.java b/src/com/android/settings/accessibility/MagnificationPreferenceController.java
index 7ac7bef..5b5236e 100644
--- a/src/com/android/settings/accessibility/MagnificationPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationPreferenceController.java
@@ -22,7 +22,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 public class MagnificationPreferenceController extends BasePreferenceController {
@@ -40,8 +39,7 @@
 
     @Override
     public CharSequence getSummary() {
-        return mContext.getResources().getText(
-                R.string.accessibility_screen_magnification_navbar_title);
+        return ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index d61be67..08be8b3 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -417,6 +417,8 @@
         AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes, mComponentName);
 
         mDialog.dismiss();
+
+        mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
     }
 
     private void onDenyButtonFromShortcutToggleClicked() {
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index ec5784e..c0ad2ac 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -43,7 +43,6 @@
 public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePreferenceFragment {
 
     private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
-    private static final int DIALOG_ID_EDIT_SHORTCUT = 1;
     private final Handler mHandler = new Handler();
     private SettingsContentObserver mSettingsContentObserver;
 
@@ -117,7 +116,7 @@
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
         super.onSettingsClicked(preference);
-        showDialog(DIALOG_ID_EDIT_SHORTCUT);
+        showDialog(DialogEnums.EDIT_SHORTCUT);
     }
 
     private void updateSwitchBarToggleSwitch() {
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 0b8353e..ec2617a 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -90,9 +90,9 @@
     private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
     private static final String EXTRA_SHORTCUT_TYPE = "shortcut_type";
     private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
-    private int mUserShortcutType = UserShortcutType.DEFAULT;
+    private int mUserShortcutType = UserShortcutType.EMPTY;
     // Used to restore the edit dialog status.
-    private int mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+    private int mUserShortcutTypeCache = UserShortcutType.EMPTY;
     private CheckBox mSoftwareTypeCheckBox;
     private CheckBox mHardwareTypeCheckBox;
 
@@ -413,18 +413,18 @@
                 new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
 
         private String mComponentName;
-        private int mUserShortcutType;
+        private int mType;
 
-        AccessibilityUserShortcutType(String componentName, int userShortcutType) {
+        AccessibilityUserShortcutType(String componentName, int type) {
             this.mComponentName = componentName;
-            this.mUserShortcutType = userShortcutType;
+            this.mType = type;
         }
 
         AccessibilityUserShortcutType(String flattenedString) {
             sStringColonSplitter.setString(flattenedString);
             if (sStringColonSplitter.hasNext()) {
                 this.mComponentName = sStringColonSplitter.next();
-                this.mUserShortcutType = Integer.parseInt(sStringColonSplitter.next());
+                this.mType = Integer.parseInt(sStringColonSplitter.next());
             }
         }
 
@@ -436,18 +436,18 @@
             this.mComponentName = componentName;
         }
 
-        int getUserShortcutType() {
-            return mUserShortcutType;
+        int getType() {
+            return mType;
         }
 
-        void setUserShortcutType(int userShortcutType) {
-            this.mUserShortcutType = userShortcutType;
+        void setType(int type) {
+            this.mType = type;
         }
 
         String flattenToString() {
             final StringJoiner joiner = new StringJoiner(String.valueOf(COMPONENT_NAME_SEPARATOR));
             joiner.add(mComponentName);
-            joiner.add(String.valueOf(mUserShortcutType));
+            joiner.add(String.valueOf(mType));
             return joiner.toString();
         }
     }
@@ -459,7 +459,6 @@
         final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut);
         mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox);
         updateAlertDialogCheckState();
-        updateAlertDialogEnableState();
     }
 
     private void updateAlertDialogCheckState() {
@@ -467,36 +466,28 @@
         updateCheckStatus(mHardwareTypeCheckBox, UserShortcutType.HARDWARE);
     }
 
-    private void updateAlertDialogEnableState() {
-        if (!mSoftwareTypeCheckBox.isChecked()) {
-            mHardwareTypeCheckBox.setEnabled(false);
-        } else if (!mHardwareTypeCheckBox.isChecked()) {
-            mSoftwareTypeCheckBox.setEnabled(false);
-        } else {
-            mSoftwareTypeCheckBox.setEnabled(true);
-            mHardwareTypeCheckBox.setEnabled(true);
-        }
-    }
-
     private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) {
         checkBox.setChecked((mUserShortcutTypeCache & type) == type);
         checkBox.setOnClickListener(v -> {
             updateUserShortcutType(/* saveChanges= */ false);
-            updateAlertDialogEnableState();
         });
     }
 
     private void updateUserShortcutType(boolean saveChanges) {
-        mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+        mUserShortcutTypeCache = UserShortcutType.EMPTY;
         if (mSoftwareTypeCheckBox.isChecked()) {
             mUserShortcutTypeCache |= UserShortcutType.SOFTWARE;
         }
         if (mHardwareTypeCheckBox.isChecked()) {
             mUserShortcutTypeCache |= UserShortcutType.HARDWARE;
         }
+
         if (saveChanges) {
+            final boolean isChanged = (mUserShortcutTypeCache != UserShortcutType.EMPTY);
+            if (isChanged) {
+                setUserShortcutType(getPrefContext(), mUserShortcutTypeCache);
+            }
             mUserShortcutType = mUserShortcutTypeCache;
-            setUserShortcutType(getPrefContext(), mUserShortcutType);
         }
     }
 
@@ -573,7 +564,7 @@
 
         final String str = (String) filtered.toArray()[0];
         final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(str);
-        return shortcut.getUserShortcutType();
+        return shortcut.getType();
     }
 
     private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
@@ -582,13 +573,11 @@
         }
 
         updateUserShortcutType(/* saveChanges= */ true);
-        if (mShortcutPreference.isChecked()) {
-            AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), mUserShortcutType,
-                    mComponentName);
-            AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~mUserShortcutType,
-                    mComponentName);
-        }
-        mShortcutPreference.setChecked(true);
+        AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), mUserShortcutType,
+                mComponentName);
+        AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~mUserShortcutType,
+                mComponentName);
+        mShortcutPreference.setChecked(mUserShortcutType != UserShortcutType.EMPTY);
         mShortcutPreference.setSummary(
                 getShortcutTypeSummary(getPrefContext()));
     }
@@ -601,7 +590,7 @@
         // Get the user shortcut type from settings provider.
         mUserShortcutType = AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
                 mComponentName);
-        if (mUserShortcutType != UserShortcutType.DEFAULT) {
+        if (mUserShortcutType != UserShortcutType.EMPTY) {
             setUserShortcutType(getPrefContext(), mUserShortcutType);
         } else {
             //  Get the user shortcut type from shared_prefs if cannot get from settings provider.
@@ -613,7 +602,7 @@
         // Restore the user shortcut type.
         if (savedInstanceState != null && savedInstanceState.containsKey(EXTRA_SHORTCUT_TYPE)) {
             mUserShortcutTypeCache = savedInstanceState.getInt(EXTRA_SHORTCUT_TYPE,
-                    UserShortcutType.DEFAULT);
+                    UserShortcutType.EMPTY);
         }
 
         // Initial the shortcut preference.
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 6716234..4c2945a 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -70,9 +70,9 @@
     private static final String EXTRA_SHORTCUT_TYPE = "shortcut_type";
     private static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
     private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
-    private int mUserShortcutType = UserShortcutType.DEFAULT;
+    private int mUserShortcutType = UserShortcutType.EMPTY;
     // Used to restore the edit dialog status.
-    private int mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+    private int mUserShortcutTypeCache = UserShortcutType.EMPTY;
     private CheckBox mSoftwareTypeCheckBox;
     private CheckBox mHardwareTypeCheckBox;
     private CheckBox mTripleTapTypeCheckBox;
@@ -255,7 +255,6 @@
         mTripleTapTypeCheckBox = dialogTripleTapView.findViewById(R.id.checkbox);
         final View advancedView = dialog.findViewById(R.id.advanced_shortcut);
         updateAlertDialogCheckState();
-        updateAlertDialogEnableState();
 
         // Window magnification mode doesn't support advancedView.
         if (isWindowMagnification(getPrefContext())) {
@@ -275,30 +274,15 @@
         updateCheckStatus(mTripleTapTypeCheckBox, UserShortcutType.TRIPLETAP);
     }
 
-    private void updateAlertDialogEnableState() {
-        if (!mSoftwareTypeCheckBox.isChecked() && !mTripleTapTypeCheckBox.isChecked()) {
-            mHardwareTypeCheckBox.setEnabled(false);
-        } else if (!mHardwareTypeCheckBox.isChecked() && !mTripleTapTypeCheckBox.isChecked()) {
-            mSoftwareTypeCheckBox.setEnabled(false);
-        } else if (!mSoftwareTypeCheckBox.isChecked() && !mHardwareTypeCheckBox.isChecked()) {
-            mTripleTapTypeCheckBox.setEnabled(false);
-        } else {
-            mSoftwareTypeCheckBox.setEnabled(true);
-            mHardwareTypeCheckBox.setEnabled(true);
-            mTripleTapTypeCheckBox.setEnabled(true);
-        }
-    }
-
     private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) {
         checkBox.setChecked((mUserShortcutTypeCache & type) == type);
         checkBox.setOnClickListener(v -> {
             updateUserShortcutType(/* saveChanges= */ false);
-            updateAlertDialogEnableState();
         });
     }
 
     private void updateUserShortcutType(boolean saveChanges) {
-        mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+        mUserShortcutTypeCache = UserShortcutType.EMPTY;
         if (mSoftwareTypeCheckBox.isChecked()) {
             mUserShortcutTypeCache |= UserShortcutType.SOFTWARE;
         }
@@ -308,9 +292,13 @@
         if (mTripleTapTypeCheckBox.isChecked()) {
             mUserShortcutTypeCache |= UserShortcutType.TRIPLETAP;
         }
+
         if (saveChanges) {
+            final boolean isChanged = (mUserShortcutTypeCache != UserShortcutType.EMPTY);
+            if (isChanged) {
+                setUserShortcutType(getPrefContext(), mUserShortcutTypeCache);
+            }
             mUserShortcutType = mUserShortcutTypeCache;
-            setUserShortcutType(getPrefContext(), mUserShortcutType);
         }
     }
 
@@ -336,7 +324,7 @@
             return context.getText(R.string.switch_off_text);
         }
 
-        final int shortcutType = getUserShortcutType(context, UserShortcutType.DEFAULT);
+        final int shortcutType = getUserShortcutType(context, UserShortcutType.EMPTY);
         int resId = R.string.accessibility_shortcut_edit_summary_software;
         if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
             resId = AccessibilityUtil.isTouchExploreEnabled(context)
@@ -381,16 +369,14 @@
 
         final String str = (String) filtered.toArray()[0];
         final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(str);
-        return shortcut.getUserShortcutType();
+        return shortcut.getType();
     }
 
     private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
         updateUserShortcutType(/* saveChanges= */ true);
-        if (mShortcutPreference.isChecked()) {
-            optInAllMagnificationValuesToSettings(getPrefContext(), mUserShortcutType);
-            optOutAllMagnificationValuesFromSettings(getPrefContext(), ~mUserShortcutType);
-        }
-        mShortcutPreference.setChecked(true);
+        optInAllMagnificationValuesToSettings(getPrefContext(), mUserShortcutType);
+        optOutAllMagnificationValuesFromSettings(getPrefContext(), ~mUserShortcutType);
+        mShortcutPreference.setChecked(mUserShortcutType != UserShortcutType.EMPTY);
         mShortcutPreference.setSummary(
                 getShortcutTypeSummary(getPrefContext()));
     }
@@ -467,7 +453,7 @@
     private void updateShortcutPreferenceData() {
         // Get the user shortcut type from settings provider.
         mUserShortcutType = getUserShortcutTypeFromSettings(getPrefContext());
-        if (mUserShortcutType != UserShortcutType.DEFAULT) {
+        if (mUserShortcutType != UserShortcutType.EMPTY) {
             setUserShortcutType(getPrefContext(), mUserShortcutType);
         } else {
             //  Get the user shortcut type from shared_prefs if cannot get from settings provider.
@@ -626,7 +612,7 @@
     }
 
     private static int getUserShortcutTypeFromSettings(Context context) {
-        int shortcutTypes = UserShortcutType.DEFAULT;
+        int shortcutTypes = UserShortcutType.EMPTY;
         if (hasMagnificationValuesInSettings(context, UserShortcutType.SOFTWARE)) {
             shortcutTypes |= UserShortcutType.SOFTWARE;
         }
@@ -638,4 +624,17 @@
         }
         return shortcutTypes;
     }
+
+    /**
+     * Gets the service summary of magnification.
+     *
+     * @param context The current context.
+     */
+    public static CharSequence getServiceSummary(Context context) {
+        // Get the user shortcut type from settings provider.
+        final int uerShortcutType = getUserShortcutTypeFromSettings(context);
+        return (uerShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
+                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                : context.getText(R.string.accessibility_summary_shortcut_disabled);
+    }
 }
diff --git a/src/com/android/settings/applications/AppStateManageExternalStorageBridge.java b/src/com/android/settings/applications/AppStateManageExternalStorageBridge.java
index 7933062..1132137 100644
--- a/src/com/android/settings/applications/AppStateManageExternalStorageBridge.java
+++ b/src/com/android/settings/applications/AppStateManageExternalStorageBridge.java
@@ -69,7 +69,7 @@
 
     /**
      * Returns the MANAGE_EXTERNAL_STORAGE {@link AppStateAppOpsBridge.PermissionState} object
-     * associated with the given package and user.
+     * associated with the given package and UID.
      */
     public PermissionState getManageExternalStoragePermState(String pkg, int uid) {
         return getPermissionInfo(pkg, uid);
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index 61c417c..a0aa6db 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -16,9 +16,12 @@
 
 package com.android.settings.biometrics;
 
+import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.hardware.biometrics.BiometricManager;
+import android.hardware.biometrics.BiometricManager.Authenticators;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -30,6 +33,7 @@
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
 import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollIntroduction;
 import com.android.settings.core.InstrumentedActivity;
+import com.android.settings.password.ChooseLockGeneric;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -52,14 +56,32 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        Log.d(TAG, "Min strength: " + getIntent()
-                .getIntExtra(Settings.EXTRA_BIOMETRIC_MINIMUM_STRENGTH_REQUIRED, 0));
+        // Default behavior is to enroll BIOMETRIC_WEAK or above. See ACTION_BIOMETRIC_ENROLL.
+        final int authenticators = getIntent().getIntExtra(
+                Settings.EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED, Authenticators.BIOMETRIC_WEAK);
 
+        Log.d(TAG, "Authenticators: " + authenticators);
+
+        final BiometricManager bm = getSystemService(BiometricManager.class);
         final PackageManager pm = getApplicationContext().getPackageManager();
         Intent intent = null;
 
-        // This logic may have to be modified on devices with multiple biometrics.
-        if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+        final int result = bm.canAuthenticate(authenticators);
+
+        if (result == BiometricManager.BIOMETRIC_SUCCESS
+                || result == BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE) {
+            Log.e(TAG, "Unexpected result: " + result);
+            finish();
+            return;
+        }
+
+        if (authenticators == BiometricManager.Authenticators.DEVICE_CREDENTIAL) {
+            // If only device credential was specified, ask the user to only set that up.
+            intent = new Intent(this, ChooseLockGeneric.class);
+            intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.MINIMUM_QUALITY_KEY,
+                    DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
+        } else if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+            // This logic may have to be modified on devices with multiple biometrics.
             // ChooseLockGeneric can request to start fingerprint enroll bypassing the intro screen.
             if (getIntent().getBooleanExtra(EXTRA_SKIP_INTRO, false)
                     && this instanceof InternalActivity) {
@@ -86,8 +108,11 @@
             }
 
             startActivity(intent);
+            finish();
+        } else {
+            Log.e(TAG, "Intent was null, finishing");
+            finish();
         }
-        finish();
     }
 
     private Intent getFingerprintFindSensorIntent() {
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
index 3778862..21312a5 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
@@ -69,18 +69,17 @@
 
     public BluetoothDeviceUpdater(Context context, DashboardFragment fragment,
             DevicePreferenceCallback devicePreferenceCallback) {
-        this(fragment, devicePreferenceCallback, Utils.getLocalBtManager(context));
+        this(context, fragment, devicePreferenceCallback, Utils.getLocalBtManager(context));
     }
 
     @VisibleForTesting
-    BluetoothDeviceUpdater(DashboardFragment fragment,
+    BluetoothDeviceUpdater(Context context, DashboardFragment fragment,
             DevicePreferenceCallback devicePreferenceCallback, LocalBluetoothManager localManager) {
         mFragment = fragment;
         mDevicePreferenceCallback = devicePreferenceCallback;
         mPreferenceMap = new HashMap<>();
         mLocalManager = localManager;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mFragment.getContext())
-                .getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     /**
diff --git a/src/com/android/settings/bluetooth/OWNERS b/src/com/android/settings/bluetooth/OWNERS
index 2c8d8b7..5e716e1 100644
--- a/src/com/android/settings/bluetooth/OWNERS
+++ b/src/com/android/settings/bluetooth/OWNERS
@@ -1,8 +1,6 @@
 # Default reviewers for this and subdirectories.
-asargent@google.com
-eisenbach@google.com
-jackqdyulei@google.com
-pavlin@google.com
+hughchen@google.com
+timhypeng@google.com
 siyuanh@google.com
 
 # Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/core/instrumentation/StatsLogWriter.java b/src/com/android/settings/core/instrumentation/StatsLogWriter.java
index aa5a60e..14e5d21 100644
--- a/src/com/android/settings/core/instrumentation/StatsLogWriter.java
+++ b/src/com/android/settings/core/instrumentation/StatsLogWriter.java
@@ -30,7 +30,7 @@
                 attribution, /* from pageId */
                 SettingsEnums.PAGE_VISIBLE /* action */,
                 pageId, /* target pageId */
-                null /* changedPreferenceKey */,
+                "" /* changedPreferenceKey */,
                 latency /* changedPreferenceIntValue */);
     }
 
@@ -40,7 +40,7 @@
                 SettingsEnums.PAGE_UNKNOWN /* attribution */,
                 SettingsEnums.PAGE_HIDE /* action */,
                 pageId,
-                null /* changedPreferenceKey */,
+                "" /* changedPreferenceKey */,
                 visibleTime /* changedPreferenceIntValue */);
     }
 
diff --git a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
index 0f429c7..88dda29 100644
--- a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
+++ b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
@@ -83,7 +83,11 @@
         final BluetoothCodecConfig codecConfig = mBluetoothA2dpConfigStore.createCodecConfig();
         synchronized (mBluetoothA2dpConfigStore) {
             if (mBluetoothA2dp != null) {
-                setCodecConfigPreference(null, codecConfig);    // Use current active device
+                BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+                if (activeDevice == null) {
+                    return false;
+                }
+                setCodecConfigPreference(activeDevice, codecConfig);
             }
         }
         // Because the setting is not persisted into permanent storage, we cannot call update state
@@ -102,13 +106,14 @@
 
     @Override
     public void updateState(Preference preference) {
-        if (getCodecConfig(null) == null || mPreference == null) { // Use current active device
+        BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+        if (activeDevice == null || getCodecConfig(activeDevice) == null || mPreference == null) {
             return;
         }
 
         BluetoothCodecConfig codecConfig;
         synchronized (mBluetoothA2dpConfigStore) {
-            codecConfig = getCodecConfig(null);         // Use current active device
+            codecConfig = getCodecConfig(activeDevice);
         }
 
         final int index = getCurrentA2dpSettingIndex(codecConfig);
@@ -178,13 +183,23 @@
     @VisibleForTesting
     void setCodecConfigPreference(BluetoothDevice device,
             BluetoothCodecConfig config) {
-        mBluetoothA2dp.setCodecConfigPreference(device, config);
+        BluetoothDevice bluetoothDevice =
+                (device != null) ? device : mBluetoothA2dp.getActiveDevice();
+        if (bluetoothDevice == null) {
+            return;
+        }
+        mBluetoothA2dp.setCodecConfigPreference(bluetoothDevice, config);
     }
 
     @VisibleForTesting
     BluetoothCodecConfig getCodecConfig(BluetoothDevice device) {
         if (mBluetoothA2dp != null) {
-            BluetoothCodecStatus codecStatus = mBluetoothA2dp.getCodecStatus(device);
+            BluetoothDevice bluetoothDevice =
+                    (device != null) ? device : mBluetoothA2dp.getActiveDevice();
+            if (bluetoothDevice == null) {
+                return null;
+            }
+            BluetoothCodecStatus codecStatus = mBluetoothA2dp.getCodecStatus(bluetoothDevice);
             if (codecStatus != null) {
                 return codecStatus.getCodecConfig();
             }
diff --git a/src/com/android/settings/development/OWNERS b/src/com/android/settings/development/OWNERS
deleted file mode 100644
index ecdc4df..0000000
--- a/src/com/android/settings/development/OWNERS
+++ /dev/null
@@ -1,9 +0,0 @@
-# Default reviewers for this and subdirectories.
-edgarwang@google.com
-emilychuang@google.com
-rafftsai@google.com
-tmfang@google.com
-
-
-# Emergency approvers in case the above are not available
-zhfan@google.com
diff --git a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
index 71907b6..6bc9175 100644
--- a/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
@@ -80,7 +80,10 @@
         }
         writeConfigurationValues(index);
         final BluetoothCodecConfig codecConfig = mBluetoothA2dpConfigStore.createCodecConfig();
-        bluetoothA2dp.setCodecConfigPreference(null, codecConfig);
+        BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+        if (activeDevice != null) {
+            bluetoothA2dp.setCodecConfigPreference(activeDevice, codecConfig);
+        }
         mPreference.setSummary(((BaseBluetoothDialogPreference) mPreference).generateSummary(
                 index));
     }
@@ -146,7 +149,13 @@
         if (bluetoothA2dp == null) {
             return null;
         }
-        final BluetoothCodecStatus codecStatus = bluetoothA2dp.getCodecStatus(null);
+        BluetoothDevice activeDevice = bluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            Log.d(TAG, "Unable to get current codec config. No active device.");
+            return null;
+        }
+        final BluetoothCodecStatus codecStatus =
+                bluetoothA2dp.getCodecStatus(activeDevice);
         if (codecStatus == null) {
             Log.d(TAG, "Unable to get current codec config. Codec status is null");
             return null;
@@ -164,7 +173,12 @@
         if (bluetoothA2dp == null) {
             return null;
         }
-        final BluetoothCodecStatus codecStatus = bluetoothA2dp.getCodecStatus(device);
+        BluetoothDevice bluetoothDevice =
+                (device != null) ? device : bluetoothA2dp.getActiveDevice();
+        if (bluetoothDevice == null) {
+            return null;
+        }
+        final BluetoothCodecStatus codecStatus = bluetoothA2dp.getCodecStatus(bluetoothDevice);
         if (codecStatus != null) {
             return codecStatus.getCodecsSelectableCapabilities();
         }
@@ -177,7 +191,12 @@
      * @return {@link BluetoothCodecConfig}.
      */
     protected BluetoothCodecConfig getSelectableByCodecType(int codecTypeValue) {
-        final BluetoothCodecConfig[] configs = getSelectableConfigs(null);
+        BluetoothDevice activeDevice = mBluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            Log.d(TAG, "Unable to get selectable config. No active device.");
+            return null;
+        }
+        final BluetoothCodecConfig[] configs = getSelectableConfigs(activeDevice);
         if (configs == null) {
             Log.d(TAG, "Unable to get selectable config. Selectable configs is empty.");
             return null;
diff --git a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
index c2977a8..a0af268 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
@@ -83,9 +83,9 @@
             return index;
         }
         // Check HD audio is enabled, display the available list.
-        if (bluetoothA2dp.getOptionalCodecsEnabled(activeDevice)
+        if (bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
                 == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED) {
-            BluetoothCodecConfig[] configs = getSelectableConfigs(null);
+            BluetoothCodecConfig[] configs = getSelectableConfigs(activeDevice);
             if (configs != null) {
                 return getIndexFromConfig(configs);
             }
@@ -101,7 +101,8 @@
         int codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_DEFAULT;
         switch (index) {
             case 0:
-                codecTypeValue = getHighestCodec(getSelectableConfigs(null));
+                codecTypeValue = getHighestCodec(getSelectableConfigs(
+                    mBluetoothA2dp.getActiveDevice()));
                 codecPriorityValue = BluetoothCodecConfig.CODEC_PRIORITY_HIGHEST;
                 break;
             case 1:
diff --git a/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
index 8008188..d4ca4e5 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
@@ -58,11 +58,11 @@
             mPreference.setEnabled(false);
             return;
         }
-        final boolean supported = (bluetoothA2dp.supportsOptionalCodecs(activeDevice)
+        final boolean supported = (bluetoothA2dp.isOptionalCodecsSupported(activeDevice)
                 == BluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
         mPreference.setEnabled(supported);
         if (supported) {
-            final boolean isEnabled = bluetoothA2dp.getOptionalCodecsEnabled(activeDevice)
+            final boolean isEnabled = bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
                     == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED;
             ((SwitchPreference) mPreference).setChecked(isEnabled);
         }
@@ -84,11 +84,16 @@
         final int prefValue = enabled
                 ? BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED
                 : BluetoothA2dp.OPTIONAL_CODECS_PREF_DISABLED;
-        bluetoothA2dp.setOptionalCodecsEnabled(bluetoothA2dp.getActiveDevice(), prefValue);
+        BluetoothDevice activeDevice = bluetoothA2dp.getActiveDevice();
+        if (activeDevice == null) {
+            mPreference.setEnabled(false);
+            return true;
+        }
+        bluetoothA2dp.setOptionalCodecsEnabled(activeDevice, prefValue);
         if (enabled) {
-            bluetoothA2dp.enableOptionalCodecs(null); // Use current active device
+            bluetoothA2dp.enableOptionalCodecs(activeDevice);
         } else {
-            bluetoothA2dp.disableOptionalCodecs(null); // Use current active device
+            bluetoothA2dp.disableOptionalCodecs(activeDevice);
         }
         mCallback.onBluetoothHDAudioEnabled(enabled);
         return true;
diff --git a/src/com/android/settings/fuelgauge/OWNERS b/src/com/android/settings/fuelgauge/OWNERS
index 5b26c46..4e5ee0e 100644
--- a/src/com/android/settings/fuelgauge/OWNERS
+++ b/src/com/android/settings/fuelgauge/OWNERS
@@ -1,6 +1,3 @@
 # Default reviewers for this and subdirectories.
-dehboxturtle@google.com
-jackqdyulei@google.com
-
-# Emergency approvers in case the above are not available
-asapperstein@google.com
\ No newline at end of file
+millchen@google.com
+tmfang@google.com
diff --git a/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
index 53782e5..14a93b8 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
@@ -39,8 +39,10 @@
 import com.android.settings.R;
 import com.android.settings.SubSettings;
 import com.android.settings.Utils;
+import com.android.settings.bluetooth.AvailableMediaBluetoothDeviceUpdater;
 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
 import com.android.settings.bluetooth.BluetoothPairingDetail;
+import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.slices.CustomSliceRegistry;
@@ -78,9 +80,15 @@
     private static final String TAG = "BluetoothDevicesSlice";
 
     private final Context mContext;
+    private final AvailableMediaBluetoothDeviceUpdater mAvailableMediaBtDeviceUpdater;
+    private final SavedBluetoothDeviceUpdater mSavedBtDeviceUpdater;
 
     public BluetoothDevicesSlice(Context context) {
         mContext = context;
+        mAvailableMediaBtDeviceUpdater = new AvailableMediaBluetoothDeviceUpdater(mContext,
+                null /* fragment */, null /* devicePreferenceCallback */);
+        mSavedBtDeviceUpdater = new SavedBluetoothDeviceUpdater(mContext,
+                null /* fragment */, null /* devicePreferenceCallback */);
     }
 
     @Override
@@ -123,10 +131,10 @@
         final List<ListBuilder.RowBuilder> rows = getBluetoothRowBuilder();
 
         // Get displayable device count.
-        final int deviceCount = Math.min(rows.size(), DEFAULT_EXPANDED_ROW_COUNT);
+        final int displayableCount = Math.min(rows.size(), DEFAULT_EXPANDED_ROW_COUNT);
 
         // According to the displayable device count to add bluetooth device rows.
-        for (int i = 0; i < deviceCount; i++) {
+        for (int i = 0; i < displayableCount; i++) {
             listBuilder.addRow(rows.get(i));
         }
 
@@ -148,11 +156,14 @@
 
     @Override
     public void onNotifyChange(Intent intent) {
-        // Activate available media device.
         final int bluetoothDeviceHashCode = intent.getIntExtra(BLUETOOTH_DEVICE_HASH_CODE, -1);
-        for (CachedBluetoothDevice cachedBluetoothDevice : getConnectedBluetoothDevices()) {
-            if (cachedBluetoothDevice.hashCode() == bluetoothDeviceHashCode) {
-                cachedBluetoothDevice.setActive();
+        for (CachedBluetoothDevice device : getPairedBluetoothDevices()) {
+            if (device.hashCode() == bluetoothDeviceHashCode) {
+                if (device.isConnected()) {
+                    device.setActive();
+                } else if (!device.isBusy()) {
+                    device.connect();
+                }
                 return;
             }
         }
@@ -164,7 +175,7 @@
     }
 
     @VisibleForTesting
-    List<CachedBluetoothDevice> getConnectedBluetoothDevices() {
+    List<CachedBluetoothDevice> getPairedBluetoothDevices() {
         final List<CachedBluetoothDevice> bluetoothDeviceList = new ArrayList<>();
 
         // If Bluetooth is disable, skip to get the Bluetooth devices.
@@ -174,19 +185,18 @@
         }
 
         // Get the Bluetooth devices from LocalBluetoothManager.
-        final LocalBluetoothManager bluetoothManager =
+        final LocalBluetoothManager localBtManager =
                 com.android.settings.bluetooth.Utils.getLocalBtManager(mContext);
-        if (bluetoothManager == null) {
+        if (localBtManager == null) {
             Log.i(TAG, "Cannot get Bluetooth devices, Bluetooth is unsupported.");
             return bluetoothDeviceList;
         }
         final Collection<CachedBluetoothDevice> cachedDevices =
-                bluetoothManager.getCachedDeviceManager().getCachedDevicesCopy();
+                localBtManager.getCachedDeviceManager().getCachedDevicesCopy();
 
-        // Get all connected devices and sort them.
+        // Get all paired devices and sort them.
         return cachedDevices.stream()
-                .filter(device -> device.getDevice().getBondState() == BluetoothDevice.BOND_BONDED
-                        && device.getDevice().isConnected())
+                .filter(device -> device.getDevice().getBondState() == BluetoothDevice.BOND_BONDED)
                 .sorted(COMPARATOR).collect(Collectors.toList());
     }
 
@@ -242,21 +252,21 @@
     private List<ListBuilder.RowBuilder> getBluetoothRowBuilder() {
         // According to Bluetooth devices to create row builders.
         final List<ListBuilder.RowBuilder> bluetoothRows = new ArrayList<>();
-        final List<CachedBluetoothDevice> bluetoothDevices = getConnectedBluetoothDevices();
-        for (CachedBluetoothDevice bluetoothDevice : bluetoothDevices) {
+        for (CachedBluetoothDevice device : getPairedBluetoothDevices()) {
             final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder()
-                    .setTitleItem(getBluetoothDeviceIcon(bluetoothDevice), ListBuilder.ICON_IMAGE)
-                    .setTitle(bluetoothDevice.getName())
-                    .setSubtitle(bluetoothDevice.getConnectionSummary());
+                    .setTitleItem(getBluetoothDeviceIcon(device), ListBuilder.ICON_IMAGE)
+                    .setTitle(device.getName())
+                    .setSubtitle(device.getConnectionSummary());
 
-            if (bluetoothDevice.isConnectedA2dpDevice()) {
-                // For available media devices, the primary action is to activate audio stream and
-                // add setting icon to the end to link detail page.
-                rowBuilder.setPrimaryAction(buildMediaBluetoothAction(bluetoothDevice));
-                rowBuilder.addEndItem(buildBluetoothDetailDeepLinkAction(bluetoothDevice));
+            if (mAvailableMediaBtDeviceUpdater.isFilterMatched(device)
+                    || mSavedBtDeviceUpdater.isFilterMatched(device)) {
+                // For all available media devices and previously connected devices, the primary
+                // action is to activate or connect, and the end gear icon links to detail page.
+                rowBuilder.setPrimaryAction(buildPrimaryBluetoothAction(device));
+                rowBuilder.addEndItem(buildBluetoothDetailDeepLinkAction(device));
             } else {
-                // For other devices, the primary action is to link detail page.
-                rowBuilder.setPrimaryAction(buildBluetoothDetailDeepLinkAction(bluetoothDevice));
+                // For other devices, the primary action is to link to detail page.
+                rowBuilder.setPrimaryAction(buildBluetoothDetailDeepLinkAction(device));
             }
 
             bluetoothRows.add(rowBuilder);
@@ -266,8 +276,7 @@
     }
 
     @VisibleForTesting
-    SliceAction buildMediaBluetoothAction(CachedBluetoothDevice bluetoothDevice) {
-        // Send broadcast to activate available media device.
+    SliceAction buildPrimaryBluetoothAction(CachedBluetoothDevice bluetoothDevice) {
         final Intent intent = new Intent(getUri().toString())
                 .setClass(mContext, SliceBroadcastReceiver.class)
                 .putExtra(BLUETOOTH_DEVICE_HASH_CODE, bluetoothDevice.hashCode());
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
index 05531d6..5f1e955 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRenderer.java
@@ -120,6 +120,11 @@
             swipeBackground.setVisibility(View.GONE);
         }
         sliceLiveData.observe(mLifecycleOwner, slice -> {
+            if (slice == null) {
+                // The logic handling this case is in OnErrorListener. Adding this check is to
+                // prevent from NPE when it calls .hasHint().
+                return;
+            }
             if (slice.hasHint(HINT_ERROR)) {
                 Log.w(TAG, "Slice has HINT_ERROR, skipping rendering. uri=" + slice.getUri());
                 mSliceLiveDataMap.get(slice.getUri()).removeObservers(mLifecycleOwner);
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
index f634d43..3f35fb5 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.homepage.contextualcards.slices;
 
-import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_STICKY;
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.view.View;
@@ -77,9 +75,7 @@
         // Customize slice view for Settings
         cardHolder.sliceView.setShowTitleItems(true);
         if (card.isLargeCard()) {
-            if (holder.getItemViewType() != VIEW_TYPE_STICKY) {
-                cardHolder.sliceView.setShowHeaderDivider(true);
-            }
+            cardHolder.sliceView.setShowHeaderDivider(true);
             cardHolder.sliceView.setShowActionDividers(true);
         }
     }
diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
index c226cb0..7557fd9 100644
--- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java
+++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
@@ -174,6 +174,10 @@
         return mLocalMediaManager.getSessionVolume();
     }
 
+    CharSequence getSessionName() {
+        return mLocalMediaManager.getSessionName();
+    }
+
     /**
      * Find the active MediaDevice.
      *
diff --git a/src/com/android/settings/media/MediaOutputGroupSlice.java b/src/com/android/settings/media/MediaOutputGroupSlice.java
index 521b605..d60ae22 100644
--- a/src/com/android/settings/media/MediaOutputGroupSlice.java
+++ b/src/com/android/settings/media/MediaOutputGroupSlice.java
@@ -118,8 +118,7 @@
         return listBuilder.build();
     }
 
-    private void addRow(ListBuilder listBuilder, List<MediaDevice> mediaDevices,
-            boolean selected) {
+    private void addRow(ListBuilder listBuilder, List<MediaDevice> mediaDevices, boolean selected) {
         for (MediaDevice device : mediaDevices) {
             final int maxVolume = device.getMaxVolume();
             final IconCompat titleIcon = Utils.createIconWithDrawable(device.getIcon());
diff --git a/src/com/android/settings/media/MediaOutputIndicatorSlice.java b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
index de2f85f..860a933 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -20,51 +20,33 @@
 
 import android.annotation.ColorInt;
 import android.app.PendingIntent;
-import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.media.session.MediaController;
 import android.net.Uri;
-import android.util.Log;
 
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
 import androidx.slice.builders.ListBuilder;
 import androidx.slice.builders.SliceAction;
 
-import com.android.internal.util.CollectionUtils;
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.slices.CustomSliceable;
 import com.android.settings.slices.SliceBackgroundWorker;
 import com.android.settings.slices.SliceBroadcastReceiver;
-import com.android.settingslib.bluetooth.A2dpProfile;
-import com.android.settingslib.bluetooth.HearingAidProfile;
-import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 import com.android.settingslib.media.MediaOutputSliceConstants;
 
-import java.util.ArrayList;
-import java.util.List;
-
 public class MediaOutputIndicatorSlice implements CustomSliceable {
 
-    private static final String TAG = "MediaOutputIndicatorSlice";
+    private static final String TAG = "MediaOutputIndSlice";
 
     private Context mContext;
-    private LocalBluetoothManager mLocalBluetoothManager;
-    private LocalBluetoothProfileManager mProfileManager;
     private MediaOutputIndicatorWorker mWorker;
 
     public MediaOutputIndicatorSlice(Context context) {
         mContext = context;
-        mLocalBluetoothManager = com.android.settings.bluetooth.Utils.getLocalBtManager(context);
-        if (mLocalBluetoothManager == null) {
-            Log.e(TAG, "Bluetooth is not supported on this device");
-            return;
-        }
-        mProfileManager = mLocalBluetoothManager.getProfileManager();
     }
 
     @Override
@@ -86,7 +68,7 @@
                 .addRow(new ListBuilder.RowBuilder()
                         .setTitle(title)
                         .setTitleItem(createEmptyIcon(), ListBuilder.ICON_IMAGE)
-                        .setSubtitle(findActiveDeviceName())
+                        .setSubtitle(getWorker().getCurrentConnectedMediaDevice().getName())
                         .setPrimaryAction(primarySliceAction));
         return listBuilder.build();
     }
@@ -146,63 +128,10 @@
         // To decide Slice's visibility.
         // Return true if
         // 1. AudioMode is not in on-going call
-        // 2. Bluetooth device is connected
-        return (!CollectionUtils.isEmpty(getConnectedA2dpDevices())
-                || !CollectionUtils.isEmpty(getConnectedHearingAidDevices()))
-                && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext);
-    }
-
-    private List<BluetoothDevice> getConnectedA2dpDevices() {
-        // Get A2dp devices on states
-        // (STATE_CONNECTING, STATE_CONNECTED,  STATE_DISCONNECTING)
-        final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
-        if (a2dpProfile == null) {
-            return new ArrayList<>();
-        }
-        return a2dpProfile.getConnectedDevices();
-    }
-
-    private List<BluetoothDevice> getConnectedHearingAidDevices() {
-        // Get hearing aid profile devices on states
-        // (STATE_CONNECTING, STATE_CONNECTED,  STATE_DISCONNECTING)
-        final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile();
-        if (hapProfile == null) {
-            return new ArrayList<>();
-        }
-
-        return hapProfile.getConnectedDevices();
-    }
-
-    private CharSequence findActiveDeviceName() {
-        // Return Hearing Aid device name if it is active
-        BluetoothDevice activeDevice = findActiveHearingAidDevice();
-        if (activeDevice != null) {
-            return activeDevice.getAlias();
-        }
-        // Return A2DP device name if it is active
-        final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
-        if (a2dpProfile != null) {
-            activeDevice = a2dpProfile.getActiveDevice();
-            if (activeDevice != null) {
-                return activeDevice.getAlias();
-            }
-        }
-        // No active device, return default summary
-        return mContext.getText(R.string.media_output_default_summary);
-    }
-
-    private BluetoothDevice findActiveHearingAidDevice() {
-        final HearingAidProfile hearingAidProfile = mProfileManager.getHearingAidProfile();
-        if (hearingAidProfile == null) {
-            return null;
-        }
-
-        final List<BluetoothDevice> activeDevices = hearingAidProfile.getActiveDevices();
-        for (BluetoothDevice btDevice : activeDevices) {
-            if (btDevice != null) {
-                return btDevice;
-            }
-        }
-        return null;
+        // 2. worker is not null
+        // 3. Available devices are more than 1
+        return getWorker() != null
+                && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext)
+                && getWorker().getMediaDevices().size() > 1;
     }
 }
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index 4ceeade..6daa745 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -18,7 +18,6 @@
 
 import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION;
 
-import android.bluetooth.BluetoothProfile;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -36,21 +35,33 @@
 import com.android.settings.bluetooth.Utils;
 import com.android.settings.slices.SliceBackgroundWorker;
 import com.android.settingslib.bluetooth.BluetoothCallback;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
+
+import com.google.common.annotations.VisibleForTesting;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * Listener for background change from {@code BluetoothCallback} to update media output indicator.
  */
-public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements BluetoothCallback {
+public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements BluetoothCallback,
+        LocalMediaManager.DeviceCallback {
 
-    private static final String TAG = "MediaOutputIndicatorWorker";
+    private static final String TAG = "MediaOutputIndWorker";
 
     private final DevicesChangedBroadcastReceiver mReceiver;
     private final Context mContext;
+    private final Collection<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>();
 
     private LocalBluetoothManager mLocalBluetoothManager;
 
+    @VisibleForTesting
+    LocalMediaManager mLocalMediaManager;
+
     public MediaOutputIndicatorWorker(Context context, Uri uri) {
         super(context, uri);
         mReceiver = new DevicesChangedBroadcastReceiver();
@@ -59,6 +70,7 @@
 
     @Override
     protected void onSlicePinned() {
+        mMediaDevices.clear();
         mLocalBluetoothManager = Utils.getLocalBtManager(getContext());
         if (mLocalBluetoothManager == null) {
             Log.e(TAG, "Bluetooth is not supported on this device");
@@ -67,10 +79,25 @@
         final IntentFilter intentFilter = new IntentFilter(STREAM_DEVICES_CHANGED_ACTION);
         mContext.registerReceiver(mReceiver, intentFilter);
         mLocalBluetoothManager.getEventManager().registerCallback(this);
+
+        if (mLocalMediaManager == null) {
+            final MediaController controller = getActiveLocalMediaController();
+            String packageName = null;
+            if (controller != null) {
+                packageName = controller.getPackageName();
+            }
+            mLocalMediaManager = new LocalMediaManager(mContext, packageName, null);
+        }
+
+        mLocalMediaManager.registerCallback(this);
+        mLocalMediaManager.startScan();
     }
 
     @Override
     protected void onSliceUnpinned() {
+        mLocalMediaManager.unregisterCallback(this);
+        mLocalMediaManager.stopScan();
+
         if (mLocalBluetoothManager == null) {
             Log.e(TAG, "Bluetooth is not supported on this device");
             return;
@@ -82,20 +109,7 @@
     @Override
     public void close() {
         mLocalBluetoothManager = null;
-    }
-
-    @Override
-    public void onBluetoothStateChanged(int bluetoothState) {
-        // To handle the case that Bluetooth on and no connected devices
-        notifySliceChange();
-    }
-
-    @Override
-    public void onActiveDeviceChanged(CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-        if (bluetoothProfile == BluetoothProfile.A2DP ||
-                bluetoothProfile == BluetoothProfile.HEARING_AID) {
-            notifySliceChange();
-        }
+        mLocalMediaManager = null;
     }
 
     @Override
@@ -124,6 +138,36 @@
         }
         return null;
     }
+
+    @Override
+    public void onDeviceListUpdate(List<MediaDevice> devices) {
+        buildMediaDevices(devices);
+        notifySliceChange();
+    }
+
+    private void buildMediaDevices(List<MediaDevice> devices) {
+        mMediaDevices.clear();
+        mMediaDevices.addAll(devices);
+    }
+
+    @Override
+    public void onSelectedDeviceStateChanged(MediaDevice device, int state) {
+        notifySliceChange();
+    }
+
+    @Override
+    public void onDeviceAttributesChanged() {
+        notifySliceChange();
+    }
+
+    Collection<MediaDevice> getMediaDevices() {
+        return mMediaDevices;
+    }
+
+    MediaDevice getCurrentConnectedMediaDevice() {
+        return mLocalMediaManager.getCurrentConnectedDevice();
+    }
+
     private class DevicesChangedBroadcastReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context context, Intent intent) {
diff --git a/src/com/android/settings/media/MediaOutputSlice.java b/src/com/android/settings/media/MediaOutputSlice.java
index 92fa843..318a50d 100644
--- a/src/com/android/settings/media/MediaOutputSlice.java
+++ b/src/com/android/settings/media/MediaOutputSlice.java
@@ -22,10 +22,8 @@
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_SLICE_URI;
 
 import android.app.PendingIntent;
-import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
 import android.content.Intent;
-import android.graphics.Color;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.text.SpannableString;
@@ -45,6 +43,7 @@
 import com.android.settings.slices.SliceBackgroundWorker;
 import com.android.settings.slices.SliceBroadcastReceiver;
 import com.android.settingslib.media.MediaDevice;
+import com.android.settingslib.media.MediaOutputSliceConstants;
 
 import java.util.Collection;
 
@@ -55,6 +54,8 @@
 
     private static final String TAG = "MediaOutputSlice";
     private static final String MEDIA_DEVICE_ID = "media_device_id";
+    private static final String MEDIA_GROUP_DEVICE = "media_group_device";
+    private static final String MEDIA_GROUP_REQUEST = "media_group_request";
     private static final int NON_SLIDER_VALUE = -1;
 
     public static final String MEDIA_PACKAGE_NAME = "media_package_name";
@@ -87,52 +88,94 @@
 
         final Collection<MediaDevice> devices = getMediaDevices();
         final MediaDeviceUpdateWorker worker = getWorker();
-        final MediaDevice connectedDevice = worker.getCurrentConnectedMediaDevice();
-        final boolean isTouched = worker.getIsTouched();
-        // Fix the last top device when user press device to transfer.
-        final MediaDevice topDevice = isTouched ? worker.getTopDevice() : connectedDevice;
 
-        if (topDevice != null) {
-            addRow(topDevice, connectedDevice, listBuilder);
-            worker.setTopDevice(topDevice);
-        }
+        if (worker.getSelectedMediaDevice().size() > 1) {
+            // Insert group item to the first when it is available
+            listBuilder.addInputRange(getGroupRow());
+            // Add all other devices
+            for (MediaDevice device : devices) {
+                addRow(device, null /* connectedDevice */, listBuilder);
+            }
+        } else {
+            final MediaDevice connectedDevice = worker.getCurrentConnectedMediaDevice();
+            final boolean isTouched = worker.getIsTouched();
+            // Fix the last top device when user press device to transfer.
+            final MediaDevice topDevice = isTouched ? worker.getTopDevice() : connectedDevice;
 
-        for (MediaDevice device : devices) {
-            if (topDevice == null
-                    || !TextUtils.equals(topDevice.getId(), device.getId())) {
-                addRow(device, connectedDevice, listBuilder);
+            if (topDevice != null) {
+                addRow(topDevice, connectedDevice, listBuilder);
+                worker.setTopDevice(topDevice);
+            }
+
+            for (MediaDevice device : devices) {
+                if (topDevice == null || !TextUtils.equals(topDevice.getId(), device.getId())) {
+                    addRow(device, connectedDevice, listBuilder);
+                }
             }
         }
-
         return listBuilder.build();
     }
 
-    private void addRow(MediaDevice device, MediaDevice connectedDevice, ListBuilder listBuilder) {
-        if (connectedDevice != null && TextUtils.equals(device.getId(), connectedDevice.getId())) {
-            listBuilder.addInputRange(getActiveDeviceHeaderRow(device));
-        } else {
-            listBuilder.addRow(getMediaDeviceRow(device));
-        }
-    }
-
-    private ListBuilder.InputRangeBuilder getActiveDeviceHeaderRow(MediaDevice device) {
-        final String title = device.getName();
-        final IconCompat icon = getDeviceIconCompat(device);
-
+    private ListBuilder.InputRangeBuilder getGroupRow() {
+        final IconCompat icon = IconCompat.createWithResource(mContext,
+                R.drawable.ic_speaker_group_black_24dp);
+        final CharSequence sessionName = getWorker().getSessionName();
+        final CharSequence title = TextUtils.isEmpty(sessionName)
+                ? mContext.getString(R.string.media_output_group) : sessionName;
         final PendingIntent broadcastAction =
-                getBroadcastIntent(mContext, device.getId(), device.hashCode());
+                getBroadcastIntent(mContext, MEDIA_GROUP_DEVICE, MEDIA_GROUP_DEVICE.hashCode());
         final SliceAction primarySliceAction = SliceAction.createDeeplink(broadcastAction, icon,
                 ListBuilder.ICON_IMAGE, title);
         final ListBuilder.InputRangeBuilder builder = new ListBuilder.InputRangeBuilder()
                 .setTitleItem(icon, ListBuilder.ICON_IMAGE)
                 .setTitle(title)
                 .setPrimaryAction(primarySliceAction)
-                .setInputAction(getSliderInputAction(device.hashCode(), device.getId()))
-                .setMax(device.getMaxVolume())
-                .setValue(device.getCurrentVolume());
+                .setInputAction(getSliderInputAction(MEDIA_GROUP_DEVICE.hashCode(),
+                        MEDIA_GROUP_DEVICE))
+                .setMax(getWorker().getSessionVolumeMax())
+                .setValue(getWorker().getSessionVolume())
+                .addEndItem(getEndItemSliceAction());
         return builder;
     }
 
+    private void addRow(MediaDevice device, MediaDevice connectedDevice, ListBuilder listBuilder) {
+        if (connectedDevice != null && TextUtils.equals(device.getId(), connectedDevice.getId())) {
+            final String title = device.getName();
+            final IconCompat icon = getDeviceIconCompat(device);
+
+            final PendingIntent broadcastAction =
+                    getBroadcastIntent(mContext, device.getId(), device.hashCode());
+            final SliceAction primarySliceAction = SliceAction.createDeeplink(broadcastAction, icon,
+                    ListBuilder.ICON_IMAGE, title);
+
+            if (device.getMaxVolume() > 0) {
+                final ListBuilder.InputRangeBuilder builder = new ListBuilder.InputRangeBuilder()
+                        .setTitleItem(icon, ListBuilder.ICON_IMAGE)
+                        .setTitle(title)
+                        .setPrimaryAction(primarySliceAction)
+                        .setInputAction(getSliderInputAction(device.hashCode(), device.getId()))
+                        .setMax(device.getMaxVolume())
+                        .setValue(device.getCurrentVolume());
+                // Check end item visibility
+                if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE
+                        && !getWorker().getSelectableMediaDevice().isEmpty()) {
+                    builder.addEndItem(getEndItemSliceAction());
+                }
+                listBuilder.addInputRange(builder);
+            } else {
+                final ListBuilder.RowBuilder builder = getMediaDeviceRow(device);
+                // Check end item visibility
+                if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE
+                        && !getWorker().getSelectableMediaDevice().isEmpty()) {
+                    builder.addEndItem(getEndItemSliceAction());
+                }
+                listBuilder.addRow(builder);
+            }
+        } else {
+            listBuilder.addRow(getMediaDeviceRow(device));
+        }
+    }
+
     private PendingIntent getSliderInputAction(int requestCode, String id) {
         final Intent intent = new Intent(getUri().toString())
                 .setData(getUri())
@@ -142,6 +185,20 @@
         return PendingIntent.getBroadcast(mContext, requestCode, intent, 0);
     }
 
+    private SliceAction getEndItemSliceAction() {
+        final Intent intent = new Intent()
+                .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT_GROUP)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
+                        getWorker().getPackageName());
+
+        return SliceAction.createDeeplink(
+                PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, 0 /* flags */),
+                IconCompat.createWithResource(mContext, R.drawable.ic_add_blue_24dp),
+                ListBuilder.ICON_IMAGE,
+                mContext.getText(R.string.add));
+    }
+
     private IconCompat getDeviceIconCompat(MediaDevice device) {
         Drawable drawable = device.getIcon();
         if (drawable == null) {
@@ -170,17 +227,17 @@
         final PendingIntent broadcastAction =
                 getBroadcastIntent(mContext, device.getId(), device.hashCode());
         final IconCompat deviceIcon = getDeviceIconCompat(device);
-
         final ListBuilder.RowBuilder rowBuilder = new ListBuilder.RowBuilder()
-                .setTitleItem(deviceIcon, ListBuilder.ICON_IMAGE)
-                .setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
-                        ListBuilder.ICON_IMAGE, deviceName));
-        // Append status to tile only for the disconnected Bluetooth device.
+                .setTitleItem(deviceIcon, ListBuilder.ICON_IMAGE);
+
         if (device.getDeviceType() == MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE
                 && !device.isConnected()) {
+            // Append status to title only for the disconnected Bluetooth device.
             final SpannableString spannableTitle = new SpannableString(
                     mContext.getString(R.string.media_output_disconnected_status, deviceName));
-            spannableTitle.setSpan(new ForegroundColorSpan(Color.GRAY), deviceName.length(),
+            spannableTitle.setSpan(new ForegroundColorSpan(
+                    Utils.getColorAttrDefaultColor(mContext, android.R.attr.textColorSecondary)),
+                    deviceName.length(),
                     spannableTitle.length(), SPAN_EXCLUSIVE_EXCLUSIVE);
             rowBuilder.setTitle(spannableTitle);
             rowBuilder.setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
@@ -215,19 +272,27 @@
         if (TextUtils.isEmpty(id)) {
             return;
         }
-        final MediaDevice device = worker.getMediaDeviceById(id);
-        if (device == null) {
-            return;
-        }
+
         final int newPosition = intent.getIntExtra(EXTRA_RANGE_VALUE, NON_SLIDER_VALUE);
-        if (newPosition == NON_SLIDER_VALUE) {
-            // Intent for device connection
-            Log.d(TAG, "onNotifyChange() device name : " + device.getName());
-            worker.setIsTouched(true);
-            worker.connectDevice(device);
+        if (TextUtils.equals(id, MEDIA_GROUP_DEVICE)) {
+            // Session volume adjustment
+            worker.adjustSessionVolume(newPosition);
         } else {
-            // Intent for volume adjustment
-            worker.adjustVolume(device, newPosition);
+            final MediaDevice device = worker.getMediaDeviceById(id);
+            if (device == null) {
+                Log.d(TAG, "onNotifyChange: Unable to get device " + id);
+                return;
+            }
+
+            if (newPosition == NON_SLIDER_VALUE) {
+                // Intent for device connection
+                Log.d(TAG, "onNotifyChange: Switch to " + device.getName());
+                worker.setIsTouched(true);
+                worker.connectDevice(device);
+            } else {
+                // Single device volume adjustment
+                worker.adjustVolume(device, newPosition);
+            }
         }
     }
 
@@ -246,11 +311,10 @@
         // Return true if
         // 1. AudioMode is not in on-going call
         // 2. worker is not null
-        // 3. Bluetooth is enabled
-        final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
-
-        return adapter.isEnabled()
+        // 3. Available devices are more than 1
+        return getWorker() != null
                 && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext)
-                && getWorker() != null;
+                && getWorker().getMediaDevices().size() > 1;
+
     }
 }
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index f5fff1c..e852b80 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -25,6 +25,7 @@
 import android.provider.SettingsSlicesContract;
 import android.telephony.TelephonyManager;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -70,6 +71,11 @@
         mFragment = hostFragment;
     }
 
+    @VisibleForTesting
+    void setAirplaneModeEnabler(AirplaneModeEnabler airplaneModeEnabler) {
+        mAirplaneModeEnabler = airplaneModeEnabler;
+    }
+
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (KEY_AIRPLANE_MODE.equals(preference.getKey())
diff --git a/src/com/android/settings/network/WifiTetherDisablePreferenceController.java b/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
index 26c3acb..2650b8b 100644
--- a/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
+++ b/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
@@ -137,6 +137,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
         setVisible(mScreen, mPreferenceKey, shouldShow());
+        refreshSummary(preference);
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index d633b39..c0df851 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -28,10 +28,8 @@
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.TextUtils;
 import android.util.Log;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
@@ -43,6 +41,7 @@
 import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -53,19 +52,14 @@
         ListPreference.OnPreferenceChangeListener, LifecycleObserver {
 
     private static final String LOG_TAG = "EnabledNetworkMode";
-    private CarrierConfigManager mCarrierConfigManager;
     private ContentObserver mPreferredNetworkModeObserver;
-    private TelephonyManager mTelephonyManager;
-    private boolean mIsGlobalCdma;
-    @VisibleForTesting
-    boolean mShow4GForLTE;
     private Preference mPreference;
-    @VisibleForTesting
-    boolean mDisplay5gList = false;
+    private TelephonyManager mTelephonyManager;
+    private CarrierConfigManager mCarrierConfigManager;
+    private PreferenceEntriesBuilder mBuilder;
 
     public EnabledNetworkModePreferenceController(Context context, String key) {
         super(context, key);
-        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
         mPreferredNetworkModeObserver = new ContentObserver(new Handler(Looper.getMainLooper())) {
             @Override
             public void onChange(boolean selfChange) {
@@ -101,7 +95,8 @@
     @OnLifecycleEvent(ON_START)
     public void onStart() {
         mContext.getContentResolver().registerContentObserver(
-                Settings.Global.getUriFor(Settings.Global.PREFERRED_NETWORK_MODE + mSubId), true,
+                Settings.Global.getUriFor(Settings.Global.PREFERRED_NETWORK_MODE + mSubId),
+                true,
                 mPreferredNetworkModeObserver);
     }
 
@@ -120,444 +115,539 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
         final ListPreference listPreference = (ListPreference) preference;
-        final int networkMode = getPreferredNetworkMode();
-        Log.d(LOG_TAG, "updateState networkMode: " + networkMode);
 
-        updatePreferenceEntries(listPreference);
-        updatePreferenceValueAndSummary(listPreference, networkMode);
+        mBuilder.setPreferenceEntries();
+        mBuilder.setPreferenceValueAndSummary();
+
+        listPreference.setEntries(mBuilder.getEntries());
+        listPreference.setEntryValues(mBuilder.getEntryValues());
+        listPreference.setValue(Integer.toString(mBuilder.getSelectedEntryValue()));
+        listPreference.setSummary(mBuilder.getSummary());
     }
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object object) {
         final int newPreferredNetworkMode = Integer.parseInt((String) object);
+        final ListPreference listPreference = (ListPreference) preference;
 
         if (mTelephonyManager.setPreferredNetworkTypeBitmask(
                 MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode))) {
-            updatePreferenceValueAndSummary((ListPreference) preference, newPreferredNetworkMode);
+            mBuilder.setPreferenceValueAndSummary(newPreferredNetworkMode);
+            listPreference.setValue(Integer.toString(mBuilder.getSelectedEntryValue()));
+            listPreference.setSummary(mBuilder.getSummary());
             return true;
         }
-
         return false;
     }
 
     public void init(Lifecycle lifecycle, int subId) {
         mSubId = subId;
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
         mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
                 .createForSubscriptionId(mSubId);
+        mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
+        mBuilder = new PreferenceEntriesBuilder(mContext, mSubId);
 
-        mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
-                && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
-        mShow4GForLTE = carrierConfig != null
-                ? carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL)
-                : false;
-
-        final long supportedRadioBitmask = mTelephonyManager.getSupportedRadioAccessFamily();
-        final boolean is5gEnabledByCarrier = (mTelephonyManager.getAllowedNetworkTypes()
-                & TelephonyManager.NETWORK_TYPE_BITMASK_NR) > 0;
-        mDisplay5gList = checkSupportedRadioBitmask(
-                supportedRadioBitmask, mTelephonyManager.NETWORK_TYPE_BITMASK_NR)
-                && is5gEnabledByCarrier;
         lifecycle.addObserver(this);
     }
 
-    private int getPreferredNetworkMode() {
-        long preferredNetworkBitMask = MobileNetworkUtils.getRafFromNetworkType(
-                Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE));
-        return  MobileNetworkUtils.getNetworkTypeFromRaf((int)
-                (preferredNetworkBitMask & mTelephonyManager.getAllowedNetworkTypes()));
-    }
+    private final static class PreferenceEntriesBuilder {
+        private CarrierConfigManager mCarrierConfigManager;
+        private Context mContext;
+        private TelephonyManager mTelephonyManager;
 
-    private void updatePreferenceEntries(ListPreference preference) {
-        final int phoneType = mTelephonyManager.getPhoneType();
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
-            final int lteForced = android.provider.Settings.Global.getInt(
-                    mContext.getContentResolver(),
-                    android.provider.Settings.Global.LTE_SERVICE_FORCED + mSubId,
-                    0);
-            final int settingsNetworkMode = getPreferredNetworkMode();
-            if (mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()) {
-                if (lteForced == 0) {
-                    preference.setEntries(
-                            R.array.enabled_networks_cdma_choices);
-                    preference.setEntryValues(
-                            R.array.enabled_networks_cdma_values);
-                } else {
-                    switch (settingsNetworkMode) {
-                        case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
-                        case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
-                        case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
-                            preference.setEntries(
-                                    R.array.enabled_networks_cdma_no_lte_choices);
-                            preference.setEntryValues(
-                                    R.array.enabled_networks_cdma_no_lte_values);
-                            break;
-                        case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
-                        case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
-                        case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                        case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
-                            preference.setEntries(
-                                    R.array.enabled_networks_cdma_only_lte_choices);
-                            preference.setEntryValues(
-                                    R.array.enabled_networks_cdma_only_lte_values);
-                            break;
-                        default:
-                            preference.setEntries(
-                                    R.array.enabled_networks_cdma_choices);
-                            preference.setEntryValues(
-                                    R.array.enabled_networks_cdma_values);
-                            break;
-                    }
-                }
-            }
-        } else if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
-            if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
-                preference.setEntries(
-                        R.array.enabled_networks_tdscdma_choices);
-                preference.setEntryValues(
-                        R.array.enabled_networks_tdscdma_values);
-            } else if (carrierConfig != null
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
-                preference.setEntries(R.array.enabled_networks_except_gsm_lte_choices);
-                preference.setEntryValues(R.array.enabled_networks_except_gsm_lte_values);
-            } else if (carrierConfig != null
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) {
-                int select = mShow4GForLTE
-                        ? R.array.enabled_networks_except_gsm_4g_choices
-                        : R.array.enabled_networks_except_gsm_choices;
-                preference.setEntries(select);
-                preference.setEntryValues(
-                        R.array.enabled_networks_except_gsm_values);
-            } else if (carrierConfig != null
-                    && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
-                preference.setEntries(
-                        R.array.enabled_networks_except_lte_choices);
-                preference.setEntryValues(
-                        R.array.enabled_networks_except_lte_values);
-            } else if (mIsGlobalCdma) {
-                preference.setEntries(R.array.enabled_networks_cdma_choices);
-                preference.setEntryValues(R.array.enabled_networks_cdma_values);
-            } else {
-                int select = mShow4GForLTE ? R.array.enabled_networks_4g_choices
-                        : R.array.enabled_networks_choices;
-                preference.setEntries(select);
-                preference.setEntryValues(R.array.enabled_networks_values);
-            }
-        }
-        //TODO(b/117881708): figure out what world mode is, then we can optimize code. Otherwise
-        // I prefer to keep this old code
-        if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-            preference.setEntries(
-                    R.array.preferred_network_mode_choices_world_mode);
-            preference.setEntryValues(
-                    R.array.preferred_network_mode_values_world_mode);
+        private boolean mAllowed5gNetworkType;
+        private boolean mIsGlobalCdma;
+        private boolean mIs5gEntryDisplayed;
+        private boolean mShow4gForLTE;
+        private boolean mSupported5gRadioAccessFamily;
+        private int mSelectedEntry;
+        private int mSubId;
+        private String mSummary;
+
+        private List<String> mEntries = new ArrayList<>();
+        private List<Integer> mEntriesValue = new ArrayList<>();
+
+        enum EnabledNetworks {
+            ENABLED_NETWORKS_UNKNOWN,
+            ENABLED_NETWORKS_CDMA_CHOICES,
+            ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES,
+            ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES,
+            ENABLED_NETWORKS_TDSCDMA_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_GSM_CHOICES,
+            ENABLED_NETWORKS_EXCEPT_LTE_CHOICES,
+            ENABLED_NETWORKS_4G_CHOICES,
+            ENABLED_NETWORKS_CHOICES,
+            PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE
         }
 
-        if (mDisplay5gList) {
-            add5gListItem(preference);
-        }
-    }
+        PreferenceEntriesBuilder(Context context, int subId) {
+            this.mContext = context;
+            this.mSubId = subId;
 
-    @VisibleForTesting
-    boolean checkSupportedRadioBitmask(long supportedRadioBitmask, long targetBitmask) {
-        Log.d(LOG_TAG, "supportedRadioBitmask: " + supportedRadioBitmask);
-        if ((targetBitmask & supportedRadioBitmask) > 0) {
-            return true;
-        }
-        return false;
-    }
+            mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
+            mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
+                    .createForSubscriptionId(mSubId);
 
-    /***
-     * Generate preferred network choices list for 5G
-     *
-     * @string/enabled_networks_cdma_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_3G    , 4 |@string/network_lte_pure, 8
-     * @string/network_1x    , 5 |@string/network_3G      , 4
-     * @string/network_global, 10|@string/network_1x      , 5
-     *                           |@string/network_global  , 27
-     *
-     * @string/enabled_networks_cdma_only_lte_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_global, 10|@string/network_lte_pure, 8
-     *                           |@string/network_global  , 27
-     *
-     * @string/enabled_networks_tdscdma_choices
-     *         Before         |        After
-     * @string/network_lte, 22|@string/network_5G + @string/network_recommended , 33
-     * @string/network_3G , 18|@string/network_lte_pure, 22
-     * @string/network_2G , 1 |@string/network_3G      , 18
-     *                        |@string/network_2G      , 1
-     *
-     * @string/enabled_networks_except_gsm_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_except_gsm_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     *
-     * @string/enabled_networks_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     *
-     * @string/preferred_network_mode_choices_world_mode
-     *         Before         |        After
-     * "Global"           , 10|@string/network_global  , 27
-     * "LTE / CDMA"       , 8 |"LTE / CDMA"            , 8
-     * "LTE / GSM / UMTS" , 9 |"LTE / GSM / UMTS"      , 9
-     */
-    @VisibleForTesting
-    void add5gListItem(ListPreference preference) {
-        final CharSequence[] oldEntries = preference.getEntries();
-        final CharSequence[] oldEntryValues = preference.getEntryValues();
-        List<CharSequence> newEntries = new ArrayList<>();
-        List<CharSequence> newEntryValues = new ArrayList<>();
-
-        CharSequence oldEntry;
-        CharSequence oldEntryValue;
-        CharSequence new5gEntry;
-        CharSequence new5gEntryValue;
-
-        for (int i = 0; i < oldEntries.length; i++) {
-            oldEntry = oldEntries[i];
-            oldEntryValue = oldEntryValues[i];
-            new5gEntry = "";
-            new5gEntryValue = "";
-
-            if (mContext.getString(R.string.network_lte).equals(oldEntry)) {
-                oldEntry = mContext.getString(R.string.network_lte_pure);
-                new5gEntry = mContext.getString(R.string.network_5G)
-                        + mContext.getString(R.string.network_recommended);
-                new5gEntryValue = transformLteEntryValueTo5gEntryValue(oldEntryValue);
-            } else if (mContext.getString(R.string.network_4G).equals(oldEntry)) {
-                oldEntry = mContext.getString(R.string.network_4G_pure);
-                new5gEntry = mContext.getString(R.string.network_5G)
-                        + mContext.getString(R.string.network_recommended);
-                new5gEntryValue = transformLteEntryValueTo5gEntryValue(oldEntryValue);
-            } else if (mContext.getString(R.string.network_global).equals(oldEntry)) {
-                //oldEntry: network_global
-                //oldEntryValue: TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA
-                oldEntryValue = Integer.toString(
-                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
-            }
-
-            if (!TextUtils.isEmpty(new5gEntry)) {
-                newEntries.add(new5gEntry);
-                newEntryValues.add(new5gEntryValue);
-            }
-            newEntries.add(oldEntry);
-            newEntryValues.add(oldEntryValue);
+            final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+            mAllowed5gNetworkType = checkSupportedRadioBitmask(
+                    mTelephonyManager.getAllowedNetworkTypes(),
+                    TelephonyManager.NETWORK_TYPE_BITMASK_NR);
+            mSupported5gRadioAccessFamily = checkSupportedRadioBitmask(
+                    mTelephonyManager.getSupportedRadioAccessFamily(),
+                    TelephonyManager.NETWORK_TYPE_BITMASK_NR);
+            mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
+                    && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
+            mShow4gForLTE = carrierConfig != null && carrierConfig.getBoolean(
+                    CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
         }
 
-        preference.setEntries(newEntries.toArray(new CharSequence[newEntries.size()]));
-        preference.setEntryValues(newEntryValues.toArray(new CharSequence[newEntryValues.size()]));
-    }
-
-    /**
-     * transform LTE network mode to 5G network mode.
-     *
-     * @param networkMode an LTE network mode without 5G.
-     * @return the corresponding network mode with 5G.
-     */
-    private CharSequence transformLteEntryValueTo5gEntryValue(CharSequence networkMode) {
-        int networkModeInt = Integer.valueOf(networkMode.toString());
-        return Integer.toString(addNrToLteNetworkType(networkModeInt));
-    }
-    private int addNrToLteNetworkType(int networkType) {
-        switch(networkType) {
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
-            default:
-                return networkType; // not LTE
-        }
-    }
-
-    /**
-     * Sets the display string for the network mode choice and selects the corresponding item
-     *
-     * @param preference ListPreference for selecting the preferred network mode.
-     * @param networkMode the current network mode. The current mode might not be an option in the
-     *                    choice list. The nearest choice is selected instead
-     */
-    private void updatePreferenceValueAndSummary(ListPreference preference, int networkMode) {
-        preference.setValue(Integer.toString(networkMode));
-        switch (networkMode) {
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA:
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM:
-                preference.setValue(
-                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY:
-            case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS:
-            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF:
-                if (!mIsGlobalCdma) {
-                    preference.setValue(Integer.toString(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF));
-                    preference.setSummary(R.string.network_3G);
-                } else {
-                    preference.setValue(Integer.toString(TelephonyManagerConstants
-                            .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(R.string.network_global);
-                }
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY:
-                if (!mIsGlobalCdma) {
-                    preference.setValue(
-                            Integer.toString(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY));
-                    preference.setSummary(R.string.network_2G);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManagerConstants
-                                    .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(R.string.network_global);
-                }
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
-                if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                    preference.setSummary(
-                            R.string.preferred_network_mode_lte_gsm_umts_summary);
+        void setPreferenceEntries() {
+            switch (getEnabledNetworkType()) {
+                case ENABLED_NETWORKS_CDMA_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO));
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
+                    add1xEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
+                    addGlobalEntry();
                     break;
-                }
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
-                if (!mIsGlobalCdma) {
-                    preference.setValue(
-                            Integer.toString(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
-                    preference.setSummary(
-                            mShow4GForLTE ? R.string.network_4G : R.string.network_lte);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManagerConstants
-                                    .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(R.string.network_global);
-                }
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
-                if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                    preference.setSummary(
-                            R.string.preferred_network_mode_lte_cdma_summary);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO));
-                    preference.setSummary(
-                            mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte);
-                }
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                preference.setValue(Integer.toString(TelephonyManagerConstants
-                        .NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
-            case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
-            case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
-                preference.setValue(
-                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
-                preference.setValue(
-                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO));
-                preference.setSummary(R.string.network_1x);
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY:
-                preference.setValue(
-                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY));
-                preference.setSummary(R.string.network_3G);
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
-                    preference.setValue(
-                            Integer.toString(TelephonyManagerConstants
-                                    .NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-                    preference.setSummary(
-                            mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte);
-                } else {
-                    preference.setValue(
-                            Integer.toString(TelephonyManagerConstants
-                                    .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
-                            || mIsGlobalCdma
-                            || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                        preference.setSummary(R.string.network_global);
+                case ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES:
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
+                    add1xEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
+                    break;
+                case ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES:
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                    addGlobalEntry();
+                    break;
+                case ENABLED_NETWORKS_TDSCDMA_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+                    addLteEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES:
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    add4gEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_GSM_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    break;
+                case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES:
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case ENABLED_NETWORKS_4G_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    add4gEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case ENABLED_NETWORKS_CHOICES:
+                    add5gEntry(addNrToLteNetworkType(
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                    addLteEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    add3gEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                    add2gEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                    break;
+                case PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE:
+                    addGlobalEntry();
+                    addCustomEntry(mContext.getString(R.string.network_world_mode_cdma_lte),
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                    addCustomEntry(mContext.getString(R.string.network_world_mode_gsm_lte),
+                            TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                    break;
+                default:
+                    throw new IllegalArgumentException("Not supported enabled network types.");
+            }
+        }
+
+        private int getPreferredNetworkMode() {
+            return Settings.Global.getInt(mContext.getContentResolver(),
+                    Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
+                    TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
+        }
+
+        private EnabledNetworks getEnabledNetworkType() {
+            EnabledNetworks enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_UNKNOWN;
+            final int phoneType = mTelephonyManager.getPhoneType();
+            final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+
+            if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
+                final int lteForced = android.provider.Settings.Global.getInt(
+                        mContext.getContentResolver(),
+                        android.provider.Settings.Global.LTE_SERVICE_FORCED + mSubId,
+                        0);
+                final int settingsNetworkMode = getPreferredNetworkMode();
+                if (mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()) {
+                    if (lteForced == 0) {
+                        enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES;
                     } else {
-                        if (mDisplay5gList) {
-                            preference.setSummary(mShow4GForLTE
-                                    ? R.string.network_4G_pure : R.string.network_lte_pure);
-                        } else {
-                            preference.setSummary(mShow4GForLTE
-                                    ? R.string.network_4G : R.string.network_lte);
+                        switch (settingsNetworkMode) {
+                            case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+                            case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
+                            case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
+                                enabledNetworkType =
+                                        EnabledNetworks.ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES;
+                                break;
+                            case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
+                            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                                enabledNetworkType =
+                                        EnabledNetworks.ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES;
+                                break;
+                            default:
+                                enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES;
+                                break;
                         }
                     }
                 }
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
-            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                preference.setValue(Integer.toString(networkMode));
-                preference.setSummary(mContext.getString(R.string.network_5G)
-                        + mContext.getString(R.string.network_recommended));
-                break;
-            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
-                preference.setValue(
-                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
-                if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
-                        || mIsGlobalCdma
-                        || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
-                    preference.setSummary(R.string.network_global);
+            } else if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
+                if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_TDSCDMA_CHOICES;
+                } else if (carrierConfig != null
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES;
+                } else if (carrierConfig != null
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL)) {
+                    enabledNetworkType = mShow4gForLTE
+                            ? EnabledNetworks.ENABLED_NETWORKS_EXCEPT_GSM_4G_CHOICES
+                            : EnabledNetworks.ENABLED_NETWORKS_EXCEPT_GSM_CHOICES;
+                } else if (carrierConfig != null
+                        && !carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL)) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_EXCEPT_LTE_CHOICES;
+                } else if (mIsGlobalCdma) {
+                    enabledNetworkType = EnabledNetworks.ENABLED_NETWORKS_CDMA_CHOICES;
                 } else {
-                    preference.setSummary(mContext.getString(R.string.network_5G)
-                            + mContext.getString(R.string.network_recommended));
+                    enabledNetworkType = mShow4gForLTE ? EnabledNetworks.ENABLED_NETWORKS_4G_CHOICES
+                            : EnabledNetworks.ENABLED_NETWORKS_CHOICES;
                 }
-                break;
-            default:
-                preference.setSummary(
-                        mContext.getString(R.string.mobile_network_mode_error, networkMode));
+            }
+            //TODO(b/117881708): figure out what world mode is, then we can optimize code. Otherwise
+            // I prefer to keep this old code
+            if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                enabledNetworkType = EnabledNetworks.PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE;
+            }
+
+            Log.d(LOG_TAG, "enabledNetworkType: " + enabledNetworkType);
+            return enabledNetworkType;
         }
+
+        /**
+         * Sets the display string for the network mode choice and selects the corresponding item
+         *
+         * @param networkMode the current network mode. The current mode might not be an option in
+         *                   the choice list. The nearest choice is selected instead
+         */
+        void setPreferenceValueAndSummary(int networkMode) {
+            setSelectedEntry(networkMode);
+            switch (networkMode) {
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM:
+                    setSelectedEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY:
+                case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS:
+                case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF:
+                    if (!mIsGlobalCdma) {
+                        setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF);
+                        setSummary(R.string.network_3G);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(R.string.network_global);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY:
+                    if (!mIsGlobalCdma) {
+                        setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
+                        setSummary(R.string.network_2G);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(R.string.network_global);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
+                    if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                        setSummary(
+                                R.string.preferred_network_mode_lte_gsm_umts_summary);
+                        break;
+                    }
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
+                    if (!mIsGlobalCdma) {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+                        setSummary(
+                                mShow4gForLTE ? R.string.network_4G : R.string.network_lte);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(R.string.network_global);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                    if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                        setSummary(
+                                R.string.preferred_network_mode_lte_cdma_summary);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO);
+                        setSummary(is5gEntryDisplayed()
+                                ? R.string.network_lte_pure : R.string.network_lte);
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                    setSelectedEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+                case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
+                    setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
+                    setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO);
+                    setSummary(R.string.network_1x);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY:
+                    setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY);
+                    setSummary(R.string.network_3G);
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                    if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA);
+                        setSummary(is5gEntryDisplayed()
+                                ? R.string.network_lte_pure : R.string.network_lte);
+                    } else {
+                        setSelectedEntry(
+                                TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+                        if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
+                                || mIsGlobalCdma
+                                || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                            setSummary(R.string.network_global);
+                        } else {
+                            if (is5gEntryDisplayed()) {
+                                setSummary(mShow4gForLTE
+                                        ? R.string.network_4G_pure : R.string.network_lte_pure);
+                            } else {
+                                setSummary(mShow4gForLTE
+                                        ? R.string.network_4G : R.string.network_lte);
+                            }
+                        }
+                    }
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
+                case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                    setSelectedEntry(networkMode);
+                    setSummary(mContext.getString(R.string.network_5G)
+                            + mContext.getString(R.string.network_recommended));
+                    break;
+                case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
+                    setSelectedEntry(
+                            TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+                    if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
+                            || mIsGlobalCdma
+                            || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
+                        setSummary(R.string.network_global);
+                    } else {
+                        setSummary(mContext.getString(R.string.network_5G)
+                                + mContext.getString(R.string.network_recommended));
+                    }
+                    break;
+                default:
+                    setSummary(
+                            mContext.getString(R.string.mobile_network_mode_error, networkMode));
+            }
+        }
+
+        /**
+         * Transform LTE network mode to 5G network mode.
+         *
+         * @param networkType an LTE network mode without 5G.
+         * @return the corresponding network mode with 5G.
+         */
+        private static int addNrToLteNetworkType(int networkType) {
+            switch(networkType) {
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
+                case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                    return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+                default:
+                    return networkType; // not LTE
+            }
+        }
+
+        private void setPreferenceValueAndSummary() {
+            setPreferenceValueAndSummary(getPreferredNetworkMode());
+        }
+
+        private boolean checkSupportedRadioBitmask(long supportedRadioBitmask, long targetBitmask) {
+            return (targetBitmask & supportedRadioBitmask) > 0;
+        }
+
+        /**
+         * Add 5G option. Only show the UI when device supported 5G and allowed 5G.
+         */
+        private void add5gEntry(int value) {
+            boolean isNRValue = value >= TelephonyManagerConstants.NETWORK_MODE_NR_ONLY;
+            if (mSupported5gRadioAccessFamily && mAllowed5gNetworkType && isNRValue) {
+                mEntries.add(mContext.getString(R.string.network_5G)
+                        + mContext.getString(R.string.network_recommended));
+                mEntriesValue.add(value);
+                mIs5gEntryDisplayed = true;
+            } else {
+                Log.d(LOG_TAG, "Hide 5G option. "
+                        + " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily
+                        + " allowed5GNetworkType: " + mAllowed5gNetworkType
+                        + " isNRValue: " + isNRValue);
+            }
+        }
+
+        private void addGlobalEntry() {
+            Log.d(LOG_TAG, "addGlobalEntry. "
+                    + " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily
+                    + " allowed5GNetworkType: " + mAllowed5gNetworkType);
+            mEntries.add(mContext.getString(R.string.network_global));
+            if (mSupported5gRadioAccessFamily & mAllowed5gNetworkType) {
+                mEntriesValue.add(
+                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+            } else {
+                mEntriesValue.add(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+            }
+        }
+
+        /**
+         * Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)".
+         */
+        private void addLteEntry(int value) {
+            if (mSupported5gRadioAccessFamily) {
+                mEntries.add(mContext.getString(R.string.network_lte_pure));
+            } else {
+                mEntries.add(mContext.getString(R.string.network_lte));
+            }
+            mEntriesValue.add(value);
+        }
+
+        /**
+         * Add 4G entry. If device supported 5G, show "4G" instead of "4G (recommended)".
+         */
+        private void add4gEntry(int value) {
+            if (mSupported5gRadioAccessFamily) {
+                mEntries.add(mContext.getString(R.string.network_4G_pure));
+            } else {
+                mEntries.add(mContext.getString(R.string.network_4G));
+            }
+            mEntriesValue.add(value);
+        }
+
+        private void add3gEntry(int value) {
+            mEntries.add(mContext.getString(R.string.network_3G));
+            mEntriesValue.add(value);
+        }
+
+        private void add2gEntry(int value) {
+            mEntries.add(mContext.getString(R.string.network_2G));
+            mEntriesValue.add(value);
+        }
+
+        private void add1xEntry(int value) {
+            mEntries.add(mContext.getString(R.string.network_1x));
+            mEntriesValue.add(value);
+        }
+
+        private void addCustomEntry(String name, int value) {
+            mEntries.add(name);
+            mEntriesValue.add(value);
+        }
+
+        private String[] getEntries() {
+            return mEntries.toArray(new String[0]);
+        }
+
+        private String[] getEntryValues() {
+            Integer intArr[] = mEntriesValue.toArray(new Integer[0]);
+            return Arrays.stream(intArr)
+                    .map(String::valueOf)
+                    .toArray(String[]::new);
+        }
+
+        private int getSelectedEntryValue() {
+            return mSelectedEntry;
+        }
+
+        private void setSelectedEntry(int value) {
+            boolean isInEntriesValue = mEntriesValue.stream()
+                    .anyMatch(v -> v == value);
+
+            if (isInEntriesValue) {
+                mSelectedEntry = value;
+            } else if (mEntriesValue.size() > 0) {
+                // if the value isn't in entriesValue, select on the first one.
+                mSelectedEntry = mEntriesValue.get(0);
+            } else {
+                Log.e(LOG_TAG, "entriesValue is empty");
+            }
+        }
+
+        private String getSummary() {
+            return mSummary;
+        }
+
+        private void setSummary(int summaryResId) {
+            setSummary(mContext.getString(summaryResId));
+        }
+
+        private void setSummary(String summary) {
+            this.mSummary = summary;
+        }
+
+        private boolean is5gEntryDisplayed() {
+            return mIs5gEntryDisplayed;
+        }
+
     }
 }
diff --git a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
index efbbbf8..d3fb437 100644
--- a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
@@ -48,8 +48,6 @@
 
     @VisibleForTesting
     Preference mPreference;
-    private CarrierConfigManager mCarrierConfigManager;
-    private PersistableBundle mCarrierConfig;
     private PhoneCallStateListener mPhoneStateListener;
     @VisibleForTesting
     Integer mCallState;
@@ -63,21 +61,23 @@
 
     public Enhanced4gBasePreferenceController(Context context, String key) {
         super(context, key);
-        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
         m4gLteListeners = new ArrayList<>();
         mPhoneStateListener = new PhoneCallStateListener();
     }
 
     public Enhanced4gBasePreferenceController init(int subId) {
-        if (SubscriptionManager.isValidSubscriptionId(mSubId) && mSubId == subId) {
+        if (mSubId == subId) {
             return this;
         }
         mSubId = subId;
-        mCarrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+        final PersistableBundle carrierConfig = getCarrierConfigForSubId(subId);
+        if (carrierConfig == null) {
+            return this;
+        }
 
-        final boolean show4GForLTE = mCarrierConfig.getBoolean(
+        final boolean show4GForLTE = carrierConfig.getBoolean(
                 CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
-        m4gCurrentMode = mCarrierConfig.getInt(
+        m4gCurrentMode = carrierConfig.getInt(
                 CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT);
         if (m4gCurrentMode != MODE_ADVANCED_CALL) {
             m4gCurrentMode = show4GForLTE ? MODE_4G_CALLING : MODE_VOLTE;
@@ -91,10 +91,7 @@
         if (!isModeMatched()) {
             return CONDITIONALLY_UNAVAILABLE;
         }
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
+        final PersistableBundle carrierConfig = getCarrierConfigForSubId(subId);
         if ((carrierConfig == null)
                 || carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL)) {
             return CONDITIONALLY_UNAVAILABLE;
@@ -103,7 +100,7 @@
         if (!queryState.isReadyToVoLte()) {
             return CONDITIONALLY_UNAVAILABLE;
         }
-        return (isUserControlAllowed() && queryState.isAllowUserControl())
+        return (isUserControlAllowed(carrierConfig) && queryState.isAllowUserControl())
                 ? AVAILABLE : AVAILABLE_UNSEARCHABLE;
     }
 
@@ -129,7 +126,7 @@
         final SwitchPreference switchPreference = (SwitchPreference) preference;
 
         final VolteQueryImsState queryState = queryImsState(mSubId);
-        switchPreference.setEnabled(isUserControlAllowed()
+        switchPreference.setEnabled(isUserControlAllowed(getCarrierConfigForSubId(mSubId))
                 && queryState.isAllowUserControl());
         switchPreference.setChecked(queryState.isEnabledByUser()
                 && queryState.isAllowUserControl());
@@ -180,9 +177,10 @@
         return new VolteQueryImsState(mContext, subId);
     }
 
-    private boolean isUserControlAllowed() {
+    private boolean isUserControlAllowed(final PersistableBundle carrierConfig) {
         return (mCallState != null) && (mCallState == TelephonyManager.CALL_STATE_IDLE)
-                && mCarrierConfig.getBoolean(
+                && (carrierConfig != null)
+                && carrierConfig.getBoolean(
                 CarrierConfigManager.KEY_EDITABLE_ENHANCED_4G_LTE_BOOL);
     }
 
diff --git a/src/com/android/settings/network/telephony/NetworkScanHelper.java b/src/com/android/settings/network/telephony/NetworkScanHelper.java
index 6d3cdbb..fe5b9e1 100644
--- a/src/com/android/settings/network/telephony/NetworkScanHelper.java
+++ b/src/com/android/settings/network/telephony/NetworkScanHelper.java
@@ -113,12 +113,19 @@
             radioAccessSpecifiers.add(
                     new RadioAccessSpecifier(AccessNetworkType.EUTRAN, null, null));
         }
-        if (networkTypeBitmap3gpp == 0
-                || (networkTypeBitmap3gpp & TelephonyManager.NETWORK_CLASS_BITMASK_5G) != 0) {
-            radioAccessSpecifiers.add(
-                    new RadioAccessSpecifier(AccessNetworkType.NGRAN, null, null));
-        }
-
+        // If a device supports 5G stand-alone then the code below should be re-enabled; however
+        // a device supporting only non-standalone mode cannot perform PLMN selection and camp on
+        // a 5G network, which means that it shouldn't scan for 5G at the expense of battery as
+        // part of the manual network selection process.
+        //
+        // FIXME(b/151119451): re-enable this code once there is a way to distinguish SA from NSA
+        // support in the modem.
+        //
+        // if (networkTypeBitmap3gpp == 0
+        //        || (networkTypeBitmap3gpp & TelephonyManager.NETWORK_CLASS_BITMASK_5G) != 0) {
+        //    radioAccessSpecifiers.add(
+        //            new RadioAccessSpecifier(AccessNetworkType.NGRAN, null, null));
+        // }
 
         return new NetworkScanRequest(
                 NetworkScanRequest.SCAN_TYPE_ONE_SHOT,
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index 2d38377..83fa208 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -165,6 +165,28 @@
                 return R.string.preferred_network_mode_lte_tdscdma_wcdma_summary;
             case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
                 return R.string.preferred_network_mode_lte_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_ONLY:
+                return R.string.preferred_network_mode_nr_only_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE:
+                return R.string.preferred_network_mode_nr_lte_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
+                return R.string.preferred_network_mode_nr_lte_cdma_evdo_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_gsm_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_cdma_evdo_gsm_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_gsm_wcdma_summary;
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                return R.string.preferred_network_mode_nr_lte_tdscdma_cdma_evdo_gsm_wcdma_summary;
             default:
                 return R.string.preferred_network_mode_global_summary;
         }
diff --git a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
index e4ff5c4..241dc5d 100644
--- a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
@@ -17,6 +17,8 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 
 import com.android.settings.core.BasePreferenceController;
@@ -37,4 +39,20 @@
     public int getAvailabilityStatus() {
         return MobileNetworkUtils.getAvailability(mContext, mSubId, this::getAvailabilityStatus);
     }
+
+    /**
+     * Get carrier config based on specific subscription id.
+     *
+     * @param subId is the subscription id
+     * @return {@link PersistableBundle} of carrier config, or {@code null} when carrier config
+     * is not available.
+     */
+    public PersistableBundle getCarrierConfigForSubId(int subId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return null;
+        }
+        final CarrierConfigManager carrierConfigMgr =
+                mContext.getSystemService(CarrierConfigManager.class);
+        return carrierConfigMgr.getConfigForSubId(subId);
+    }
 }
diff --git a/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
index 71efc57..fc30030 100644
--- a/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
@@ -17,6 +17,8 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 
 import com.android.settings.core.TogglePreferenceController;
@@ -37,4 +39,20 @@
     public int getAvailabilityStatus() {
         return MobileNetworkUtils.getAvailability(mContext, mSubId, this::getAvailabilityStatus);
     }
+
+    /**
+     * Get carrier config based on specific subscription id.
+     *
+     * @param subId is the subscription id
+     * @return {@link PersistableBundle} of carrier config, or {@code null} when carrier config
+     * is not available.
+     */
+    public PersistableBundle getCarrierConfigForSubId(int subId) {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return null;
+        }
+        final CarrierConfigManager carrierConfigMgr =
+                mContext.getSystemService(CarrierConfigManager.class);
+        return carrierConfigMgr.getConfigForSubId(subId);
+    }
 }
diff --git a/src/com/android/settings/notification/history/HistoryLoader.java b/src/com/android/settings/notification/history/HistoryLoader.java
index 046b5ef..461bbc1 100644
--- a/src/com/android/settings/notification/history/HistoryLoader.java
+++ b/src/com/android/settings/notification/history/HistoryLoader.java
@@ -22,6 +22,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.os.UserHandle;
+import android.util.Slog;
 
 import com.android.settings.notification.NotificationBackend;
 import com.android.settingslib.utils.ThreadUtils;
@@ -33,6 +34,7 @@
 import java.util.Map;
 
 public class HistoryLoader {
+    private static final String TAG = "HistoryLoader";
     private final Context mContext;
     private final NotificationBackend mBackend;
     private final PackageManager mPm;
@@ -45,45 +47,48 @@
 
     public void load(OnHistoryLoaderListener listener) {
         ThreadUtils.postOnBackgroundThread(() -> {
-            Map<String, NotificationHistoryPackage> historicalNotifications = new HashMap<>();
-            NotificationHistory history =
-                    mBackend.getNotificationHistory(mContext.getPackageName());
+            try {
+                Map<String, NotificationHistoryPackage> historicalNotifications = new HashMap<>();
+                NotificationHistory history =
+                        mBackend.getNotificationHistory(mContext.getPackageName());
+                while (history.hasNextNotification()) {
+                    HistoricalNotification hn = history.getNextNotification();
 
-            while (history.hasNextNotification()) {
-                HistoricalNotification hn = history.getNextNotification();
-
-                String key = hn.getPackage() + "|" + hn.getUid();
-                NotificationHistoryPackage hnsForPackage = historicalNotifications.getOrDefault(
-                        key,
-                        new NotificationHistoryPackage(hn.getPackage(), hn.getUid()));
-                hnsForPackage.notifications.add(hn);
-                historicalNotifications.put(key, hnsForPackage);
-            }
-            List<NotificationHistoryPackage> packages =
-                    new ArrayList<>(historicalNotifications.values());
-            Collections.sort(packages,
-                    (o1, o2) -> -1 * Long.compare(o1.getMostRecent(), o2.getMostRecent()));
-            for (NotificationHistoryPackage nhp : packages) {
-                ApplicationInfo info;
-                try {
-                    info = mPm.getApplicationInfoAsUser(
-                            nhp.pkgName,
-                            PackageManager.MATCH_UNINSTALLED_PACKAGES
-                                    | PackageManager.MATCH_DISABLED_COMPONENTS
-                                    | PackageManager.MATCH_DIRECT_BOOT_UNAWARE
-                                    | PackageManager.MATCH_DIRECT_BOOT_AWARE,
-                            UserHandle.getUserId(nhp.uid));
-                    if (info != null) {
-                        nhp.label = String.valueOf(mPm.getApplicationLabel(info));
-                        nhp.icon = mPm.getUserBadgedIcon(mPm.getApplicationIcon(info),
-                                UserHandle.of(UserHandle.getUserId(nhp.uid)));
-                    }
-                } catch (PackageManager.NameNotFoundException e) {
-                    // app is gone, just show package name and generic icon
-                    nhp.icon = mPm.getDefaultActivityIcon();
+                    String key = hn.getPackage() + "|" + hn.getUid();
+                    NotificationHistoryPackage hnsForPackage = historicalNotifications.getOrDefault(
+                            key,
+                            new NotificationHistoryPackage(hn.getPackage(), hn.getUid()));
+                    hnsForPackage.notifications.add(hn);
+                    historicalNotifications.put(key, hnsForPackage);
                 }
+                List<NotificationHistoryPackage> packages =
+                        new ArrayList<>(historicalNotifications.values());
+                Collections.sort(packages,
+                        (o1, o2) -> -1 * Long.compare(o1.getMostRecent(), o2.getMostRecent()));
+                for (NotificationHistoryPackage nhp : packages) {
+                    ApplicationInfo info;
+                    try {
+                        info = mPm.getApplicationInfoAsUser(
+                                nhp.pkgName,
+                                PackageManager.MATCH_UNINSTALLED_PACKAGES
+                                        | PackageManager.MATCH_DISABLED_COMPONENTS
+                                        | PackageManager.MATCH_DIRECT_BOOT_UNAWARE
+                                        | PackageManager.MATCH_DIRECT_BOOT_AWARE,
+                                UserHandle.getUserId(nhp.uid));
+                        if (info != null) {
+                            nhp.label = String.valueOf(mPm.getApplicationLabel(info));
+                            nhp.icon = mPm.getUserBadgedIcon(mPm.getApplicationIcon(info),
+                                    UserHandle.of(UserHandle.getUserId(nhp.uid)));
+                        }
+                    } catch (PackageManager.NameNotFoundException e) {
+                        // app is gone, just show package name and generic icon
+                        nhp.icon = mPm.getDefaultActivityIcon();
+                    }
+                }
+                ThreadUtils.postOnMainThread(() -> listener.onHistoryLoaded(packages));
+            } catch (Exception e) {
+                Slog.e(TAG, "Error loading history", e);
             }
-            ThreadUtils.postOnMainThread(() -> listener.onHistoryLoaded(packages));
         });
     }
 
diff --git a/src/com/android/settings/notification/history/NotificationSbnAdapter.java b/src/com/android/settings/notification/history/NotificationSbnAdapter.java
index f7a747b..2a7bed2 100644
--- a/src/com/android/settings/notification/history/NotificationSbnAdapter.java
+++ b/src/com/android/settings/notification/history/NotificationSbnAdapter.java
@@ -16,14 +16,18 @@
 
 package com.android.settings.notification.history;
 
-import static android.content.pm.PackageManager.*;
+import static android.app.Notification.COLOR_DEFAULT;
+import static android.content.pm.PackageManager.MATCH_ANY_USER;
+import static android.content.pm.PackageManager.NameNotFoundException;
 import static android.os.UserHandle.USER_ALL;
 import static android.os.UserHandle.USER_CURRENT;
 
+import android.annotation.ColorInt;
 import android.app.Notification;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
+import android.content.res.Configuration;
 import android.graphics.PorterDuff;
 import android.graphics.drawable.Drawable;
 import android.os.UserHandle;
@@ -38,6 +42,7 @@
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.internal.util.ContrastColorUtil;
 import com.android.settings.R;
 
 import java.util.ArrayList;
@@ -53,12 +58,19 @@
     private Map<Integer, Drawable> mUserBadgeCache;
     private final Context mContext;
     private PackageManager mPm;
+    private @ColorInt int mBackgroundColor;
+    private boolean mInNightMode;
 
     public NotificationSbnAdapter(Context context, PackageManager pm) {
         mContext = context;
         mPm = pm;
         mUserBadgeCache = new HashMap<>();
         mValues = new ArrayList<>();
+        mBackgroundColor = mContext.getColor(
+                com.android.internal.R.color.notification_material_background_color);
+        Configuration currentConfig = mContext.getResources().getConfiguration();
+        mInNightMode = (currentConfig.uiMode & Configuration.UI_MODE_NIGHT_MASK)
+                == Configuration.UI_MODE_NIGHT_YES;
         setHasStableIds(true);
     }
 
@@ -169,7 +181,7 @@
             return null;
         }
         draw.mutate();
-        draw.setColorFilter(sbn.getNotification().color, PorterDuff.Mode.SRC_ATOP);
+        draw.setColorFilter(getContrastedColor(sbn.getNotification()), PorterDuff.Mode.SRC_ATOP);
         return draw;
     }
 
@@ -180,4 +192,13 @@
         }
         return userId;
     }
+
+    private int getContrastedColor(Notification n) {
+        int rawColor = n.color;
+        if (rawColor != COLOR_DEFAULT) {
+            rawColor |= 0xFF000000; // no alpha for custom colors
+        }
+        return ContrastColorUtil.resolveContrastColor(
+                mContext, rawColor, mBackgroundColor, mInNightMode);
+    }
 }
diff --git a/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java
index b3630a0..9484a09 100644
--- a/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java
@@ -105,9 +105,7 @@
         ApplicationsState.AppFilter filter = ApplicationsState.FILTER_ALL_ENABLED;
         List<ApplicationsState.AppEntry> apps = mAppSession.rebuild(filter,
                 ApplicationsState.ALPHA_COMPARATOR);
-        if (apps != null) {
-            updateNotificationChannelList(apps);
-        }
+        updateNotificationChannelList(apps);
     }
 
     @VisibleForTesting
@@ -116,6 +114,8 @@
             return;
         }
 
+        boolean showEmptyState = true;
+
         List<Preference> channelsBypassingDnd = new ArrayList<>();
         for (ApplicationsState.AppEntry entry : apps) {
             String pkg = entry.info.packageName;
@@ -148,6 +148,7 @@
                     return true;
                 });
                 channelsBypassingDnd.add(pref);
+                showEmptyState = false;
             }
 
             mPreferenceScreen.removeAll();
@@ -156,6 +157,11 @@
                     mPreferenceScreen.addPreference(prefToAdd);
                 }
             }
+            if (showEmptyState) {
+                Preference pref = new Preference(mPrefContext);
+                pref.setTitle(R.string.zen_mode_bypassing_apps_subtext_none);
+                mPreferenceScreen.addPreference(pref);
+            }
         }
     }
 
diff --git a/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java
index 9ef9380..a93fa1b 100644
--- a/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java
@@ -9,7 +9,7 @@
 
 public class ZenModeBypassingAppsPreferenceController extends AbstractZenModePreferenceController {
 
-    protected static final String KEY = "zen_mode_bypassing_apps";
+    protected static final String KEY = "zen_mode_behavior_apps";
     private NotificationBackend mNotificationBackend = new NotificationBackend();
 
     public ZenModeBypassingAppsPreferenceController(Context context, Lifecycle lifecycle) {
@@ -18,13 +18,16 @@
 
     @Override
     public boolean isAvailable() {
-        return mNotificationBackend.getNumAppsBypassingDnd(UserHandle.getCallingUserId()) != 0;
+        return true;
     }
 
     @Override
     public String getSummary() {
         final int channelsBypassing =
                 mNotificationBackend.getNumAppsBypassingDnd(UserHandle.getCallingUserId());
+        if (channelsBypassing == 0) {
+            return mContext.getResources().getString(R.string.zen_mode_bypassing_apps_subtext_none);
+        }
         return mContext.getResources().getQuantityString(R.plurals.zen_mode_bypassing_apps_subtext,
                 channelsBypassing, channelsBypassing);
     }
diff --git a/src/com/android/settings/panel/MediaOutputGroupPanel.java b/src/com/android/settings/panel/MediaOutputGroupPanel.java
index fdac4e7..4a37c52 100644
--- a/src/com/android/settings/panel/MediaOutputGroupPanel.java
+++ b/src/com/android/settings/panel/MediaOutputGroupPanel.java
@@ -156,4 +156,9 @@
     public int getMetricsCategory() {
         return SettingsEnums.PANEL_MEDIA_OUTPUT_GROUP;
     }
+
+    @Override
+    public int getViewType() {
+        return PanelContent.VIEW_TYPE_SLIDER;
+    }
 }
diff --git a/src/com/android/settings/panel/MediaOutputPanel.java b/src/com/android/settings/panel/MediaOutputPanel.java
index 0bb1430..1145c42 100644
--- a/src/com/android/settings/panel/MediaOutputPanel.java
+++ b/src/com/android/settings/panel/MediaOutputPanel.java
@@ -240,4 +240,9 @@
         mLocalMediaManager.unregisterCallback(this);
         mLocalMediaManager.stopScan();
     }
+
+    @Override
+    public int getViewType() {
+        return PanelContent.VIEW_TYPE_SLIDER;
+    }
 }
diff --git a/src/com/android/settings/panel/PanelContent.java b/src/com/android/settings/panel/PanelContent.java
index 0f60e29..2e8d709 100644
--- a/src/com/android/settings/panel/PanelContent.java
+++ b/src/com/android/settings/panel/PanelContent.java
@@ -30,6 +30,8 @@
  */
 public interface PanelContent extends Instrumentable {
 
+    int VIEW_TYPE_SLIDER = 1;
+
     /**
      * @return a icon for the title of the Panel.
      */
@@ -101,4 +103,11 @@
      * @param callback the callback to add.
      */
     default void registerCallback(PanelContentCallback callback) {}
+
+    /**
+     * @return a view type to customized it. 0 for default layout.
+     */
+    default int getViewType() {
+        return 0;
+    }
 }
diff --git a/src/com/android/settings/panel/PanelFeatureProviderImpl.java b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
index 04d3095..93c6025 100644
--- a/src/com/android/settings/panel/PanelFeatureProviderImpl.java
+++ b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
@@ -17,6 +17,7 @@
 package com.android.settings.panel;
 
 import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT;
+import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT_GROUP;
 
 import android.content.Context;
 import android.os.Bundle;
@@ -46,6 +47,8 @@
                 return WifiPanel.create(context);
             case Settings.Panel.ACTION_VOLUME:
                 return VolumePanel.create(context);
+            case ACTION_MEDIA_OUTPUT_GROUP:
+                return MediaOutputGroupPanel.create(context, mediaPackageName);
         }
 
         throw new IllegalStateException("No matching panel for: "  + panelType);
diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java
index 0e41421..30cc2a8 100644
--- a/src/com/android/settings/panel/PanelFragment.java
+++ b/src/com/android/settings/panel/PanelFragment.java
@@ -411,6 +411,10 @@
         };
     }
 
+    int getPanelViewType() {
+        return mPanel.getViewType();
+    }
+
     class LocalPanelCallback implements PanelContentCallback {
 
         @Override
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index 779c582..1b69cc2 100644
--- a/src/com/android/settings/panel/PanelSlicesAdapter.java
+++ b/src/com/android/settings/panel/PanelSlicesAdapter.java
@@ -69,7 +69,12 @@
     public SliceRowViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
         final Context context = viewGroup.getContext();
         final LayoutInflater inflater = LayoutInflater.from(context);
-        final View view = inflater.inflate(R.layout.panel_slice_row, viewGroup, false);
+        View view;
+        if (viewType == PanelContent.VIEW_TYPE_SLIDER) {
+            view = inflater.inflate(R.layout.panel_slice_slider_row, viewGroup, false);
+        } else {
+            view = inflater.inflate(R.layout.panel_slice_row, viewGroup, false);
+        }
 
         return new SliceRowViewHolder(view);
     }
@@ -87,6 +92,11 @@
         return Math.min(mSliceLiveData.size(), MAX_NUM_OF_SLICES);
     }
 
+    @Override
+    public int getItemViewType(int position) {
+        return mPanelFragment.getPanelViewType();
+    }
+
     /**
      * Return the available data from the adapter. If the number of Slices over the max number
      * allowed, the list will only have the first MAX_NUM_OF_SLICES of slices.
diff --git a/src/com/android/settings/panel/VolumePanel.java b/src/com/android/settings/panel/VolumePanel.java
index dd9b53c..d45bfd1 100644
--- a/src/com/android/settings/panel/VolumePanel.java
+++ b/src/com/android/settings/panel/VolumePanel.java
@@ -73,4 +73,9 @@
     public int getMetricsCategory() {
         return SettingsEnums.PANEL_VOLUME;
     }
+
+    @Override
+    public int getViewType() {
+        return PanelContent.VIEW_TYPE_SLIDER;
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
index f24d8db..8d093c0 100644
--- a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
+++ b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
@@ -24,11 +24,13 @@
 import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
-import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settings.network.telephony.MobileNetworkUtils;
+import com.android.settings.wifi.dpp.WifiDppUtils;
 
 /** Enable/disable user confirmation before deleting an eSim */
-public class ConfirmSimDeletionPreferenceController extends TogglePreferenceController {
+public class ConfirmSimDeletionPreferenceController extends BasePreferenceController implements
+        Preference.OnPreferenceChangeListener{
     public static final String KEY_CONFIRM_SIM_DELETION = "confirm_sim_deletion";
     private boolean mConfirmationDefaultOn;
 
@@ -53,21 +55,39 @@
                 == 1;
     }
 
-    @Override
     public boolean isChecked() {
         return getGlobalState();
     }
 
-    @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Global.putInt(
                 mContext.getContentResolver(), KEY_CONFIRM_SIM_DELETION, isChecked ? 1 : 0);
         return true;
     }
 
+    // handle UI change
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (!preference.getKey().equals(getPreferenceKey())) {
+            return false;
+        }
+        if (!isChecked()) {
+            setChecked(true);
+            return true;
+        } else {
+            // prevent disabling the feature until authorized
+            WifiDppUtils.showLockScreen(mContext, () -> {
+                // set data
+                setChecked(false);
+                // set UI
+                ((TwoStatePreference) preference).setChecked(false);
+            });
+            return false;
+        }
+    }
+
     @Override
     public void updateState(Preference preference) {
-
         final KeyguardManager keyguardManager = mContext.getSystemService(KeyguardManager.class);
         if (!keyguardManager.isKeyguardSecure()) {
             preference.setEnabled(false);
diff --git a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
index c0f7e1f..4843736 100644
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
@@ -32,6 +32,7 @@
 import android.graphics.drawable.Icon;
 import android.graphics.drawable.LayerDrawable;
 import android.net.ConnectivityManager;
+import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.ContextThemeWrapper;
 import android.view.LayoutInflater;
@@ -45,6 +46,8 @@
 
 import com.android.settings.R;
 import com.android.settings.Settings.TetherSettingsActivity;
+import com.android.settings.Settings.WifiSettings2Activity;
+import com.android.settings.Settings.WifiSettingsActivity;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -187,6 +190,15 @@
                 Log.d(TAG, "Skipping non-system app: " + info.activityInfo);
                 continue;
             }
+            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                if (info.activityInfo.name.endsWith(WifiSettingsActivity.class.getSimpleName())) {
+                    continue;
+                }
+            } else {
+                if (info.activityInfo.name.endsWith(WifiSettings2Activity.class.getSimpleName())) {
+                    continue;
+                }
+            }
             shortcuts.add(info);
         }
         Collections.sort(shortcuts, SHORTCUT_COMPARATOR);
diff --git a/src/com/android/settings/support/SupportDashboardActivity.java b/src/com/android/settings/support/SupportDashboardActivity.java
index 8bc538e..b8a22b9 100644
--- a/src/com/android/settings/support/SupportDashboardActivity.java
+++ b/src/com/android/settings/support/SupportDashboardActivity.java
@@ -25,8 +25,8 @@
 import com.android.settings.overlay.SupportFeatureProvider;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.Indexable;
-import com.android.settingslib.search.SearchIndexableRaw;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -45,8 +45,8 @@
 
         // try to launch support if we have the feature provider
         if (supportFeatureProvider != null) {
-          supportFeatureProvider.startSupport(this);
-          finish();
+            supportFeatureProvider.startSupport(this);
+            finish();
         }
     }
 
@@ -66,7 +66,7 @@
                     // Add the activity title
                     SearchIndexableRaw data = new SearchIndexableRaw(context);
                     data.title = context.getString(R.string.page_tab_title_support);
-                    data.screenTitle = context.getString(R.string.settings_label);
+                    data.screenTitle = context.getString(R.string.page_tab_title_support);
                     data.summaryOn = context.getString(R.string.support_summary);
                     data.intentTargetPackage = context.getPackageName();
                     data.intentTargetClass = SupportDashboardActivity.class.getName();
diff --git a/src/com/android/settings/users/OWNERS b/src/com/android/settings/users/OWNERS
deleted file mode 100644
index 59096be..0000000
--- a/src/com/android/settings/users/OWNERS
+++ /dev/null
@@ -1,6 +0,0 @@
-# Default reviewers for this and subdirectories.
-dling@google.com
-yamasani@google.com
-zhfan@google.com
-
-# Emergency approvers in case the above are not available
\ No newline at end of file
diff --git a/src/com/android/settings/widget/VideoPreference.java b/src/com/android/settings/widget/VideoPreference.java
index 949ba9b..6356378 100644
--- a/src/com/android/settings/widget/VideoPreference.java
+++ b/src/com/android/settings/widget/VideoPreference.java
@@ -39,12 +39,18 @@
 public class VideoPreference extends Preference {
 
     private static final String TAG = "VideoPreference";
+    private static final int DEFAULT_BACKGROUND_RESOURCE_ID = -1;
     private final Context mContext;
 
     @VisibleForTesting
     AnimationController mAnimationController;
     @VisibleForTesting
     boolean mAnimationAvailable;
+    @VisibleForTesting
+    LinearLayout mAnimationView;
+    @VisibleForTesting
+    int mBackgroundResId = DEFAULT_BACKGROUND_RESOURCE_ID;
+
     private float mAspectRatio = 1.0f;
     private int mPreviewId;
     private int mAnimationId;
@@ -114,6 +120,7 @@
         mVideo = (TextureView) holder.findViewById(R.id.video_texture_view);
         mPreviewImage = (ImageView) holder.findViewById(R.id.video_preview_image);
         mPlayButton = (ImageView) holder.findViewById(R.id.video_play_button);
+        mAnimationView = (LinearLayout) holder.itemView;
         final AspectRatioFrameLayout layout = (AspectRatioFrameLayout) holder.findViewById(
                 R.id.video_container);
 
@@ -123,6 +130,9 @@
             layout.setLayoutParams(new LinearLayout.LayoutParams(
                     LinearLayout.LayoutParams.MATCH_PARENT, mHeight));
         }
+        if (mBackgroundResId != DEFAULT_BACKGROUND_RESOURCE_ID) {
+            mAnimationView.setBackgroundResource(mBackgroundResId);
+        }
         if (mAnimationController != null) {
             mAnimationController.attachView(mVideo, mPreviewImage, mPlayButton);
         }
@@ -203,6 +213,14 @@
     }
 
     /**
+     * Set the background color of the video preference
+     * @param resId resource id of color
+     */
+    public void setBackgroundColor(int resId) {
+        mBackgroundResId = resId;
+    }
+
+    /**
      * Handle animation operations.
      */
     interface AnimationController {
diff --git a/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
new file mode 100644
index 0000000..afba0d8
--- /dev/null
+++ b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.wifi;
+
+import android.content.Context;
+import android.view.View;
+
+import androidx.fragment.app.Fragment;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settingslib.R;
+import com.android.settingslib.wifi.LongPressWifiEntryPreference;
+import com.android.wifitrackerlib.WifiEntry;
+
+/**
+ * An AP preference for the currently connected AP.
+ */
+public class ConnectedWifiEntryPreference extends LongPressWifiEntryPreference implements
+        View.OnClickListener {
+
+    private OnGearClickListener mOnGearClickListener;
+
+    public ConnectedWifiEntryPreference(Context context, WifiEntry wifiEntry, Fragment fragment) {
+        super(context, wifiEntry, fragment);
+        setWidgetLayoutResource(R.layout.preference_widget_gear_optional_background);
+    }
+
+    /**
+     * Set gear icon click callback listener.
+     */
+    public void setOnGearClickListener(OnGearClickListener l) {
+        mOnGearClickListener = l;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final View gear = holder.findViewById(R.id.settings_button);
+        gear.setOnClickListener(this);
+
+        final boolean canSignIn = getWifiEntry().canSignIn();
+        holder.findViewById(R.id.settings_button_no_background).setVisibility(
+                canSignIn ? View.INVISIBLE : View.VISIBLE);
+        gear.setVisibility(canSignIn ? View.VISIBLE : View.INVISIBLE);
+        holder.findViewById(R.id.two_target_divider).setVisibility(
+                canSignIn ? View.VISIBLE : View.INVISIBLE);
+    }
+
+    @Override
+    public void onClick(View v) {
+        if (v.getId() == R.id.settings_button) {
+            if (mOnGearClickListener != null) {
+                mOnGearClickListener.onGearClick(this);
+            }
+        }
+    }
+
+    /**
+     * Gear Icon click callback interface.
+     */
+    public interface OnGearClickListener {
+        /**
+         * The callback triggered when gear icon is clicked.
+         */
+        void onGearClick(ConnectedWifiEntryPreference p);
+    }
+
+}
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 5264e10..54026a5 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -28,8 +28,6 @@
 import android.net.StaticIpConfiguration;
 import android.net.Uri;
 import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiConfiguration.AuthAlgorithm;
-import android.net.wifi.WifiConfiguration.KeyMgmt;
 import android.net.wifi.WifiEnterpriseConfig;
 import android.net.wifi.WifiEnterpriseConfig.Eap;
 import android.net.wifi.WifiEnterpriseConfig.Phase2;
@@ -638,13 +636,11 @@
 
         switch (mAccessPointSecurity) {
             case AccessPoint.SECURITY_NONE:
-                config.allowedKeyManagement.set(KeyMgmt.NONE);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
                 break;
 
             case AccessPoint.SECURITY_WEP:
-                config.allowedKeyManagement.set(KeyMgmt.NONE);
-                config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
-                config.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
                 if (mPasswordView.length() != 0) {
                     int length = mPasswordView.length();
                     String password = mPasswordView.getText().toString();
@@ -659,7 +655,7 @@
                 break;
 
             case AccessPoint.SECURITY_PSK:
-                config.allowedKeyManagement.set(KeyMgmt.WPA_PSK);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
                 if (mPasswordView.length() != 0) {
                     String password = mPasswordView.getText().toString();
                     if (password.matches("[0-9A-Fa-f]{64}")) {
@@ -672,16 +668,11 @@
 
             case AccessPoint.SECURITY_EAP:
             case AccessPoint.SECURITY_EAP_SUITE_B:
-                config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
-                config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
                 if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) {
-                    config.allowedKeyManagement.set(KeyMgmt.SUITE_B_192);
-                    config.requirePmf = true;
-                    config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
-                    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
-                    config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
-                            .BIP_GMAC_256);
                     // allowedSuiteBCiphers will be set according to certificate type
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+                } else {
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
                 }
                 config.enterpriseConfig = new WifiEnterpriseConfig();
                 int eapMethod = mEapMethodSpinner.getSelectedItemPosition();
@@ -815,8 +806,7 @@
                 }
                 break;
             case AccessPoint.SECURITY_SAE:
-                config.allowedKeyManagement.set(KeyMgmt.SAE);
-                config.requirePmf = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
                 if (mPasswordView.length() != 0) {
                     String password = mPasswordView.getText().toString();
                     config.preSharedKey = '"' + password + '"';
@@ -824,8 +814,7 @@
                 break;
 
             case AccessPoint.SECURITY_OWE:
-                config.allowedKeyManagement.set(KeyMgmt.OWE);
-                config.requirePmf = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
                 break;
 
             default:
diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java
index 830f061..4df0dfd 100644
--- a/src/com/android/settings/wifi/WifiConfigController2.java
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -27,8 +27,6 @@
 import android.net.StaticIpConfiguration;
 import android.net.Uri;
 import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiConfiguration.AuthAlgorithm;
-import android.net.wifi.WifiConfiguration.KeyMgmt;
 import android.net.wifi.WifiEnterpriseConfig;
 import android.net.wifi.WifiEnterpriseConfig.Eap;
 import android.net.wifi.WifiEnterpriseConfig.Phase2;
@@ -633,13 +631,11 @@
 
         switch (mWifiEntrySecurity) {
             case WifiEntry.SECURITY_NONE:
-                config.allowedKeyManagement.set(KeyMgmt.NONE);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
                 break;
 
             case WifiEntry.SECURITY_WEP:
-                config.allowedKeyManagement.set(KeyMgmt.NONE);
-                config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
-                config.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
                 if (mPasswordView.length() != 0) {
                     int length = mPasswordView.length();
                     String password = mPasswordView.getText().toString();
@@ -654,7 +650,7 @@
                 break;
 
             case WifiEntry.SECURITY_PSK:
-                config.allowedKeyManagement.set(KeyMgmt.WPA_PSK);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
                 if (mPasswordView.length() != 0) {
                     String password = mPasswordView.getText().toString();
                     if (password.matches("[0-9A-Fa-f]{64}")) {
@@ -667,16 +663,11 @@
 
             case WifiEntry.SECURITY_EAP:
             case WifiEntry.SECURITY_EAP_SUITE_B:
-                config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
-                config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
                 if (mWifiEntrySecurity == WifiEntry.SECURITY_EAP_SUITE_B) {
-                    config.allowedKeyManagement.set(KeyMgmt.SUITE_B_192);
-                    config.requirePmf = true;
-                    config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
-                    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
-                    config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
-                            .BIP_GMAC_256);
                     // allowedSuiteBCiphers will be set according to certificate type
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+                } else {
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
                 }
                 config.enterpriseConfig = new WifiEnterpriseConfig();
                 int eapMethod = mEapMethodSpinner.getSelectedItemPosition();
@@ -809,8 +800,7 @@
                 }
                 break;
             case WifiEntry.SECURITY_SAE:
-                config.allowedKeyManagement.set(KeyMgmt.SAE);
-                config.requirePmf = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
                 if (mPasswordView.length() != 0) {
                     String password = mPasswordView.getText().toString();
                     config.preSharedKey = '"' + password + '"';
@@ -818,8 +808,7 @@
                 break;
 
             case WifiEntry.SECURITY_OWE:
-                config.allowedKeyManagement.set(KeyMgmt.OWE);
-                config.requirePmf = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
                 break;
 
             default:
diff --git a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
index 2c6feac..12a6d14 100644
--- a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
@@ -34,6 +34,7 @@
 import com.android.settingslib.wifi.WifiTracker;
 import com.android.settingslib.wifi.WifiTrackerFactory;
 
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
 /**
  * This places a preference into a PreferenceGroup owned by some parent
  * controller class when there is a wifi connection present.
diff --git a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
index 2f57249..1e18c59 100644
--- a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
@@ -32,6 +32,7 @@
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
 public class WifiMasterSwitchPreferenceController extends AbstractPreferenceController
         implements PreferenceControllerMixin, SummaryUpdater.OnSummaryChangeListener,
         LifecycleObserver, OnResume, OnPause, OnStart, OnStop {
diff --git a/src/com/android/settings/wifi/WifiScanningRequiredFragment.java b/src/com/android/settings/wifi/WifiScanningRequiredFragment.java
index 0f81edb..954a5de 100644
--- a/src/com/android/settings/wifi/WifiScanningRequiredFragment.java
+++ b/src/com/android/settings/wifi/WifiScanningRequiredFragment.java
@@ -99,7 +99,7 @@
         Intent intent = getHelpIntent(getContext());
         if (intent != null) {
             try {
-                startActivity(intent);
+                getActivity().startActivityForResult(intent, 0);
             } catch (ActivityNotFoundException e) {
                 Log.e(TAG, "Activity was not found for intent, " + intent.toString());
             }
diff --git a/src/com/android/settings/wifi/WifiSettings2.java b/src/com/android/settings/wifi/WifiSettings2.java
index f88a4df..5152569 100644
--- a/src/com/android/settings/wifi/WifiSettings2.java
+++ b/src/com/android/settings/wifi/WifiSettings2.java
@@ -711,8 +711,8 @@
                     mConnectedWifiEntryPreferenceCategory.findPreference(connectedEntry.getKey());
             if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) {
                 mConnectedWifiEntryPreferenceCategory.removeAll();
-                final LongPressWifiEntryPreference pref =
-                        createLongPressWifiEntryPreference(connectedEntry);
+                final ConnectedWifiEntryPreference pref =
+                        new ConnectedWifiEntryPreference(getPrefContext(), connectedEntry, this);
                 pref.setKey(connectedEntry.getKey());
                 pref.refresh();
                 mConnectedWifiEntryPreferenceCategory.addPreference(pref);
@@ -724,6 +724,9 @@
                     }
                     return true;
                 });
+                pref.setOnGearClickListener(preference -> {
+                    launchNetworkDetailsFragment(pref);
+                });
             }
         } else {
             mConnectedWifiEntryPreferenceCategory.removeAll();
diff --git a/src/com/android/settings/wifi/WifiUtils.java b/src/com/android/settings/wifi/WifiUtils.java
index 08ba441..c73e6a2 100644
--- a/src/com/android/settings/wifi/WifiUtils.java
+++ b/src/com/android/settings/wifi/WifiUtils.java
@@ -157,13 +157,11 @@
 
         switch (security) {
             case AccessPoint.SECURITY_NONE:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OPEN);
                 break;
 
             case AccessPoint.SECURITY_WEP:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
-                config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
-                config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
                 if (!TextUtils.isEmpty(password)) {
                     int length = password.length();
                     // WEP-40, WEP-104, and 256-bit WEP (WEP-232?)
@@ -177,7 +175,7 @@
                 break;
 
             case AccessPoint.SECURITY_PSK:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
                 if (!TextUtils.isEmpty(password)) {
                     if (password.matches("[0-9A-Fa-f]{64}")) {
                         config.preSharedKey = password;
@@ -189,16 +187,11 @@
 
             case AccessPoint.SECURITY_EAP:
             case AccessPoint.SECURITY_EAP_SUITE_B:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_EAP);
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X);
                 if (security == AccessPoint.SECURITY_EAP_SUITE_B) {
-                    config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SUITE_B_192);
-                    config.requirePmf = true;
-                    config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
-                    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
-                    config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
-                            .BIP_GMAC_256);
                     // allowedSuiteBCiphers will be set according to certificate type
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
+                } else {
+                    config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP);
                 }
 
                 if (!TextUtils.isEmpty(password)) {
@@ -206,16 +199,14 @@
                 }
                 break;
             case AccessPoint.SECURITY_SAE:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SAE);
-                config.requirePmf = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
                 if (!TextUtils.isEmpty(password)) {
                     config.preSharedKey = '"' + password + '"';
                 }
                 break;
 
             case AccessPoint.SECURITY_OWE:
-                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.OWE);
-                config.requirePmf = true;
+                config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
                 break;
 
             default:
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 4acfee1..70567ac 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -101,6 +101,7 @@
 import java.util.StringJoiner;
 import java.util.stream.Collectors;
 
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
 /**
  * Controller for logic pertaining to displaying Wifi information for the
  * {@link WifiNetworkDetailsFragment}.
@@ -596,7 +597,8 @@
     }
 
     private void refreshTxSpeed() {
-        if (mWifiInfo == null) {
+        if (mWifiInfo == null
+                || mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
             mTxLinkSpeedPref.setVisible(false);
             return;
         }
@@ -608,7 +610,8 @@
     }
 
     private void refreshRxSpeed() {
-        if (mWifiInfo == null) {
+        if (mWifiInfo == null
+                || mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
             mRxLinkSpeedPref.setVisible(false);
             return;
         }
diff --git a/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java b/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
index fdd0bbe..e6195d1 100644
--- a/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
+++ b/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
@@ -24,7 +24,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiConfiguration.AuthAlgorithm;
 import android.net.wifi.WifiConfiguration.KeyMgmt;
 import android.net.wifi.WifiManager;
 import android.text.TextUtils;
@@ -252,17 +251,15 @@
 
             final WifiConfiguration enhancedOpenNetworkWifiConfiguration =
                     getBasicWifiConfiguration();
-            enhancedOpenNetworkWifiConfiguration.allowedKeyManagement.set(KeyMgmt.OWE);
-            enhancedOpenNetworkWifiConfiguration.requirePmf = true;
+            enhancedOpenNetworkWifiConfiguration
+                    .setSecurityParams(WifiConfiguration.SECURITY_TYPE_OWE);
             wifiConfigurations.add(enhancedOpenNetworkWifiConfiguration);
             return wifiConfigurations;
         }
 
         final WifiConfiguration wifiConfiguration = getBasicWifiConfiguration();
         if (mSecurity.startsWith(SECURITY_WEP)) {
-            wifiConfiguration.allowedKeyManagement.set(KeyMgmt.NONE);
-            wifiConfiguration.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
-            wifiConfiguration.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED);
+            wifiConfiguration.setSecurityParams(WifiConfiguration.SECURITY_TYPE_WEP);
 
             // WEP-40, WEP-104, and 256-bit WEP (WEP-232?)
             final int length = mPreSharedKey.length();
@@ -273,7 +270,7 @@
                 wifiConfiguration.wepKeys[0] = addQuotationIfNeeded(mPreSharedKey);
             }
         } else if (mSecurity.startsWith(SECURITY_WPA_PSK)) {
-            wifiConfiguration.allowedKeyManagement.set(KeyMgmt.WPA_PSK);
+            wifiConfiguration.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
 
             if (mPreSharedKey.matches("[0-9A-Fa-f]{64}")) {
                 wifiConfiguration.preSharedKey = mPreSharedKey;
@@ -281,8 +278,7 @@
                 wifiConfiguration.preSharedKey = addQuotationIfNeeded(mPreSharedKey);
             }
         } else if (mSecurity.startsWith(SECURITY_SAE)) {
-            wifiConfiguration.allowedKeyManagement.set(KeyMgmt.SAE);
-            wifiConfiguration.requirePmf = true;
+            wifiConfiguration.setSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
             if (mPreSharedKey.length() != 0) {
                 wifiConfiguration.preSharedKey = addQuotationIfNeeded(mPreSharedKey);
             }
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index fe1da73..db9725b 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -38,7 +38,6 @@
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.drawable.IconCompat;
@@ -55,10 +54,8 @@
 import com.android.settings.slices.SliceBuilderUtils;
 import com.android.settings.wifi.WifiDialogActivity;
 import com.android.settings.wifi.WifiSettings;
-import com.android.settings.wifi.WifiSettings2;
 import com.android.settings.wifi.WifiUtils;
 import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
 import com.android.settingslib.wifi.AccessPoint;
 
 import java.util.Arrays;
@@ -253,16 +250,13 @@
         accessPoint.saveWifiState(extras);
 
         if (accessPoint.isActive()) {
-            final SubSettingLauncher launcher = new SubSettingLauncher(mContext)
+            final Intent intent = new SubSettingLauncher(mContext)
                     .setTitleRes(R.string.pref_title_network_details)
+                    .setDestination(WifiNetworkDetailsFragment.class.getName())
                     .setArguments(extras)
-                    .setSourceMetricsCategory(SettingsEnums.WIFI);
-            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
-                launcher.setDestination(WifiNetworkDetailsFragment2.class.getName());
-            } else {
-                launcher.setDestination(WifiNetworkDetailsFragment.class.getName());
-            }
-            return getActivityAction(requestCode, launcher.toIntent(), icon, title);
+                    .setSourceMetricsCategory(SettingsEnums.WIFI)
+                    .toIntent();
+            return getActivityAction(requestCode, intent, icon, title);
         } else if (WifiUtils.getConnectingType(accessPoint) != WifiUtils.CONNECT_TYPE_OTHERS) {
             final Intent intent = new Intent(mContext, ConnectToWifiHandler.class)
                     .putExtra(WifiDialogActivity.KEY_ACCESS_POINT_STATE, extras);
@@ -326,21 +320,11 @@
     public Intent getIntent() {
         final String screenTitle = mContext.getText(R.string.wifi_settings).toString();
         final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build();
-
-        Intent intent;
-        if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
-            intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
-                WifiSettings2.class.getName(), KEY_WIFI, screenTitle,
-                SettingsEnums.DIALOG_WIFI_AP_EDIT)
-                .setClassName(mContext.getPackageName(), SubSettings.class.getName())
-                .setData(contentUri);
-        } else {
-            intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
+        final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
                 WifiSettings.class.getName(), KEY_WIFI, screenTitle,
                 SettingsEnums.DIALOG_WIFI_AP_EDIT)
                 .setClassName(mContext.getPackageName(), SubSettings.class.getName())
                 .setData(contentUri);
-        }
 
         return intent;
     }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
index 2a5dea9..7ba0216 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
@@ -26,6 +26,7 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
 
+// TODO(b/151133650): Replace AbstractPreferenceController with BasePreferenceController.
 public abstract class WifiTetherBasePreferenceController extends AbstractPreferenceController
         implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
 
diff --git a/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceController.java
new file mode 100644
index 0000000..c6a0a9f
--- /dev/null
+++ b/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceController.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.tether;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+
+/**
+ * Shows hotspot footer information.
+ */
+public class WifiTetherFooterPreferenceController extends WifiTetherBasePreferenceController {
+
+    private static final String PREF_KEY = "tether_prefs_footer_2";
+
+    public WifiTetherFooterPreferenceController(Context context) {
+        super(context, null /* listener */);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public void updateDisplay() {
+        if (mWifiManager.isStaApConcurrencySupported()) {
+            mPreference.setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+        } else {
+            mPreference.setTitle(R.string.tethering_footer_info);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        return true;
+    }
+}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index 66d017a..3160609 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -40,7 +40,6 @@
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
 import com.android.settingslib.TetherUtil;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
@@ -130,8 +129,7 @@
         // SettingsActivity as base for all preference fragments.
         final SettingsActivity activity = (SettingsActivity) getActivity();
         final SwitchBar switchBar = activity.getSwitchBar();
-        mSwitchBarController = new WifiTetherSwitchBarController(activity,
-                new SwitchBarController(switchBar));
+        mSwitchBarController = new WifiTetherSwitchBarController(activity, switchBar);
         getSettingsLifecycle().addObserver(mSwitchBarController);
         switchBar.show();
     }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
index 0f31d19..a7b6772 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
@@ -26,23 +26,27 @@
 import android.net.wifi.WifiManager;
 import android.os.Handler;
 import android.os.Looper;
-import android.provider.Settings;
+import android.view.View;
+import android.widget.Switch;
 
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.datausage.DataSaverBackend;
-import com.android.settings.widget.SwitchWidgetController;
+import com.android.settings.widget.SwitchBar;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
-public class WifiTetherSwitchBarController implements SwitchWidgetController.OnSwitchChangeListener,
-        LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener {
-
+/**
+ * Controller for logic pertaining to switch Wi-Fi tethering.
+ */
+public class WifiTetherSwitchBarController implements
+        LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener, View.OnClickListener {
     private static final IntentFilter WIFI_INTENT_FILTER;
 
     private final Context mContext;
-    private final SwitchWidgetController mSwitchBar;
+    private final SwitchBar mSwitchBar;
+    private final Switch mSwitch;
     private final ConnectivityManager mConnectivityManager;
     private final WifiManager mWifiManager;
 
@@ -63,40 +67,38 @@
         WIFI_INTENT_FILTER = new IntentFilter(WifiManager.WIFI_AP_STATE_CHANGED_ACTION);
     }
 
-    WifiTetherSwitchBarController(Context context, SwitchWidgetController switchBar) {
+    WifiTetherSwitchBarController(Context context, SwitchBar switchBar) {
         mContext = context;
         mSwitchBar = switchBar;
+        mSwitch = mSwitchBar.getSwitch();
         mDataSaverBackend = new DataSaverBackend(context);
         mConnectivityManager =
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
         mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
         mSwitchBar.setChecked(mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED);
-        mSwitchBar.setListener(this);
         updateWifiSwitch();
     }
 
     @Override
     public void onStart() {
         mDataSaverBackend.addListener(this);
-        mSwitchBar.startListening();
+        mSwitch.setOnClickListener(this);
         mContext.registerReceiver(mReceiver, WIFI_INTENT_FILTER);
     }
 
     @Override
     public void onStop() {
         mDataSaverBackend.remListener(this);
-        mSwitchBar.stopListening();
         mContext.unregisterReceiver(mReceiver);
     }
 
     @Override
-    public boolean onSwitchToggled(boolean isChecked) {
-        if (!isChecked) {
-            stopTether();
-        } else if (!mWifiManager.isWifiApEnabled()) {
+    public void onClick(View v) {
+        if (mSwitch.isChecked()) {
             startTether();
+        } else {
+            stopTether();
         }
-        return true;
     }
 
     void stopTether() {
@@ -128,23 +130,23 @@
                 mSwitchBar.setEnabled(false);
                 break;
             case WifiManager.WIFI_AP_STATE_ENABLED:
-                if (!mSwitchBar.isChecked()) {
-                    mSwitchBar.setChecked(true);
+                if (!mSwitch.isChecked()) {
+                    mSwitch.setChecked(true);
                 }
                 updateWifiSwitch();
                 break;
             case WifiManager.WIFI_AP_STATE_DISABLING:
-                if (mSwitchBar.isChecked()) {
-                    mSwitchBar.setChecked(false);
+                if (mSwitch.isChecked()) {
+                    mSwitch.setChecked(false);
                 }
                 mSwitchBar.setEnabled(false);
                 break;
             case WifiManager.WIFI_AP_STATE_DISABLED:
-                mSwitchBar.setChecked(false);
+                mSwitch.setChecked(false);
                 updateWifiSwitch();
                 break;
             default:
-                mSwitchBar.setChecked(false);
+                mSwitch.setChecked(false);
                 updateWifiSwitch();
                 break;
         }
diff --git a/tests/robotests/src/com/android/settings/TetherSettingsTest.java b/tests/robotests/src/com/android/settings/TetherSettingsTest.java
index e69bd07..3c38c51d 100644
--- a/tests/robotests/src/com/android/settings/TetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/TetherSettingsTest.java
@@ -19,13 +19,22 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.FeatureFlagUtils;
+
+import androidx.preference.Preference;
+
+import com.android.settings.core.FeatureFlags;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -66,6 +75,7 @@
 
     @Test
     public void testTetherNonIndexableKeys_tetherAvailable_keysNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // To let TetherUtil.isTetherAvailable return true, select one of the combinations
         setupIsTetherAvailable(true);
 
@@ -100,6 +110,7 @@
 
     @Test
     public void testTetherNonIndexableKeys_usbAvailable_usbKeyNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // We can ignore the condition of Utils.isMonkeyRunning()
         // In normal case, monkey and robotest should not execute at the same time
         when(mConnectivityManager.getTetherableUsbRegexs()).thenReturn(new String[]{"dummyRegex"});
@@ -122,6 +133,7 @@
 
     @Test
     public void testTetherNonIndexableKeys_bluetoothAvailable_bluetoothKeyNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         when(mConnectivityManager.getTetherableBluetoothRegexs())
                 .thenReturn(new String[]{"dummyRegex"});
 
@@ -131,6 +143,23 @@
         assertThat(niks).doesNotContain(TetherSettings.KEY_ENABLE_BLUETOOTH_TETHERING);
     }
 
+    @Test
+    public void testSetFooterPreferenceTitle_isStaApConcurrencySupported_showStaApString() {
+        final TetherSettings spyTetherSettings = spy(new TetherSettings());
+        when(spyTetherSettings.getContext()).thenReturn(mContext);
+        final Preference mockPreference = mock(Preference.class);
+        when(spyTetherSettings.findPreference(TetherSettings.KEY_TETHER_PREFS_FOOTER))
+            .thenReturn(mockPreference);
+        final WifiManager mockWifiManager = mock(WifiManager.class);
+        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mockWifiManager);
+        when(mockWifiManager.isStaApConcurrencySupported()).thenReturn(true);
+
+        spyTetherSettings.setFooterPreferenceTitle();
+
+        verify(mockPreference, never()).setTitle(R.string.tethering_footer_info);
+        verify(mockPreference).setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+    }
+
     private void setupIsTetherAvailable(boolean returnValue) {
         when(mConnectivityManager.isTetheringSupported()).thenReturn(true);
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 3528fb6..98d2918 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -130,14 +130,17 @@
     }
 
     @Test
-    public void getServiceSummary_invisibleType_showsDefaultSummary() {
+    public void getServiceSummary_invisibleType_shortcutDisabled_showsOffSummary() {
         setInvisibleFragmentType(mServiceInfo);
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
 
         final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
                 mServiceInfo, SERVICE_ENABLED);
 
-        assertThat(summary).isEqualTo(DEFAULT_SUMMARY);
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(R.string.accessibility_summary_shortcut_disabled),
+                        DEFAULT_SUMMARY));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.java
index 597e94e..714ef9a 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.java
@@ -21,7 +21,6 @@
 import android.content.Context;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.widget.LinearLayout;
 
 import androidx.preference.PreferenceViewHolder;
 
@@ -37,7 +36,7 @@
 @RunWith(RobolectricTestRunner.class)
 public class ShortcutPreferenceTest {
 
-    private static final String CHECKBOX_CLICKED = "checkbox_clicked";
+    private static final String TOGGLE_CLICKED = "toggle_clicked";
     private static final String SETTINGS_CLICKED = "settings_clicked";
 
     private ShortcutPreference mShortcutPreference;
@@ -48,7 +47,7 @@
             new ShortcutPreference.OnClickCallback() {
                 @Override
                 public void onToggleClicked(ShortcutPreference preference) {
-                    mResult = CHECKBOX_CLICKED;
+                    mResult = TOGGLE_CLICKED;
                 }
 
                 @Override
@@ -69,14 +68,13 @@
     }
 
     @Test
-    public void clickLinearLayout_checkboxClicked() {
+    public void clickToggle_toggleClicked() {
         mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
         mShortcutPreference.setOnClickCallback(mListener);
 
-        LinearLayout mainFrame = mPreferenceViewHolder.itemView.findViewById(R.id.main_frame);
-        mainFrame.performClick();
+        mPreferenceViewHolder.itemView.performClick();
 
-        assertThat(mResult).isEqualTo(CHECKBOX_CLICKED);
+        assertThat(mResult).isEqualTo(TOGGLE_CLICKED);
         assertThat(mShortcutPreference.isChecked()).isTrue();
     }
 
@@ -85,14 +83,14 @@
         mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
         mShortcutPreference.setOnClickCallback(mListener);
 
-        View settings = mPreferenceViewHolder.itemView.findViewById(android.R.id.widget_frame);
+        final View settings = mPreferenceViewHolder.itemView.findViewById(R.id.main_frame);
         settings.performClick();
 
         assertThat(mResult).isEqualTo(SETTINGS_CLICKED);
     }
 
     @Test
-    public void setCheckedTrue_getCheckedIsTrue() {
+    public void setCheckedTrue_getToggleIsTrue() {
         mShortcutPreference.setChecked(true);
 
         assertThat(mShortcutPreference.isChecked()).isEqualTo(true);
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index 35a2d19..e476c21 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -60,7 +60,7 @@
                 TEST_SERVICE_KEY_1);
 
         assertThat(shortcut.getComponentName()).isEqualTo(TEST_SERVICE_NAME_1);
-        assertThat(shortcut.getUserShortcutType()).isEqualTo(TEST_SERVICE_VALUE_1);
+        assertThat(shortcut.getType()).isEqualTo(TEST_SERVICE_VALUE_1);
     }
 
     @Test
@@ -69,7 +69,7 @@
                 TEST_SERVICE_KEY_2);
 
         shortcut.setComponentName(TEST_SERVICE_NAME_1);
-        shortcut.setUserShortcutType(TEST_SERVICE_VALUE_1);
+        shortcut.setType(TEST_SERVICE_VALUE_1);
 
         assertThat(shortcut.flattenToString()).isEqualTo(TEST_SERVICE_KEY_1);
     }
@@ -103,7 +103,7 @@
 
         final String str = (String) filtered.toArray()[0];
         final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(str);
-        final int type = shortcut.getUserShortcutType();
+        final int type = shortcut.getType();
         assertThat(type).isEqualTo(TEST_SERVICE_VALUE_1);
     }
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java
index ed85c01..88c2471 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java
@@ -64,13 +64,11 @@
 
     private ManageExternalStorageDetails mFragment;
 
-    private final HashMap<String, Integer> mPkgToOpModeMap = new HashMap<>();
     private final HashMap<Integer, Integer> mUidToOpModeMap = new HashMap<>();
 
     @Before
     public void setUp() {
         // Reset the global trackers
-        mPkgToOpModeMap.clear();
         mUidToOpModeMap.clear();
 
         //Start the mockin'
@@ -106,8 +104,7 @@
 
         // Verify that mAppOpsManager was called to allow the app-op
         verify(mAppOpsManager, times(1))
-                .setMode(anyInt(), anyInt(), nullable(String.class), anyInt());
-        assertThat(mPkgToOpModeMap).containsExactly(mockPkgName, AppOpsManager.MODE_ALLOWED);
+                .setUidMode(anyInt(), anyInt(), anyInt());
         assertThat(mUidToOpModeMap).containsExactly(mockUid, AppOpsManager.MODE_ALLOWED);
 
         // Verify the mSwitchPref was enabled
@@ -141,8 +138,7 @@
 
         // Verify that mAppOpsManager was called to deny the app-op
         verify(mAppOpsManager, times(1))
-                .setMode(anyInt(), anyInt(), nullable(String.class), anyInt());
-        assertThat(mPkgToOpModeMap).containsExactly(mockPkgName, AppOpsManager.MODE_ERRORED);
+                .setUidMode(anyInt(), anyInt(), anyInt());
         assertThat(mUidToOpModeMap).containsExactly(mockUid, AppOpsManager.MODE_ERRORED);
 
         // Verify the mSwitchPref was enabled
@@ -164,33 +160,32 @@
     }
 
     private void mockAppOpsOperations() {
-        Answer<Void> answerSetMode = invocation -> {
+        Answer<Void> answerSetUidMode = invocation -> {
             int code = invocation.getArgument(0);
             int uid = invocation.getArgument(1);
-            String packageName = invocation.getArgument(2);
-            int mode = invocation.getArgument(3);
+            int mode = invocation.getArgument(2);
 
             if (code != AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE) {
                 return null;
             }
 
-            mPkgToOpModeMap.put(packageName, mode);
             mUidToOpModeMap.put(uid, mode);
 
             return null;
         };
 
-        doAnswer(answerSetMode).when(mAppOpsManager)
-                .setMode(anyInt(), anyInt(), nullable(String.class), anyInt());
+        doAnswer(answerSetUidMode).when(mAppOpsManager)
+                .setUidMode(anyInt(), anyInt(), anyInt());
 
         Answer<PermissionState> answerPermState = invocation -> {
             String packageName = invocation.getArgument(0);
+            int uid = invocation.getArgument(1);
             PermissionState res = new PermissionState(packageName, null);
             res.permissionDeclared = false;
 
-            if (mPkgToOpModeMap.containsKey(packageName)) {
+            if (mUidToOpModeMap.containsKey(uid)) {
                 res.permissionDeclared = true;
-                res.appOpMode = mPkgToOpModeMap.get(packageName);
+                res.appOpMode = mUidToOpModeMap.get(uid);
             }
             return res;
         };
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
index 260fc41..fcc7f51 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceUpdaterTest.java
@@ -102,7 +102,7 @@
         mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
                 false, BluetoothDevicePreference.SortType.TYPE_DEFAULT);
         mBluetoothDeviceUpdater =
-            new BluetoothDeviceUpdater(mDashboardFragment, mDevicePreferenceCallback,
+            new BluetoothDeviceUpdater(mContext, mDashboardFragment, mDevicePreferenceCallback,
                     mLocalManager) {
                 @Override
                 public boolean isFilterMatched(CachedBluetoothDevice cachedBluetoothDevice) {
diff --git a/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java
index bc495f6..4276407 100644
--- a/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceControllerTest.java
@@ -38,6 +38,7 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -80,6 +81,7 @@
     }
 
     @Test
+    @Ignore
     public void onPreferenceChange_bluetoothConnected_shouldUpdateCodec() {
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
@@ -98,6 +100,7 @@
     }
 
     @Test
+    @Ignore
     public void updateState_option2Set_shouldUpdateToOption2() {
         when(mBluetoothCodecConfig.getSampleRate()).thenReturn(
                 BluetoothCodecConfig.SAMPLE_RATE_48000);
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
index 83a4880..101297b 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
@@ -49,9 +49,9 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
-import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowUserManager;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.List;
@@ -133,7 +133,8 @@
     @Config(shadows = {
             ShadowPictureColorModePreferenceController.class,
             ShadowAdbPreferenceController.class,
-            ShadowClearAdbKeysPreferenceController.class
+            ShadowClearAdbKeysPreferenceController.class,
+            ShadowWirelessDebuggingPreferenceController.class
     })
     public void searchIndex_pageEnabled_shouldNotAddKeysToNonIndexable() {
         final Context appContext = RuntimeEnvironment.application;
@@ -325,4 +326,12 @@
             return true;
         }
     }
+
+    @Implements(WirelessDebuggingPreferenceController.class)
+    public static class ShadowWirelessDebuggingPreferenceController {
+        @Implementation
+        protected boolean isAvailable() {
+            return true;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java b/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
index 7f4f530..56e898f 100644
--- a/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
@@ -27,7 +27,6 @@
 
 import androidx.lifecycle.LifecycleOwner;
 
-import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settings.widget.SwitchBar;
 import com.android.settings.widget.SwitchBarController;
@@ -48,8 +47,6 @@
 public class WirelessDebuggingEnablerTest {
 
     @Mock
-    private SettingsActivity mActivity;
-    @Mock
     private SwitchBar mSwitchBar;
     @Mock
     private WirelessDebuggingEnabler.OnEnabledListener mListener;
@@ -133,8 +130,6 @@
 
         mWirelessDebuggingEnabler.onSwitchToggled(true);
 
-        verify(mSwitchBar).setChecked(true);
-        verify(mListener).onEnabled(true);
         assertThat(Global.getInt(mContext.getContentResolver(),
                 Global.ADB_WIFI_ENABLED, -1)).isEqualTo(1);
         // Should also get a callback
@@ -151,8 +146,6 @@
 
         mWirelessDebuggingEnabler.onSwitchToggled(false);
 
-        verify(mSwitchBar).setChecked(false);
-        verify(mListener).onEnabled(false);
         assertThat(Global.getInt(mContext.getContentResolver(),
             Global.ADB_WIFI_ENABLED, -1)).isEqualTo(0);
         // Should also get a callback
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.java
index 802f871..afb1778 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.java
@@ -24,8 +24,10 @@
 import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothCodecConfig;
 import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -49,6 +51,7 @@
 public class AbstractBluetoothDialogPreferenceControllerTest {
 
     private static final String SUMMARY = "Test summary";
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
 
     @Mock
     private BluetoothA2dp mBluetoothA2dp;
@@ -62,6 +65,7 @@
     private BluetoothCodecConfig mCodecConfigAAC;
     private BluetoothCodecConfig mCodecConfigSBC;
     private BluetoothCodecConfig[] mCodecConfigs = new BluetoothCodecConfig[2];
+    private BluetoothDevice mActiveDevice;
     private Context mContext;
     private int mCurrentConfig;
     private LifecycleOwner mLifecycleOwner;
@@ -74,6 +78,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
         mController = spy(new AbstractBluetoothDialogPreferenceControllerImpl(mContext, mLifecycle,
                 mBluetoothA2dpConfigStore));
         mPreference = spy(new BaseBluetoothDialogPreferenceImpl(mContext));
@@ -87,6 +92,7 @@
         mController.displayPreference(mScreen);
         mCurrentConfig = mController.getCurrentConfigIndex();
         when(mPreference.generateSummary(mCurrentConfig)).thenReturn(SUMMARY);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
     }
 
     @Test
@@ -103,13 +109,15 @@
     @Test
     public void onIndexUpdated_checkFlow() {
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, null);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         when(mBluetoothA2dpConfigStore.createCodecConfig()).thenReturn(mCodecConfigAAC);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.onIndexUpdated(mCurrentConfig);
 
         verify(mController).writeConfigurationValues(mCurrentConfig);
-        verify(mBluetoothA2dp).setCodecConfigPreference(null, mCodecConfigAAC);
+        verify(mBluetoothA2dp).setCodecConfigPreference(
+                mActiveDevice, mCodecConfigAAC);
         assertThat(mPreference.getSummary()).isEqualTo(SUMMARY);
     }
 
@@ -134,14 +142,15 @@
         assertThat(mController.getCurrentCodecConfig()).isNull();
 
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(null);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(null);
         assertThat(mController.getCurrentCodecConfig()).isNull();
     }
 
     @Test
     public void getCurrentCodecConfig_verifyConfig() {
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, null);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         assertThat(mController.getCurrentCodecConfig()).isEqualTo(mCodecConfigAAC);
@@ -150,7 +159,8 @@
     @Test
     public void getSelectableConfigs_verifyConfig() {
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         assertThat(mController.getSelectableConfigs(null)).isEqualTo(mCodecConfigs);
@@ -159,7 +169,8 @@
     @Test
     public void getSelectableByCodecType_verifyConfig() {
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         assertThat(mController.getSelectableByCodecType(BluetoothCodecConfig.SOURCE_CODEC_TYPE_AAC))
@@ -169,7 +180,8 @@
     @Test
     public void getSelectableByCodecType_unavailable() {
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         assertThat(mController.getSelectableByCodecType(
@@ -179,7 +191,8 @@
     @Test
     public void onBluetoothServiceConnected_verifyBluetoothA2dpConfigStore() {
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         verify(mBluetoothA2dpConfigStore).setCodecType(mCodecConfigAAC.getCodecType());
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.java
index 0061fc0..0996ae3 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.java
@@ -23,8 +23,10 @@
 import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothCodecConfig;
 import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -47,6 +49,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothBitPerSampleDialogPreferenceControllerTest {
 
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
     @Mock
     private BluetoothA2dp mBluetoothA2dp;
     @Mock
@@ -58,6 +62,7 @@
     private BluetoothCodecStatus mCodecStatus;
     private BluetoothCodecConfig mCodecConfigAAC;
     private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothDevice mActiveDevice;
     private Context mContext;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
@@ -69,6 +74,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
         mController = spy(new BluetoothBitPerSampleDialogPreferenceController(mContext, mLifecycle,
                 mBluetoothA2dpConfigStore));
         mPreference = new BluetoothBitPerSampleDialogPreference(mContext);
@@ -86,13 +92,14 @@
                 BluetoothCodecConfig.BITS_PER_SAMPLE_24,
                 BluetoothCodecConfig.CHANNEL_MODE_NONE,
                 0, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
     }
 
     @Test
     public void writeConfigurationValues_selectDefault_setHighest() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         mController.writeConfigurationValues(0);
@@ -121,7 +128,7 @@
     public void getSelectableIndex_verifyList() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         List<Integer> indexList = new ArrayList<>();
         indexList.add(mPreference.getDefaultIndex());
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java
index 326cc22..81fb3fe 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java
@@ -23,8 +23,10 @@
 import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothCodecConfig;
 import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -47,6 +49,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothChannelModeDialogPreferenceControllerTest {
 
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
     @Mock
     private BluetoothA2dp mBluetoothA2dp;
     @Mock
@@ -58,6 +62,7 @@
     private BluetoothCodecStatus mCodecStatus;
     private BluetoothCodecConfig mCodecConfigAAC;
     private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothDevice mActiveDevice;
     private Context mContext;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
@@ -69,6 +74,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
         mController = new BluetoothChannelModeDialogPreferenceController(mContext, mLifecycle,
                 mBluetoothA2dpConfigStore);
         mPreference = new BluetoothChannelModeDialogPreference(mContext);
@@ -86,13 +92,14 @@
                 BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
                 BluetoothCodecConfig.CHANNEL_MODE_MONO | BluetoothCodecConfig.CHANNEL_MODE_STEREO,
                 0, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
     }
 
     @Test
     public void writeConfigurationValues_selectDefault_setHighest() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         mController.writeConfigurationValues(0);
@@ -118,7 +125,7 @@
     public void getSelectableIndex_verifyList() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         List<Integer> indexList = new ArrayList<>();
         indexList.add(mPreference.getDefaultIndex());
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
index f4ed811..7dd2906 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.java
@@ -24,8 +24,10 @@
 import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothCodecConfig;
 import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -45,6 +47,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothCodecDialogPreferenceControllerTest {
 
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
     @Mock
     private BluetoothA2dp mBluetoothA2dp;
     @Mock
@@ -61,10 +65,12 @@
     private BluetoothCodecConfig mCodecConfigAPTX;
     private BluetoothCodecConfig mCodecConfigAPTXHD;
     private BluetoothCodecConfig mCodecConfigLDAC;
+    private BluetoothDevice mActiveDevice;
     private Context mContext;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
 
+
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -72,6 +78,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
         mController = new BluetoothCodecDialogPreferenceController(mContext, mLifecycle,
                 mBluetoothA2dpConfigStore, mCallback);
         mPreference = new BluetoothCodecDialogPreference(mContext);
@@ -93,13 +100,14 @@
         mCodecConfigAPTXHD = new BluetoothCodecConfig(
                 BluetoothCodecConfig.SOURCE_CODEC_TYPE_APTX_HD);
         mCodecConfigLDAC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_LDAC);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
     }
 
     @Test
     public void writeConfigurationValues_selectDefault_setHighest() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         mController.writeConfigurationValues(0);
@@ -111,7 +119,7 @@
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC, mCodecConfigAPTX,
                 mCodecConfigAPTXHD, mCodecConfigLDAC, mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         mController.writeConfigurationValues(1);
@@ -138,7 +146,7 @@
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC, mCodecConfigAPTX,
                 mCodecConfigAPTXHD, mCodecConfigLDAC, mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.writeConfigurationValues(2);
 
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceControllerTest.java
index 1f0daa3..60476de 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceControllerTest.java
@@ -59,10 +59,10 @@
     private BluetoothHDAudioPreferenceController mController;
     private SwitchPreference mPreference;
     private BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
+    private BluetoothDevice mActiveDevice;
     private Context mContext;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
-    private BluetoothDevice mActiveDevice;
 
     @Before
     public void setup() {
@@ -91,7 +91,7 @@
     @Test
     public void updateState_codecSupported_setEnable() {
         when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
-        when(mBluetoothA2dp.supportsOptionalCodecs(mActiveDevice)).thenReturn(
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
                 mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.updateState(mPreference);
@@ -102,7 +102,7 @@
     @Test
     public void updateState_codecNotSupported_setDisable() {
         when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
-        when(mBluetoothA2dp.supportsOptionalCodecs(mActiveDevice)).thenReturn(
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
                 mBluetoothA2dp.OPTIONAL_CODECS_NOT_SUPPORTED);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.updateState(mPreference);
@@ -113,9 +113,9 @@
     @Test
     public void updateState_codecSupportedAndEnabled_checked() {
         when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
-        when(mBluetoothA2dp.supportsOptionalCodecs(mActiveDevice)).thenReturn(
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
                 mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
-        when(mBluetoothA2dp.getOptionalCodecsEnabled(mActiveDevice)).thenReturn(
+        when(mBluetoothA2dp.isOptionalCodecsEnabled(mActiveDevice)).thenReturn(
                 mBluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.updateState(mPreference);
@@ -126,9 +126,9 @@
     @Test
     public void updateState_codecSupportedAndDisabled_notChecked() {
         when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
-        when(mBluetoothA2dp.supportsOptionalCodecs(mActiveDevice)).thenReturn(
+        when(mBluetoothA2dp.isOptionalCodecsSupported(mActiveDevice)).thenReturn(
                 mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
-        when(mBluetoothA2dp.getOptionalCodecsEnabled(mActiveDevice)).thenReturn(
+        when(mBluetoothA2dp.isOptionalCodecsEnabled(mActiveDevice)).thenReturn(
                 mBluetoothA2dp.OPTIONAL_CODECS_PREF_DISABLED);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.updateState(mPreference);
@@ -143,7 +143,7 @@
         final boolean enabled = false;
         mController.onPreferenceChange(mPreference, enabled);
 
-        verify(mBluetoothA2dp).disableOptionalCodecs(null);
+        verify(mBluetoothA2dp).disableOptionalCodecs(mActiveDevice);
         verify(mBluetoothA2dp).setOptionalCodecsEnabled(mActiveDevice,
                 BluetoothA2dp.OPTIONAL_CODECS_PREF_DISABLED);
         verify(mCallback).onBluetoothHDAudioEnabled(enabled);
@@ -156,7 +156,7 @@
         final boolean enabled = true;
         mController.onPreferenceChange(mPreference, enabled);
 
-        verify(mBluetoothA2dp).enableOptionalCodecs(null);
+        verify(mBluetoothA2dp).enableOptionalCodecs(mActiveDevice);
         verify(mBluetoothA2dp).setOptionalCodecsEnabled(mActiveDevice,
                 BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED);
         verify(mCallback).onBluetoothHDAudioEnabled(enabled);
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java
index 35bd704..ef209a2 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java
@@ -23,8 +23,10 @@
 import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothCodecConfig;
 import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -44,6 +46,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothQualityDialogPreferenceControllerTest {
 
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
     @Mock
     private BluetoothA2dp mBluetoothA2dp;
     @Mock
@@ -55,6 +59,7 @@
     private BluetoothCodecStatus mCodecStatus;
     private BluetoothCodecConfig mCodecConfigAAC;
     private BluetoothCodecConfig mCodecConfigLDAC;
+    private BluetoothDevice mActiveDevice;
     private Context mContext;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
@@ -66,6 +71,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
         mController = new BluetoothQualityDialogPreferenceController(mContext, mLifecycle,
                 mBluetoothA2dpConfigStore);
         mPreference = new BluetoothQualityDialogPreference(mContext);
@@ -83,6 +89,7 @@
                 BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
                 BluetoothCodecConfig.CHANNEL_MODE_NONE,
                 1001, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
     }
 
     @Test
@@ -110,7 +117,7 @@
     public void updateState_codeTypeIsLDAC_enablePreference() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigLDAC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigLDAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.updateState(mPreference);
 
@@ -121,7 +128,7 @@
     public void updateState_codeTypeAAC_disablePreference() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigLDAC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         mController.updateState(mPreference);
 
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.java
index d274a57..c649fdf 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.java
@@ -23,8 +23,10 @@
 import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothA2dp;
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothCodecConfig;
 import android.bluetooth.BluetoothCodecStatus;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -47,6 +49,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothSampleRateDialogPreferenceControllerTest {
 
+    private static final String DEVICE_ADDRESS = "00:11:22:33:44:55";
+
     @Mock
     private BluetoothA2dp mBluetoothA2dp;
     @Mock
@@ -58,10 +62,12 @@
     private BluetoothCodecStatus mCodecStatus;
     private BluetoothCodecConfig mCodecConfigAAC;
     private BluetoothCodecConfig mCodecConfigSBC;
+    private BluetoothDevice mActiveDevice;
     private Context mContext;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
 
+
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
@@ -69,6 +75,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mBluetoothA2dpConfigStore = spy(new BluetoothA2dpConfigStore());
+        mActiveDevice = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(DEVICE_ADDRESS);
         mController = spy(new BluetoothSampleRateDialogPreferenceController(mContext, mLifecycle,
                 mBluetoothA2dpConfigStore));
         mPreference = new BluetoothSampleRateDialogPreference(mContext);
@@ -86,6 +93,7 @@
                 BluetoothCodecConfig.BITS_PER_SAMPLE_NONE,
                 BluetoothCodecConfig.CHANNEL_MODE_NONE,
                 0, 0, 0, 0);
+        when(mBluetoothA2dp.getActiveDevice()).thenReturn(mActiveDevice);
     }
 
     @Test
@@ -93,7 +101,8 @@
         mCodecConfigSBC = new BluetoothCodecConfig(BluetoothCodecConfig.SOURCE_CODEC_TYPE_SBC);
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
 
         mController.writeConfigurationValues(0);
@@ -125,7 +134,8 @@
     public void getSelectableIndex_verifyList() {
         BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
         mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
-        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dp.getCodecStatus(
+            mActiveDevice)).thenReturn(mCodecStatus);
         mController.onBluetoothServiceConnected(mBluetoothA2dp);
         List<Integer> indexList = new ArrayList<>();
         indexList.add(mController.getDefaultIndex());
diff --git a/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java b/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
index e558d62..1e59167 100644
--- a/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
+++ b/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
@@ -88,11 +88,11 @@
     public void setUp() throws RemoteException, NameNotFoundException {
         MockitoAnnotations.initMocks(this);
         mChanges = new CompatibilityChangeInfo[5];
-        mChanges[0] = new CompatibilityChangeInfo(1L, "Default_Enabled", 0, false, "");
-        mChanges[1] = new CompatibilityChangeInfo(2L, "Default_Disabled", 0, true, "");
-        mChanges[2] = new CompatibilityChangeInfo(3L, "Enabled_After_SDK_1_1", 1, false, "");
-        mChanges[3] = new CompatibilityChangeInfo(4L, "Enabled_After_SDK_1_2", 1, false, "");
-        mChanges[4] = new CompatibilityChangeInfo(5L, "Enabled_After_SDK_2", 2, false, "");
+        mChanges[0] = new CompatibilityChangeInfo(1L, "Default_Enabled", 0, false, false, "");
+        mChanges[1] = new CompatibilityChangeInfo(2L, "Default_Disabled", 0, true, false, "");
+        mChanges[2] = new CompatibilityChangeInfo(3L, "Enabled_After_SDK_1_1", 1, false, false, "");
+        mChanges[3] = new CompatibilityChangeInfo(4L, "Enabled_After_SDK_1_2", 1, false, false, "");
+        mChanges[4] = new CompatibilityChangeInfo(5L, "Enabled_After_SDK_2", 2, false, false, "");
         when(mPlatformCompat.listAllChanges()).thenReturn(mChanges);
         when(mPlatformCompat.getOverrideValidator()).thenReturn(mOverrideValidator);
         // By default, allow any change
@@ -205,7 +205,7 @@
         for (int i = 0; i < mChanges.length; ++i) {
             changesToAdd.add(new CompatibilityChangeInfo(mChanges[i].getId(), mChanges[i].getName(),
                     mChanges[i].getEnableAfterTargetSdk(), mChanges[i].getDisabled(),
-                    mChanges[i].getDescription()));
+                    mChanges[i].getLoggingOnly(), mChanges[i].getDescription()));
         }
 
         PreferenceCategory category = mDashboard.createChangeCategoryPreference(changesToAdd,
diff --git a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
index 964fce3..87f59f2 100644
--- a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
@@ -92,7 +92,7 @@
     public void onPreferenceChange_turnOn_returnOn() {
         mController.onPreferenceChange(null, true);
 
-        final int mode = Settings.System.getInt(mContentResolver, ADAPTIVE_SLEEP, 0);
+        final int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 0);
         assertThat(mode).isEqualTo(1);
     }
 
@@ -100,7 +100,7 @@
     public void onPreferenceChange_turnOff_returnOff() {
         mController.onPreferenceChange(null, false);
 
-        final int mode = Settings.System.getInt(mContentResolver, ADAPTIVE_SLEEP, 1);
+        final int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 1);
         assertThat(mode).isEqualTo(0);
     }
 
@@ -124,7 +124,7 @@
 
     @Test
     public void isChecked_yes() {
-        Settings.System.putInt(mContentResolver, ADAPTIVE_SLEEP, 1);
+        Settings.Secure.putInt(mContentResolver, ADAPTIVE_SLEEP, 1);
 
         assertThat(mController.isChecked()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java
index cec3bee..a0b2141 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSliceTest.java
@@ -23,12 +23,15 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.app.PendingIntent;
 import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
 
@@ -62,6 +65,7 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowBluetoothAdapter.class)
 public class BluetoothDevicesSliceTest {
 
     private static final String BLUETOOTH_MOCK_ADDRESS = "00:11:00:11:00:11";
@@ -96,6 +100,13 @@
 
         // Initial Bluetooth device list.
         mBluetoothDeviceList = new ArrayList<>();
+
+        final BluetoothAdapter defaultAdapter = BluetoothAdapter.getDefaultAdapter();
+        if (defaultAdapter != null) {
+            final ShadowBluetoothAdapter shadowBluetoothAdapter = Shadow.extract(defaultAdapter);
+            shadowBluetoothAdapter.setEnabled(true);
+            shadowBluetoothAdapter.setState(BluetoothAdapter.STATE_ON);
+        }
     }
 
     @After
@@ -114,7 +125,6 @@
     }
 
     @Test
-    @Config(shadows = ShadowBluetoothAdapter.class)
     public void getSlice_hasBluetoothHardware_shouldHaveBluetoothDevicesTitleAndPairNewDevice() {
         final Slice slice = mBluetoothDevicesSlice.getSlice();
 
@@ -127,12 +137,9 @@
     }
 
     @Test
-    @Config(shadows = ShadowBluetoothAdapter.class)
     public void getSlice_hasBluetoothDevices_shouldMatchBluetoothMockTitle() {
-        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
-        adapter.setState(BluetoothAdapter.STATE_ON);
         mockBluetoothDeviceList(1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         final Slice slice = mBluetoothDevicesSlice.getSlice();
 
@@ -141,39 +148,43 @@
     }
 
     @Test
-    @Config(shadows = ShadowBluetoothAdapter.class)
-    public void getSlice_hasMediaBluetoothDevice_shouldBuildMediaBluetoothAction() {
-        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
-        adapter.setState(BluetoothAdapter.STATE_ON);
-        mockBluetoothDeviceList(1 /* deviceCount */);
-        doReturn(true).when(mBluetoothDeviceList.get(0)).isConnectedA2dpDevice();
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+    public void getSlice_hasAvailableMediaDevice_shouldBuildPrimaryBluetoothAction() {
+        mockBluetoothDeviceList(1);
+        when(mBluetoothDeviceList.get(0).getDevice().isConnected()).thenReturn(true);
+        doReturn(true).when(mBluetoothDeviceList.get(0)).isConnectedHearingAidDevice();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         mBluetoothDevicesSlice.getSlice();
 
-        verify(mBluetoothDevicesSlice).buildMediaBluetoothAction(any());
+        verify(mBluetoothDevicesSlice).buildPrimaryBluetoothAction(any());
     }
 
     @Test
-    @Config(shadows = ShadowBluetoothAdapter.class)
-    public void getSlice_noMediaBluetoothDevice_shouldNotBuildMediaBluetoothAction() {
-        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
-        adapter.setState(BluetoothAdapter.STATE_ON);
-        mockBluetoothDeviceList(1 /* deviceCount */);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+    public void getSlice_hasPreviouslyConnectedDevice_shouldBuildPrimaryBluetoothAction() {
+        mockBluetoothDeviceList(1);
+        when(mBluetoothDeviceList.get(0).getDevice().isConnected()).thenReturn(false);
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         mBluetoothDevicesSlice.getSlice();
 
-        verify(mBluetoothDevicesSlice, never()).buildMediaBluetoothAction(any());
+        verify(mBluetoothDevicesSlice).buildPrimaryBluetoothAction(any());
     }
 
     @Test
-    @Config(shadows = ShadowBluetoothAdapter.class)
+    public void getSlice_hasNonMediaDeviceConnected_shouldNotBuildPrimaryBluetoothAction() {
+        mockBluetoothDeviceList(1);
+        when(mBluetoothDeviceList.get(0).getDevice().isConnected()).thenReturn(true);
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
+
+        mBluetoothDevicesSlice.getSlice();
+
+        verify(mBluetoothDevicesSlice, never()).buildPrimaryBluetoothAction(any());
+    }
+
+    @Test
     public void getSlice_exceedDefaultRowCount_shouldOnlyShowDefaultRows() {
-        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
-        adapter.setState(BluetoothAdapter.STATE_ON);
         mockBluetoothDeviceList(BluetoothDevicesSlice.DEFAULT_EXPANDED_ROW_COUNT + 1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
 
         final Slice slice = mBluetoothDevicesSlice.getSlice();
 
@@ -183,9 +194,10 @@
     }
 
     @Test
-    public void onNotifyChange_mediaDevice_shouldActivateDevice() {
+    public void onNotifyChange_connectedDevice_shouldActivateDevice() {
         mockBluetoothDeviceList(1);
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
+        doReturn(true).when(mBluetoothDeviceList.get(0)).isConnected();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
         final Intent intent = new Intent().putExtra(
                 BluetoothDevicesSlice.BLUETOOTH_DEVICE_HASH_CODE,
                 mCachedBluetoothDevice.hashCode());
@@ -195,7 +207,41 @@
         verify(mCachedBluetoothDevice).setActive();
     }
 
+    @Test
+    public void onNotifyChange_availableDisconnectedDevice_shouldConnectToDevice() {
+        mockBluetoothDeviceList(1);
+        doReturn(false).when(mBluetoothDeviceList.get(0)).isConnected();
+        doReturn(false).when(mBluetoothDeviceList.get(0)).isBusy();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
+        final Intent intent = new Intent().putExtra(
+                BluetoothDevicesSlice.BLUETOOTH_DEVICE_HASH_CODE,
+                mCachedBluetoothDevice.hashCode());
+
+        mBluetoothDevicesSlice.onNotifyChange(intent);
+
+        verify(mCachedBluetoothDevice).connect();
+    }
+
+    @Test
+    public void onNotifyChange_busyDisconnectedDevice_shouldDoNothing() {
+        mockBluetoothDeviceList(1);
+        doReturn(false).when(mBluetoothDeviceList.get(0)).isConnected();
+        doReturn(true).when(mBluetoothDeviceList.get(0)).isBusy();
+        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getPairedBluetoothDevices();
+        final Intent intent = new Intent().putExtra(
+                BluetoothDevicesSlice.BLUETOOTH_DEVICE_HASH_CODE,
+                mCachedBluetoothDevice.hashCode());
+
+        mBluetoothDevicesSlice.onNotifyChange(intent);
+
+        verify(mCachedBluetoothDevice, never()).setActive();
+        verify(mCachedBluetoothDevice, never()).connect();
+    }
+
     private void mockBluetoothDeviceList(int deviceCount) {
+        final BluetoothDevice device = mock(BluetoothDevice.class);
+        doReturn(BluetoothDevice.BOND_BONDED).when(device).getBondState();
+        doReturn(device).when(mCachedBluetoothDevice).getDevice();
         doReturn(BLUETOOTH_MOCK_TITLE).when(mCachedBluetoothDevice).getName();
         doReturn(BLUETOOTH_MOCK_SUMMARY).when(mCachedBluetoothDevice).getConnectionSummary();
         doReturn(BLUETOOTH_MOCK_ADDRESS).when(mCachedBluetoothDevice).getAddress();
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
index 7097889..cc4a870 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
@@ -26,11 +26,9 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.BluetoothManager;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.drawable.Drawable;
 import android.media.AudioManager;
 import android.media.session.MediaController;
 import android.media.session.MediaSession;
@@ -46,14 +44,12 @@
 import com.android.settings.R;
 import com.android.settings.slices.SliceBackgroundWorker;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
-import com.android.settingslib.bluetooth.A2dpProfile;
-import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.media.LocalMediaManager;
+import com.android.settingslib.media.MediaDevice;
 import com.android.settingslib.media.MediaOutputSliceConstants;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -73,31 +69,28 @@
         MediaOutputIndicatorSliceTest.ShadowSliceBackgroundWorker.class})
 public class MediaOutputIndicatorSliceTest {
 
-    private static final String TEST_A2DP_DEVICE_NAME = "Test_A2DP_BT_Device_NAME";
-    private static final String TEST_HAP_DEVICE_NAME = "Test_HAP_BT_Device_NAME";
-    private static final String TEST_A2DP_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
-    private static final String TEST_HAP_DEVICE_ADDRESS = "00:B2:B2:B2:B2:B2";
+    private static final String TEST_DEVICE_1_NAME = "test_device_1_name";
+    private static final String TEST_DEVICE_2_NAME = "test_device_2_name";
     private static final String TEST_PACKAGE_NAME = "com.test";
 
     private static MediaOutputIndicatorWorker sMediaOutputIndicatorWorker;
 
-    @Mock
-    private A2dpProfile mA2dpProfile;
-    @Mock
-    private HearingAidProfile mHearingAidProfile;
+    private final List<MediaDevice> mDevices = new ArrayList<>();
+
     @Mock
     private LocalBluetoothManager mLocalBluetoothManager;
     @Mock
-    private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
-    @Mock
     private MediaController mMediaController;
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
+    @Mock
+    private MediaDevice mDevice1;
+    @Mock
+    private MediaDevice mDevice2;
+    @Mock
+    private Drawable mTestDrawable;
 
-    private BluetoothAdapter mBluetoothAdapter;
-    private BluetoothDevice mA2dpDevice;
-    private BluetoothDevice mHapDevice;
-    private BluetoothManager mBluetoothManager;
     private Context mContext;
-    private List<BluetoothDevice> mDevicesList;
     private MediaOutputIndicatorSlice mMediaOutputIndicatorSlice;
     private AudioManager mAudioManager;
     private MediaSession.Token mToken;
@@ -107,7 +100,6 @@
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
-        mAudioManager.setMode(AudioManager.MODE_NORMAL);
         sMediaOutputIndicatorWorker = spy(new MediaOutputIndicatorWorker(mContext,
                 MEDIA_OUTPUT_INDICATOR_SLICE_URI));
         mToken = new MediaSession.Token(Process.myUid(), null);
@@ -115,109 +107,86 @@
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
         // Setup Bluetooth environment
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
-        mBluetoothManager = new BluetoothManager(mContext);
-        mBluetoothAdapter = mBluetoothManager.getAdapter();
-        when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBluetoothProfileManager);
-        when(mLocalBluetoothProfileManager.getA2dpProfile()).thenReturn(mA2dpProfile);
-        when(mLocalBluetoothProfileManager.getHearingAidProfile()).thenReturn(mHearingAidProfile);
-
-        // Setup A2dp device
-        mA2dpDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_A2DP_DEVICE_ADDRESS));
-        when(mA2dpDevice.getName()).thenReturn(TEST_A2DP_DEVICE_NAME);
-        when(mA2dpDevice.isConnected()).thenReturn(true);
-        // Setup HearingAid device
-        mHapDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_HAP_DEVICE_ADDRESS));
-        when(mHapDevice.getName()).thenReturn(TEST_HAP_DEVICE_NAME);
-        when(mHapDevice.isConnected()).thenReturn(true);
+        // Setup mock devices
+        when(mDevice1.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(mDevice1.getIcon()).thenReturn(mTestDrawable);
+        when(mDevice1.getMaxVolume()).thenReturn(100);
+        when(mDevice1.isConnected()).thenReturn(true);
+        when(mDevice2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(mDevice2.getIcon()).thenReturn(mTestDrawable);
+        when(mDevice2.getMaxVolume()).thenReturn(100);
+        when(mDevice2.isConnected()).thenReturn(false);
 
         mMediaOutputIndicatorSlice = new MediaOutputIndicatorSlice(mContext);
-        mDevicesList = new ArrayList<>();
+    }
+
+    @Test
+    public void getSlice_withConnectedDevice_verifyMetadata() {
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+
+        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
+        assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
+        assertThat(metadata.getSubtitle()).isEqualTo(TEST_DEVICE_1_NAME);
+        assertThat(metadata.isErrorSlice()).isFalse();
     }
 
     @Test
     public void getSlice_noConnectedDevice_returnErrorSlice() {
-        mDevicesList.clear();
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
+        mDevices.clear();
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
 
         final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
-    public void getSlice_noActiveDevice_verifyDefaultName() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(null);
-
-        // Verify slice title and subtitle
-        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
-        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
-        assertThat(metadata.getSubtitle()).isEqualTo(mContext.getText(
-                R.string.media_output_default_summary));
-        assertThat(metadata.isErrorSlice()).isFalse();
-    }
-
-    @Test
-    @Ignore
-    public void getSlice_A2dpDeviceActive_verifyName() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        when(mA2dpProfile.getActiveDevice()).thenReturn(mA2dpDevice);
-
-        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
-        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
-        assertThat(metadata.getSubtitle()).isEqualTo(TEST_A2DP_DEVICE_NAME);
-        assertThat(metadata.isErrorSlice()).isFalse();
-    }
-
-    @Test
-    @Ignore
-    public void getSlice_HADeviceActive_verifyName() {
-        mDevicesList.add(mHapDevice);
-        when(mHearingAidProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        when(mHearingAidProfile.getActiveDevices()).thenReturn(mDevicesList);
-
-        // Verify slice title and subtitle
-        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
-        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
-        assertThat(metadata.getSubtitle()).isEqualTo(TEST_HAP_DEVICE_NAME);
-        assertThat(metadata.isErrorSlice()).isFalse();
-    }
-
-    @Test
     public void getSlice_audioModeIsInCommunication_returnErrorSlice() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
         mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
 
         final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
     public void getSlice_audioModeIsRingtone_returnErrorSlice() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
         mAudioManager.setMode(AudioManager.MODE_RINGTONE);
 
         final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
     public void getSlice_audioModeIsInCall_returnErrorSlice() {
-        mDevicesList.add(mA2dpDevice);
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
+        mDevices.add(mDevice1);
+        mDevices.add(mDevice2);
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice();
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
 
         final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
index b6231a3..d96541d 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
@@ -22,6 +22,7 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -38,9 +39,11 @@
 import android.media.session.PlaybackState;
 import android.net.Uri;
 
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
 import com.android.settingslib.bluetooth.BluetoothEventManager;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.media.LocalMediaManager;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -56,7 +59,7 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothUtils.class})
+@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
 public class MediaOutputIndicatorWorkerTest {
     private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
 
@@ -68,6 +71,8 @@
     private MediaSessionManager mMediaSessionManager;
     @Mock
     private MediaController mMediaController;
+    @Mock
+    private LocalMediaManager mLocalMediaManager;
 
     private Context mContext;
     private MediaOutputIndicatorWorker mMediaOutputIndicatorWorker;
@@ -95,29 +100,40 @@
 
     @Test
     public void onSlicePinned_registerCallback() {
+        mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
         mMediaOutputIndicatorWorker.onSlicePinned();
+
         verify(mBluetoothEventManager).registerCallback(mMediaOutputIndicatorWorker);
         verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
+        verify(mLocalMediaManager).registerCallback(mMediaOutputIndicatorWorker);
+        verify(mLocalMediaManager).startScan();
     }
 
     @Test
     public void onSliceUnpinned_unRegisterCallback() {
+        mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
         mMediaOutputIndicatorWorker.onSlicePinned();
         mMediaOutputIndicatorWorker.onSliceUnpinned();
+
         verify(mBluetoothEventManager).unregisterCallback(mMediaOutputIndicatorWorker);
         verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
+        verify(mLocalMediaManager).unregisterCallback(mMediaOutputIndicatorWorker);
+        verify(mLocalMediaManager).stopScan();
     }
 
     @Test
     public void onReceive_shouldNotifyChange() {
         mMediaOutputIndicatorWorker.onSlicePinned();
+        // onSlicePinned will registerCallback() and get first callback. Callback triggers this at
+        // the first time.
+        verify(mResolver, times(1)).notifyChange(URI, null);
 
         final Intent intent = new Intent(AudioManager.STREAM_DEVICES_CHANGED_ACTION);
         for (BroadcastReceiver receiver : mShadowApplication.getReceiversForIntent(intent)) {
             receiver.onReceive(mContext, intent);
         }
-
-        verify(mResolver).notifyChange(URI, null);
+        // Intent receiver triggers notifyChange() again
+        verify(mResolver, times(2)).notifyChange(URI, null /* observer */);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java
index f71c090..03d85b2 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputSliceTest.java
@@ -36,6 +36,7 @@
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
 import android.media.AudioManager;
+import android.text.TextUtils;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
@@ -67,7 +68,9 @@
 public class MediaOutputSliceTest {
 
     private static final String TEST_DEVICE_1_ID = "test_device_1_id";
+    private static final String TEST_DEVICE_2_ID = "test_device_2_id";
     private static final String TEST_DEVICE_1_NAME = "test_device_1_name";
+    private static final String TEST_DEVICE_2_NAME = "test_device_2_name";
     private static final int TEST_DEVICE_1_ICON =
             com.android.internal.R.drawable.ic_bt_headphones_a2dp;
 
@@ -98,7 +101,8 @@
         mShadowBluetoothAdapter.setEnabled(true);
 
         mMediaOutputSlice = new MediaOutputSlice(mContext);
-        mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, MEDIA_OUTPUT_SLICE_URI);
+        mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext,
+                MEDIA_OUTPUT_SLICE_URI);
         mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
         mMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
         mMediaOutputSlice.init(mMediaDeviceUpdateWorker);
@@ -147,6 +151,19 @@
         when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
         when(device.getIcon()).thenReturn(mTestDrawable);
         when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(false);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mDevices.add(device);
+        mDevices.add(device2);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
         when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
 
         final Slice mediaSlice = mMediaOutputSlice.getSlice();
@@ -164,16 +181,158 @@
         when(device.getIcon()).thenReturn(mTestDrawable);
         when(device.getMaxVolume()).thenReturn(100);
         when(device.isConnected()).thenReturn(false);
-
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(false);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_BLUETOOTH_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
         mDevices.add(device);
+        mDevices.add(device2);
         mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
 
         final Slice mediaSlice = mMediaOutputSlice.getSlice();
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
 
         final SliceAction primaryAction = metadata.getPrimaryAction();
-        assertThat(primaryAction.getTitle().toString()).isEqualTo(TEST_DEVICE_1_NAME + " ("
-                + mContext.getText(R.string.media_output_disconnected_status) + ")");
+        assertThat(primaryAction.getTitle().toString()).isEqualTo(mContext.getString(
+                R.string.media_output_disconnected_status, TEST_DEVICE_1_NAME));
+    }
+
+    @Test
+    public void getSlice_inGroupState_checkSliceSize() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(true);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectedDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        when(mMediaDeviceUpdateWorker.getSessionVolumeMax()).thenReturn(100);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+
+        assertThat(SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM, null).size())
+                .isEqualTo(mDevices.size() + 1);
+    }
+
+    @Test
+    public void getSlice_notInGroupState_checkSliceSize() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(true);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectableDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+
+        assertThat(SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM, null).size())
+                .isEqualTo(mDevices.size());
+    }
+
+    @Test
+    public void getSlice_singleCastDevice_notContainGroupIconText() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(null);
+        mSelectedDevices.add(device);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+
+        final String sliceInfo = SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM,
+                null).toString();
+
+        assertThat(TextUtils.indexOf(sliceInfo, mContext.getText(R.string.add))).isEqualTo(-1);
+    }
+
+    @Test
+    public void getSlice_multipleCastDevices_containGroupIconText() {
+        final List<MediaDevice> mSelectedDevices = new ArrayList<>();
+        final List<MediaDevice> mSelectableDevices = new ArrayList<>();
+        mDevices.clear();
+        final MediaDevice device = mock(MediaDevice.class);
+        when(device.getName()).thenReturn(TEST_DEVICE_1_NAME);
+        when(device.getIcon()).thenReturn(mTestDrawable);
+        when(device.getMaxVolume()).thenReturn(100);
+        when(device.isConnected()).thenReturn(true);
+        when(device.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device.getId()).thenReturn(TEST_DEVICE_1_ID);
+        final MediaDevice device2 = mock(MediaDevice.class);
+        when(device2.getName()).thenReturn(TEST_DEVICE_2_NAME);
+        when(device2.getIcon()).thenReturn(mTestDrawable);
+        when(device2.getMaxVolume()).thenReturn(100);
+        when(device2.isConnected()).thenReturn(true);
+        when(device2.getDeviceType()).thenReturn(MediaDevice.MediaDeviceType.TYPE_CAST_DEVICE);
+        when(device2.getId()).thenReturn(TEST_DEVICE_2_ID);
+        mSelectedDevices.add(device);
+        mSelectableDevices.add(device2);
+        when(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
+        mDevices.add(device);
+        mDevices.add(device2);
+        when(mLocalMediaManager.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
+        when(mLocalMediaManager.getSelectableMediaDevice()).thenReturn(mSelectableDevices);
+        mMediaDeviceUpdateWorker.onDeviceListUpdate(mDevices);
+
+        final Slice mediaSlice = mMediaOutputSlice.getSlice();
+        String sliceInfo = SliceQuery.findAll(mediaSlice, FORMAT_SLICE, HINT_LIST_ITEM,
+                null).toString();
+
+        assertThat(TextUtils.indexOf(sliceInfo, mContext.getText(R.string.add))).isNotEqualTo(-1);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java
index f47c0c5..54c3683 100644
--- a/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java
@@ -32,13 +32,13 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -55,7 +55,8 @@
 
     @Mock
     private PackageManager mPackageManager;
-
+    @Mock
+    private AirplaneModeEnabler mAirplaneModeEnabler;
     private Context mContext;
     private ContentResolver mResolver;
     private PreferenceManager mPreferenceManager;
@@ -126,38 +127,18 @@
     }
 
     @Test
-    @Ignore
     public void airplaneModePreference_testSetValue_updatesCorrectly() {
-        // Airplane mode default off
-        Settings.Global.putInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
-
-        mController.displayPreference(mScreen);
-        mController.onResume();
-
-        assertThat(mPreference.isChecked()).isFalse();
-
-        assertThat(mController.isChecked()).isFalse();
 
         // Set airplane mode ON by setChecked
-        boolean updated = mController.setChecked(true);
-        assertThat(updated).isTrue();
+        mController.setAirplaneModeEnabler(mAirplaneModeEnabler);
+        assertThat(mController.setChecked(true)).isTrue();
 
         // Check return value if set same status.
-        updated = mController.setChecked(true);
-        assertThat(updated).isFalse();
-
-        // UI is updated
-        assertThat(mPreference.isChecked()).isTrue();
-
-        // Settings status changed.
-        int updatedValue = Settings.Global.getInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
-        assertThat(updatedValue).isEqualTo(ON);
+        when(mAirplaneModeEnabler.isAirplaneModeOn()).thenReturn(true);
+        assertThat(mController.setChecked(true)).isFalse();
 
         // Set to OFF
         assertThat(mController.setChecked(false)).isTrue();
-        assertThat(mPreference.isChecked()).isFalse();
-        updatedValue = Settings.Global.getInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
-        assertThat(updatedValue).isEqualTo(OFF);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
index e2410c1..6d46f9c 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
@@ -33,6 +33,7 @@
 import android.provider.Settings;
 import android.provider.Settings.Global;
 import android.telephony.PhoneStateListener;
+import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -46,7 +47,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -63,6 +63,8 @@
     @Mock
     private TelephonyManager mTelephonyManager;
     @Mock
+    private SubscriptionManager mSubscriptionManager;
+    @Mock
     private PreferenceScreen mScreen;
 
     private Lifecycle mLifecycle;
@@ -77,6 +79,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
+        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
         mPreference = new Preference(mContext);
         mPreference.setKey(MobileNetworkPreferenceController.KEY_MOBILE_NETWORK_SETTINGS);
     }
@@ -121,7 +124,6 @@
     }
 
     @Test
-    @Ignore
     public void serviceStateChange_shouldUpdatePrefSummary() {
         final String testCarrierName = "test";
         final Preference mPreference = mock(Preference.class);
@@ -138,8 +140,8 @@
         verify(mTelephonyManager).listen(mController.mPhoneStateListener,
                 PhoneStateListener.LISTEN_SERVICE_STATE);
 
-        // Trigger listener update
-        when(mTelephonyManager.getNetworkOperatorName()).thenReturn(testCarrierName);
+        doReturn(testCarrierName).when(mController).getSummary();
+
         mController.mPhoneStateListener.onServiceStateChanged(null);
 
         // Carrier name should be set.
@@ -147,7 +149,6 @@
     }
 
     @Test
-    @Ignore
     public void airplaneModeTurnedOn_shouldDisablePreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Global.AIRPLANE_MODE_ON, 1);
@@ -158,7 +159,6 @@
     }
 
     @Test
-    @Ignore
     public void airplaneModeTurnedOffAndNoUserRestriction_shouldEnablePreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Global.AIRPLANE_MODE_ON, 0);
@@ -170,7 +170,6 @@
     }
 
     @Test
-    @Ignore
     public void airplaneModeTurnedOffAndHasUserRestriction_shouldDisablePreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Global.AIRPLANE_MODE_ON, 0);
diff --git a/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragmentTest.java b/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragmentTest.java
index 17c121a..6aef699 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/ContactDiscoveryDialogFragmentTest.java
@@ -19,22 +19,21 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
+import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.telephony.ims.ImsManager;
 import android.telephony.ims.ImsRcsManager;
 import android.telephony.ims.RcsUceAdapter;
 import android.widget.Button;
 
-import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -42,8 +41,11 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowAlertDialog.class)
 public class ContactDiscoveryDialogFragmentTest {
     private static final int TEST_SUB_ID = 2;
 
@@ -67,15 +69,17 @@
     @Test
     public void testCancelDoesNothing() throws Exception {
         final AlertDialog dialog = startDialog();
+        assertThat(dialog).isNotNull();
         final Button negativeButton = dialog.getButton(DialogInterface.BUTTON_NEGATIVE);
         assertThat(negativeButton).isNotNull();
         negativeButton.performClick();
-        verify(mRcsUceAdapter, never()).setUceSettingEnabled(any());
+        verify(mRcsUceAdapter, never()).setUceSettingEnabled(anyBoolean());
     }
 
     @Test
     public void testOkEnablesDiscovery() throws Exception {
         final AlertDialog dialog = startDialog();
+        assertThat(dialog).isNotNull();
         final Button positiveButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
         assertThat(positiveButton).isNotNull();
         positiveButton.performClick();
@@ -84,6 +88,6 @@
 
     private AlertDialog startDialog() {
         mDialogFragmentUT.show(mActivity.getSupportFragmentManager(), null);
-        return ShadowAlertDialogCompat.getLatestAlertDialog();
+        return ShadowAlertDialog.getLatestAlertDialog();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index 2f3aecc..57729ea 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -44,7 +44,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -61,6 +60,9 @@
     private static final int SUB_ID = 2;
     public static final String KEY = "enabled_network";
 
+    private static final long ALLOWED_ALL_NETWORK_TYPE = -1;
+    private static final long DISABLED_5G_NETWORK_TYPE = ~TelephonyManager.NETWORK_TYPE_BITMASK_NR;
+
     @Mock
     private TelephonyManager mTelephonyManager;
     @Mock
@@ -92,19 +94,20 @@
         doReturn(mContext).when(mContext).createPackageContext(anyString(), anyInt());
         doReturn(mServiceState).when(mTelephonyManager).getServiceState();
         mPersistableBundle = new PersistableBundle();
+        doReturn(mPersistableBundle).when(mCarrierConfigManager).getConfig();
         doReturn(mPersistableBundle).when(mCarrierConfigManager).getConfigForSubId(SUB_ID);
-
         mPreference = new ListPreference(mContext);
-        mPreference.setEntries(R.array.enabled_networks_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_values);
         mController = new EnabledNetworkModePreferenceController(mContext, KEY);
+        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
         mController.init(mLifecycle, SUB_ID);
         mPreference.setKey(mController.getPreferenceKey());
     }
 
     @Test
     public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
+        mPersistableBundle.putBoolean(
+                CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
                 true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
@@ -140,40 +143,118 @@
     }
 
     @Test
-    public void init_initShow4GForLTE() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL,
-                true);
+    public void updateState_LteWorldPhone_GlobalHasLte() {
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
 
-        mController.init(mLifecycle, SUB_ID);
+        mController.updateState(mPreference);
 
-        assertThat(mController.mShow4GForLTE).isTrue();
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
     }
 
     @Test
-    public void init_initDisplay5gList_returnTrue() {
-        long testBitmask = TelephonyManager.NETWORK_TYPE_BITMASK_NR
-                | TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
-        long allowedNetworkTypes = -1;
-        doReturn(testBitmask).when(mTelephonyManager).getSupportedRadioAccessFamily();
-        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
+    public void updateState_5gWorldPhone_GlobalHasNr() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
         mController.init(mLifecycle, SUB_ID);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
 
-        assertThat(mController.mDisplay5gList).isTrue();
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
     }
 
     @Test
-    public void checkSupportedRadioBitmask_nrBitmask_returnTrue() {
-        long testBitmask = TelephonyManager.NETWORK_TYPE_BITMASK_NR
-                | TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
+    public void updateState_selectedOn5gItem() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mController.init(mLifecycle, SUB_ID);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
 
-        assertThat(mController.checkSupportedRadioBitmask(testBitmask,
-                TelephonyManager.NETWORK_TYPE_BITMASK_NR)).isTrue();
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_disAllowed5g_5gOptionHidden() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .doesNotContain(
+                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_disAllowed5g_selectOn4gOption() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_GlobalDisAllowed5g_GlobalWithoutNR() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .doesNotContain(
+                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @Test
+    public void updateState_GlobalDisAllowed5g_SelectOnGlobal() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(mLifecycle, SUB_ID);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
+                TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
     }
 
     @Test
     public void updateState_updateByNetworkMode() {
-        long allowedNetworkTypes = -1;
-        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
                 TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
@@ -187,8 +268,7 @@
 
     @Test
     public void updateState_updateByNetworkMode_useDefaultValue() {
-        long allowedNetworkTypes = -1;
-        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
                 TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
@@ -199,208 +279,13 @@
                 String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
     }
 
-    /**
-     * @string/enabled_networks_cdma_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_3G    , 4 |@string/network_lte_pure, 8
-     * @string/network_1x    , 5 |@string/network_3G      , 4
-     * @string/network_global, 10|@string/network_1x      , 5
-     *                           |@string/network_global  , 27
-     *
-     * @string/enabled_networks_cdma_only_lte_choices
-     *         Before            |        After
-     * @string/network_lte   , 8 |@string/network_5G + @string/network_recommended , 25
-     * @string/network_global, 10|@string/network_lte_pure, 8
-     *                           |@string/network_global  , 27
-     */
-    @Test
-    public void add5gListItem_lteCdma_5gLteCdma() {
-        //case#1
-        mPreference.setEntries(R.array.enabled_networks_cdma_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_cdma_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_1x)
-                , mContext.getString(R.string.network_global)};
-        CharSequence[] testEntryValues = {"25", "8", "4", "5", "27"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-
-        //case#2
-        mPreference.setEntries(R.array.enabled_networks_cdma_only_lte_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_cdma_only_lte_values);
-        CharSequence[] testEntries1 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_global)};
-        CharSequence[] testEntryValues1 = {"25", "8", "27"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries1);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues1);
-    }
-
-    /**
-     * @string/enabled_networks_except_gsm_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_except_gsm_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     *                        |@string/network_3G      , 0
-     *
-     * @string/enabled_networks_4g_choices
-     *         Before         |        After
-     * @string/network_4G , 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_4G_pure , 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     *
-     * @string/enabled_networks_choices
-     *         Before         |        After
-     * @string/network_lte, 9 |@string/network_5G + @string/network_recommended , 26
-     * @string/network_3G , 0 |@string/network_lte_pure, 9
-     * @string/network_2G , 1 |@string/network_3G      , 0
-     *                        |@string/network_2G      , 1
-     */
-    @Test
-    public void add5gListItem_lteGsm_5gLteGsm() {
-        //csae#1
-        mPreference.setEntries(R.array.enabled_networks_except_gsm_4g_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_except_gsm_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_4G_pure)
-                , mContext.getString(R.string.network_3G)};
-        CharSequence[] testEntryValues = {"26", "9", "0"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-
-        //case#2
-        mPreference.setEntries(R.array.enabled_networks_except_gsm_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_except_gsm_values);
-        CharSequence[] testEntries1 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)};
-        CharSequence[] testEntryValues1 = {"26", "9", "0"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries1);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues1);
-
-        //case#3
-        mPreference.setEntries(R.array.enabled_networks_4g_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_values);
-        CharSequence[] testEntries2 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_4G_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues2 = {"26", "9", "0", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries2);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues2);
-
-        //case#4
-        mPreference.setEntries(R.array.enabled_networks_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_values);
-        CharSequence[] testEntries3 = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues3 = {"26", "9", "0", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries3);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues3);
-    }
-
-    /**
-     * @string/preferred_network_mode_choices_world_mode
-     *         Before         |        After
-     * "Global"           , 10|@string/network_global  , 27
-     * "LTE / CDMA"       , 8 |"LTE / CDMA"            , 8
-     * "LTE / GSM / UMTS" , 9 |"LTE / GSM / UMTS"      , 9
-     */
-    @Test
-    public void add5gListItem_worldPhone_Global() {
-        mPreference.setEntries(R.array.preferred_network_mode_choices_world_mode);
-        mPreference.setEntryValues(R.array.preferred_network_mode_values_world_mode);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_global)
-                , "LTE / CDMA"
-                , "LTE / GSM / UMTS"};
-        CharSequence[] testEntryValues = {"27", "8", "9"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-    }
-
-    /**
-     * @string/enabled_networks_tdscdma_choices
-     *         Before         |        After
-     * @string/network_lte, 22|@string/network_5G + @string/network_recommended , 33
-     * @string/network_3G , 18|@string/network_lte_pure, 22
-     * @string/network_2G , 1 |@string/network_3G      , 18
-     *                        |@string/network_2G      , 1
-     */
-    @Test
-    public void add5gListItem_td_5gTd() {
-        mPreference.setEntries(R.array.enabled_networks_tdscdma_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_tdscdma_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_5G)
-                + mContext.getString(R.string.network_recommended)
-                , mContext.getString(R.string.network_lte_pure)
-                , mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues = {"33", "22", "18", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-    }
-
-    @Test
-    public void add5gListItem_noLte_no5g() {
-        mPreference.setEntries(R.array.enabled_networks_except_lte_choices);
-        mPreference.setEntryValues(R.array.enabled_networks_except_lte_values);
-        CharSequence[] testEntries = {mContext.getString(R.string.network_3G)
-                , mContext.getString(R.string.network_2G)};
-        CharSequence[] testEntryValues = {"0", "1"};
-
-        mController.add5gListItem(mPreference);
-
-        assertThat(mPreference.getEntries()).isEqualTo(testEntries);
-        assertThat(mPreference.getEntryValues()).isEqualTo(testEntryValues);
-    }
-
     @Test
     public void onPreferenceChange_updateSuccess() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
         doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
                 getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
+        mController.updateState(mPreference);
         mController.onPreferenceChange(mPreference,
                 String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
@@ -410,9 +295,11 @@
 
     @Test
     public void onPreferenceChange_updateFail() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
         doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
                 getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
+        mController.updateState(mPreference);
         mController.onPreferenceChange(mPreference,
                 String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
@@ -423,8 +310,7 @@
     @Test
     public void preferredNetworkModeNotification_preferenceUpdates() {
         PreferenceScreen screen = mock(PreferenceScreen.class);
-        long allowedNetworkTypes = -1;
-        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
         doReturn(mPreference).when(screen).findPreference(KEY);
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + SUB_ID,
@@ -448,4 +334,32 @@
                 TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY);
         assertThat(mPreference.getSummary()).isEqualTo("2G");
     }
+
+    private void mockEnabledNetworkMode(int networkMode) {
+        if (networkMode == TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
+        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
+        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
+        }
+    }
+
+    private void mockAllowedNetworkTypes(long allowedNetworkType) {
+        doReturn(allowedNetworkType).when(mTelephonyManager).getAllowedNetworkTypes();
+    }
+
+    private void mockAccessFamily(int networkMode) {
+        doReturn(MobileNetworkUtils.getRafFromNetworkType(networkMode))
+                .when(mTelephonyManager)
+                .getSupportedRadioAccessFamily();
+    }
+
+    private void mockPhoneType(int phoneType) {
+        doReturn(TelephonyManager.PHONE_TYPE_GSM).when(mTelephonyManager).getPhoneType();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/panel/FakePanelContent.java b/tests/robotests/src/com/android/settings/panel/FakePanelContent.java
index 8888093..4d91f52 100644
--- a/tests/robotests/src/com/android/settings/panel/FakePanelContent.java
+++ b/tests/robotests/src/com/android/settings/panel/FakePanelContent.java
@@ -44,6 +44,7 @@
 
     private CharSequence mSubTitle;
     private IconCompat mIcon;
+    private int mViewType;
 
     @Override
     public IconCompat getIcon() {
@@ -82,4 +83,13 @@
     public int getMetricsCategory() {
         return SettingsEnums.TESTING;
     }
+
+    public void setViewType(int viewType) {
+        mViewType = viewType;
+    }
+
+    @Override
+    public int getViewType() {
+        return mViewType;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
index 37036c4..9e96d0f 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
@@ -16,19 +16,23 @@
 
 package com.android.settings.panel;
 
+import static com.android.settings.panel.PanelContent.VIEW_TYPE_SLIDER;
 import static com.android.settings.panel.PanelSlicesAdapter.MAX_NUM_OF_SLICES;
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.net.Uri;
+import android.view.LayoutInflater;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
@@ -36,23 +40,31 @@
 import androidx.slice.Slice;
 
 import com.android.settings.R;
+import com.android.settings.panel.PanelSlicesAdapter.SliceRowViewHolder;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.android.controller.ActivityController;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
 
 import java.util.LinkedHashMap;
 import java.util.Map;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = PanelSlicesAdapterTest.ShadowLayoutInflater.class)
 public class PanelSlicesAdapterTest {
 
+    private static LayoutInflater sLayoutInflater;
+
     private Context mContext;
     private PanelFragment mPanelFragment;
     private PanelFeatureProvider mPanelFeatureProvider;
@@ -104,7 +116,7 @@
         final PanelSlicesAdapter adapter =
                 new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
         final ViewGroup view = new FrameLayout(mContext);
-        final PanelSlicesAdapter.SliceRowViewHolder viewHolder =
+        final SliceRowViewHolder viewHolder =
                 adapter.onCreateViewHolder(view, 0);
 
         assertThat(adapter.getItemCount()).isEqualTo(MAX_NUM_OF_SLICES);
@@ -119,11 +131,52 @@
                 new PanelSlicesAdapter(mPanelFragment, mData, 0 /* metrics category */);
         final int position = 0;
         final ViewGroup view = new FrameLayout(mContext);
-        final PanelSlicesAdapter.SliceRowViewHolder viewHolder =
+        final SliceRowViewHolder viewHolder =
                 adapter.onCreateViewHolder(view, 0 /* view type*/);
 
         adapter.onBindViewHolder(viewHolder, position);
 
         assertThat(viewHolder.isDividerAllowedAbove()).isFalse();
     }
+
+    @Test
+    public void onCreateViewHolder_viewTypeSlider_verifyLayout() {
+        final PanelSlicesAdapter adapter =
+                new PanelSlicesAdapter(mPanelFragment, mData, 0);
+        final ViewGroup view = new FrameLayout(mContext);
+        final ArgumentCaptor<Integer> intArgumentCaptor = ArgumentCaptor.forClass(Integer.class);
+
+        adapter.onCreateViewHolder(view, VIEW_TYPE_SLIDER);
+
+        verify(sLayoutInflater).inflate(intArgumentCaptor.capture(), eq(view), eq(false));
+        assertThat(intArgumentCaptor.getValue()).isEqualTo(R.layout.panel_slice_slider_row);
+    }
+
+    @Test
+    public void onCreateViewHolder_viewTypeDefault_verifyLayout() {
+        final PanelSlicesAdapter adapter =
+                new PanelSlicesAdapter(mPanelFragment, mData, 0);
+        final ViewGroup view = new FrameLayout(mContext);
+        final ArgumentCaptor<Integer> intArgumentCaptor = ArgumentCaptor.forClass(Integer.class);
+
+        adapter.onCreateViewHolder(view, 0);
+
+        verify(sLayoutInflater).inflate(intArgumentCaptor.capture(), eq(view), eq(false));
+        assertThat(intArgumentCaptor.getValue()).isEqualTo(R.layout.panel_slice_row);
+    }
+
+    @Implements(LayoutInflater.class)
+    public static class ShadowLayoutInflater {
+
+        @Implementation
+        public static LayoutInflater from(Context context) {
+            final LayoutInflater inflater =
+                    (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+            if (inflater == null) {
+                throw new AssertionError("LayoutInflater not found.");
+            }
+            sLayoutInflater = spy(inflater);
+            return sLayoutInflater;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
index 3439ca4..720ad20 100644
--- a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
@@ -32,6 +32,7 @@
 import android.view.TextureView;
 import android.view.View;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
 
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceViewHolder;
@@ -60,6 +61,9 @@
     private ImageView fakePreview;
     @Mock
     private ImageView fakePlayButton;
+    @Mock
+    private LinearLayout mAnimationView;
+
     private Context mContext;
     private VideoPreference mVideoPreference;
     private PreferenceViewHolder mPreferenceViewHolder;
@@ -73,6 +77,7 @@
                 new MediaAnimationController(mContext, R.raw.accessibility_screen_magnification));
         mVideoPreference = new VideoPreference(mContext, null /* attrs */);
         mVideoPreference.mAnimationController = mAnimationController;
+        mVideoPreference.mAnimationView = mAnimationView;
         when(mAnimationController.getVideoWidth()).thenReturn(VIDEO_WIDTH);
         when(mAnimationController.getVideoHeight()).thenReturn(VIDEO_HEIGHT);
 
@@ -157,6 +162,13 @@
         assertThat(vp2.mAnimationController instanceof VectorAnimationController).isTrue();
     }
 
+    @Test
+    public void setBackgroundColor_shouldBeCalled() {
+        mVideoPreference.setBackgroundColor(1111);
+
+        assertThat(mVideoPreference.mBackgroundResId).isEqualTo(1111);
+    }
+
     public static class TestFragment extends PreferenceFragmentCompat {
         @Override
         public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
diff --git a/tests/robotests/src/com/android/settings/wifi/ConnectedWifiEntryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/ConnectedWifiEntryPreferenceTest.java
new file mode 100644
index 0000000..401fdcf
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/ConnectedWifiEntryPreferenceTest.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.view.View;
+
+import com.android.settings.R;
+import com.android.wifitrackerlib.WifiEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class ConnectedWifiEntryPreferenceTest {
+
+    @Mock
+    private WifiEntry mWifiEntry;
+    @Mock
+    private View mView;
+    @Mock
+    private ConnectedWifiEntryPreference.OnGearClickListener mOnGearClickListener;
+    private Context mContext;
+    private ConnectedWifiEntryPreference mConnectedWifiEntryPreference;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application;
+        mConnectedWifiEntryPreference = new ConnectedWifiEntryPreference(mContext, mWifiEntry,
+                null /* fragment */);
+        mConnectedWifiEntryPreference.setOnGearClickListener(mOnGearClickListener);
+    }
+
+    @Test
+    public void testOnClick_gearClicked_listenerInvoked() {
+        when(mView.getId()).thenReturn(R.id.settings_button);
+
+        mConnectedWifiEntryPreference.onClick(mView);
+
+        verify(mOnGearClickListener).onGearClick(mConnectedWifiEntryPreference);
+    }
+
+    @Test
+    public void testOnClick_gearNotClicked_listenerNotInvoked() {
+        mConnectedWifiEntryPreference.onClick(mView);
+
+        verify(mOnGearClickListener, never()).onGearClick(mConnectedWifiEntryPreference);
+    }
+
+    @Test
+    public void testWidgetLayoutPreference() {
+        assertThat(mConnectedWifiEntryPreference.getWidgetLayoutResource())
+            .isEqualTo(R.layout.preference_widget_gear_optional_background);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
index e5c730f..6969e14 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
@@ -15,12 +15,12 @@
  */
 package com.android.settings.wifi;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.ArgumentMatchers.nullable;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -30,11 +30,13 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.Intent;
 import android.net.wifi.WifiManager;
 import android.provider.Settings;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.R;
 
@@ -58,6 +60,8 @@
     private Fragment mCallbackFragment;
     @Mock
     private AlertDialog.Builder mBuilder;
+    @Mock
+    private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
@@ -66,6 +70,7 @@
         mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
         mResolver = mContext.getContentResolver();
+        doReturn(mActivity).when(mFragment).getActivity();
 
         doReturn(mContext).when(mFragment).getContext();
         mFragment.setTargetFragment(mCallbackFragment, 1000);
@@ -77,7 +82,7 @@
             throws Settings.SettingNotFoundException {
         mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
 
-        verify(mWifiManager).setScanAlwaysAvailable(false);
+        verify(mWifiManager).setScanAlwaysAvailable(true);
     }
 
     @Test
@@ -89,16 +94,24 @@
 
     @Test
     public void learnMore_launchesHelpWhenIntentFound() {
-        Context context = mock(Context.class);
-        doReturn(context).when(mFragment).getContext();
-        doReturn("").when(context).getString(eq(R.string.help_uri_wifi_scanning_required));
+        doReturn("").when(mContext).getString(eq(R.string.help_uri_wifi_scanning_required));
         mFragment.addButtonIfNeeded(mBuilder);
         verify(mBuilder, never())
                 .setNeutralButton(anyInt(), nullable(DialogInterface.OnClickListener.class));
 
-        doReturn("help").when(context).getString(eq(R.string.help_uri_wifi_scanning_required));
+        doReturn("help").when(mContext).getString(eq(R.string.help_uri_wifi_scanning_required));
         mFragment.addButtonIfNeeded(mBuilder);
         verify(mBuilder, times(1))
                 .setNeutralButton(anyInt(), nullable(DialogInterface.OnClickListener.class));
     }
+
+    @Test
+    public void learnMore_launchesHelp_shouldStartActivityForResult() {
+        doReturn(new Intent()).when(mFragment).getHelpIntent(mContext);
+        mFragment.addButtonIfNeeded(mBuilder);
+
+        mFragment.onClick(null, DialogInterface.BUTTON_NEUTRAL);
+
+        verify(mActivity, times(1)).startActivityForResult(any(), anyInt());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java
new file mode 100644
index 0000000..b0ed862
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherFooterPreferenceControllerTest.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.wifi.tether;
+
+import static org.mockito.ArgumentMatchers.anyString;;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settingslib.widget.FooterPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class WifiTetherFooterPreferenceControllerTest {
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private WifiManager mWifiManager;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private FooterPreference mPreference;
+
+    private WifiTetherFooterPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
+        when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE))
+                .thenReturn(mConnectivityManager);
+        when(mConnectivityManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
+        mController = new WifiTetherFooterPreferenceController(mContext);
+        when(mScreen.findPreference(anyString())).thenReturn(mPreference);
+    }
+
+    @Test
+    public void displayPreference_supportStaAp_showConcurrentInfo() {
+        when(mWifiManager.isStaApConcurrencySupported()).thenReturn(true);
+
+        mController.displayPreference(mScreen);
+
+        verify(mPreference, never()).setTitle(R.string.tethering_footer_info);
+        verify(mPreference).setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+    }
+
+    @Test
+    public void displayPreference_notSupportStaAp_showNotConcurrentInfo() {
+        when(mWifiManager.isStaApConcurrencySupported()).thenReturn(false);
+
+        mController.displayPreference(mScreen);
+
+        verify(mPreference).setTitle(R.string.tethering_footer_info);
+        verify(mPreference, never()).setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
index e501689..e996b2d 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -33,11 +33,13 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.FeatureFlagUtils;
 import android.widget.TextView;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowWifiManager;
@@ -83,6 +85,7 @@
 
     @Test
     public void wifiTetherNonIndexableKeys_tetherAvailable_keysNotReturned() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // To let TetherUtil.isTetherAvailable return true, select one of the combinations
         setupIsTetherAvailable(true);
 
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
index 30358da..e05541c 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
@@ -32,10 +32,8 @@
 import android.net.ConnectivityManager;
 import android.net.NetworkPolicyManager;
 import android.net.wifi.WifiManager;
-import android.provider.Settings;
 
 import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -70,10 +68,9 @@
         when(mContext.getSystemService(Context.NETWORK_POLICY_SERVICE)).thenReturn(
                 mNetworkPolicyManager);
 
-        mController = new WifiTetherSwitchBarController(mContext,
-                new SwitchBarController(mSwitchBar));
+        mController = new WifiTetherSwitchBarController(mContext, mSwitchBar);
     }
-    
+
     @Test
     public void startTether_fail_resetSwitchBar() {
         when(mNetworkPolicyManager.getRestrictBackground()).thenReturn(false);
@@ -103,12 +100,12 @@
     @Test
     public void onSwitchToggled_onlyStartsTetherWhenNeeded() {
         when(mWifiManager.isWifiApEnabled()).thenReturn(true);
-        mController.onSwitchToggled(true);
+        mController.onClick(mSwitchBar.getSwitch());
 
         verify(mConnectivityManager, never()).startTethering(anyInt(), anyBoolean(), any(), any());
 
         doReturn(false).when(mWifiManager).isWifiApEnabled();
-        mController.onSwitchToggled(true);
+        mController.onClick(mSwitchBar.getSwitch());
 
         verify(mConnectivityManager, times(1))
                 .startTethering(anyInt(), anyBoolean(), any(), any());
