diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0c4183d..3622fe5 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -38,7 +38,6 @@
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
-    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
     <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
@@ -516,6 +515,11 @@
                   android:permission="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
                   android:theme="@style/Transparent" />
 
+        <activity android:name=".network.telephony.DeleteEuiccSubscriptionDialogActivity"
+                  android:exported="false"
+                  android:permission="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
+                  android:theme="@style/Transparent" />
+
         <activity
             android:name="Settings$TetherSettingsActivity"
             android:label="@string/tether_settings_title_all"
diff --git a/res/drawable/ic_emergency_contact.xml b/res/drawable/ic_emergency_contact.xml
deleted file mode 100644
index 65db179..0000000
--- a/res/drawable/ic_emergency_contact.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
-  ~ Copyright (C) 2020 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24"
-        android:viewportHeight="24"
-        android:tint="?android:attr/colorControlNormal">
-    <path
-        android:pathData="M22,3H2C0.9,3 0,3.9 0,5V19C0,20.1 0.9,21 2,21H22C23.1,21 23.99,20.1 23.99,19L24,5C24,3.9 23.1,3 22,3ZM22,5V19H2V5H22ZM12,9C12,10.66 10.66,12 9,12C7.34,12 6,10.66 6,9C6,7.34 7.34,6 9,6C10.66,6 12,7.34 12,9ZM9,8C9.55,8 10,8.45 10,9C10,9.55 9.55,10 9,10C8.45,10 8,9.55 8,9C8,8.45 8.45,8 9,8ZM9,12.75C11,12.75 15,13.76 15,15.75V18H3V15.75C3,13.76 7,12.75 9,12.75ZM5,16V15.91C5.48,15.41 7.51,14.75 9,14.75C10.49,14.75 12.52,15.41 13,15.91V16H5ZM18.8039,6H17.1962V7.6077L15.8038,6.8039L15,8.1962L16.3923,9L15,9.8038L15.8038,11.1961L17.1962,10.3922V11.9999H18.8039V10.3922L20.1962,11.1961L21,9.8038L19.6077,9L21,8.1962L20.1962,6.8039L18.8039,7.6076V6Z"
-        android:fillColor="@android:color/white"
-        android:fillType="evenOdd"/>
-</vector>
diff --git a/res/layout/accessibility_edit_shortcut_component.xml b/res/layout/accessibility_edit_shortcut_component.xml
index d257be6..0ccc88d 100644
--- a/res/layout/accessibility_edit_shortcut_component.xml
+++ b/res/layout/accessibility_edit_shortcut_component.xml
@@ -32,6 +32,7 @@
             android:id="@+id/checkbox"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:minHeight="48dp"
             android:background="@null"
             android:clickable="false"
             android:focusable="false"
diff --git a/res/layout/advanced_bt_entity_sub.xml b/res/layout/advanced_bt_entity_sub.xml
index 0c9374f..3f1b3d3 100644
--- a/res/layout/advanced_bt_entity_sub.xml
+++ b/res/layout/advanced_bt_entity_sub.xml
@@ -64,4 +64,15 @@
             android:layout_marginStart="4dp"/>
     </LinearLayout>
 
+    <TextView
+        android:id="@+id/bt_battery_prediction"
+        style="@style/TextAppearance.EntityHeaderSummary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="2dp"
+        android:layout_gravity="center_horizontal"
+        android:gravity="center"
+        android:orientation="horizontal"
+        android:visibility="gone"/>
+
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/edit_user_info_dialog_content.xml b/res/layout/edit_user_info_dialog_content.xml
deleted file mode 100644
index 2bd464b..0000000
--- a/res/layout/edit_user_info_dialog_content.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-     Copyright (C) 2013 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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="wrap_content"
-    android:layout_height="wrap_content"
-    android:baselineAligned="false"
-    android:padding="16dip">
-
-    <ImageView
-        android:id="@+id/user_photo"
-        android:layout_width="56dip"
-        android:layout_height="56dip"
-        android:layout_gravity="bottom"
-        android:contentDescription="@string/user_image_photo_selector"
-        android:background="@*android:drawable/spinner_background_holo_dark"
-        android:scaleType="fitCenter"/>
-
-    <EditText
-        android:id="@+id/user_name"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_gravity="bottom"
-        android:layout_weight="1"
-        android:layout_marginStart="6dp"
-        android:minHeight="@dimen/min_tap_target_size"
-        android:ellipsize="end"
-        android:singleLine="true"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textAlignment="viewStart"
-        android:inputType="text|textCapWords"
-        android:selectAllOnFocus="true"
-        android:hint="@string/user_nickname"
-        android:maxLength="100"/>
-
-</LinearLayout>
diff --git a/res/layout/restricted_popup_menu_item.xml b/res/layout/restricted_popup_menu_item.xml
deleted file mode 100644
index 636e3f9..0000000
--- a/res/layout/restricted_popup_menu_item.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2016, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeightSmall"
-    android:gravity="center_vertical"
-    android:paddingStart="16dip"
-    android:paddingEnd="16dip">
-    <TextView
-        android:id="@+id/text"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:textColor="?android:attr/textColorAlertDialogListItem"
-        android:textAppearance="?android:attr/textAppearanceListItemSmall"
-        android:ellipsize="marquee"
-        android:layout_alignParentLeft="true" />
-    <ImageView
-        android:id="@+id/restricted_icon"
-        android:layout_width="@*android:dimen/config_restrictedIconSize"
-        android:layout_height="@*android:dimen/config_restrictedIconSize"
-        android:scaleType="centerInside"
-        android:tint="?android:attr/colorAccent"
-        android:src="@*android:drawable/ic_info"
-        android:layout_alignParentRight="true"
-        android:visibility="gone" />
-</RelativeLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index f36cef9..143f894 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum en tyd"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Stel datum en tyd"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Stel datum, tyd, tydsones en formaat"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Gebruik netwerkverskafte tyd"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Gebruik netwerkverskafte tydsone"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gebruik verstek vir locale"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-uur-formaat"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gebruik 24-uur-formaat"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skermslot, vingerafdruk"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Skermslot"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Ontsluit jou foon veilig met jou gesig en vingerafdruk"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Jy kan ook by programme aanmeld en betaling bevestig"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Stel ontsluit op met:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Gesigslot"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Maak dit maklik om jou foon te ontsluit"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Toestel se MAC-adres"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Ewekansige MAC-adres"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Ewekansige MAC-adres (laas gebruik)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-adres"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Netwerkbesonderhede"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnetmasker"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Voer \'n geldige deurgangadres in."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Voer \'n geldige DNS-adres in."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Voer \'n netwerkvoorvoegsel in met lengte tussen 0 en 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (tensy deur private DNS geïgnoreer)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (tensy deur private DNS geïgnoreer)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Deurgang"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Lengte van netwerkvoorvoegsel"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Wanneer die skerm donker is, sal dit aanskakel vir nuwe kennisgewings"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Wys altyd tyd en inligting"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Verhoogde batterygebruik"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Teks in vetdruk"</string>
     <string name="title_font_size" msgid="570613010306330622">"Lettertipegrootte"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Maak teks groter of kleiner"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM-kaartsluitinstellings"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nie opgestel nie – werkprofiel"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"Jy (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Bynaam"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Jy kan tot <xliff:g id="USER_COUNT">%1$d</xliff:g> gebruikers byvoeg"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Net die eienaar van die tablet kan gebruikers bestuur."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Net die eienaar van die foon kan gebruikers bestuur."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Terug"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Volgende"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Klaar"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Neem \'n foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Kies \'n prent"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Kies foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-kaarte"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-kaarte"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tik om na toestel te kyk"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Tik op jou skerm om na die horlosie, kennisgewings en ander inligting te kyk."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Paniekknoppie"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Begin die nood-SOS-handelinge deur die aan/af-skakelaar 5 keer vinnig te druk."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Waarskuwingsgeluid"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Waarsku voordat jy die handelinge begin"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Noodkontakte"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Swiep vingerafdruk vir kennisgewings"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Swiep vingerafdruk"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Swiep na onder op die vingerafdruksensor aan die agterkant van jou foon om jou kennisgewings na te gaan."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Skakel tans SIM af <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Kan nie diensverskaffer deaktiveer nie"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Iets was fout en jou diensverskaffer kon nie gedeaktiveer word nie."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Vee hierdie afgelaaide SIM uit?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"As jy hierdie SIM uitvee, word <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-diens van hierdie toestel verwyder.\n\nDiens vir <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> sal nie gekanselleer word nie."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Vee uit"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Vee tans SIM uit …"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kan nie SIM uitvee nie"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Hierdie SIM kan weens \'n fout nie uitgevee word nie.\n\nHerbegin jou toestel en probeer weer."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Koppel aan toestel"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g>-program wil \'n tydelike Wi‑Fi-netwerk gebruik om aan jou toestel te koppel"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Geen toestelle gekry nie. Maak seker dat toestelle aangeskakel is en beskikbaar is om te koppel."</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 05a7c9e..417b498 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"ቀን እና ሰዓት"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"ቀን እና ሰዓት አዘጋጅ"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"ቀን፣ ሰዓት፣ የጊዜ ሰቅ&amp; ቅርፀቶች አዘጋጅ"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"በአውታረ መረብ የቀረበ ሰዓት ተጠቀም"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"በአውታረ መረብ የቀረበ የሰዓት ሰቅን ተጠቀም"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"የቋንቋ ነባሪ ይጠቀሙ"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"የ24‑ሰዓት ቅርጸት"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 ሰዓት ቅርፀት ተጠቀም"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"የማያ ገጽ ቁልፍ፣ የጣት አሻራ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ማሳያ መቆለፊያ"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"በእርስዎ መልክ እና የጣት አሻራ የእርስዎን ስልክ ደህንነቱ ተጠብቆ ይክፈቱት"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"እንዲሁም በመለያ ወደ መተግበሪያዎች መግባት እና ክፍያን ማረጋገጥ ይችላሉ"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"መክፈትን በዚህ ያቀናብሩ፦"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"በመልክ መክፈት"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"የእርስዎን ስልክ መክፈት የአፍታ ጉዳይ ያድርጉት"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"ኤስኤስአይዲ"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"የመሣሪያ ማክ አድራሻ"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"የዘፈቀደ የተደረገ የማክ አድራሻ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"የዘፈቀደ የተደረገ የMAC አድራሻ (ለመጨረሻ ጊዜ ጥቅም ላይ የዋለው)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP አድራሻ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"የአውታረ መረብ ዝርዝሮች"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"የንዑስ አውታር ጭንብል"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"እባክህ ትክክለኛ ኣግባቢ ፍኖት አድራሻ ተይብ።"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"እባክህ ትክክለኛ dns አድራሻ ተይብ።"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"እባክህ በ0 እና 32 መካከል የአውታረ መረብ ቅድመ ቅጥያ ርዝመት ተይብ።"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"ዲኤንኤስ 1 (በግል ዲኤንኤስ ቅድሚያ ካልተወሰደበት በስተቀር)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"ዲኤንኤስ 2 (በግል ዲኤንኤስ ቅድሚያ ካልተወሰደበት በስተቀር)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"መውጫ"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"የአውታረ መረብ ቅድመ ቅጥያ ርዝመት"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"ማያ ገጽ ጨለማ ሲሆን ለአዲስ ማሳወቂያዎች ይበራል"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"ሁልጊዜ ሰዓትን እና መረጃን አሳይ"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"የባትሪ አጠቃቀምን ይጨምራል"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"ደማቅ ጽሑፍ"</string>
     <string name="title_font_size" msgid="570613010306330622">"የቁምፊ መጠን"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ጽሑፍ ያተልቁ ወይም ያሳንሱ"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"የSIM ካርድ ቆልፍ ቅንብሮች"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"አልተዋቀረም - የስራ መገለጫ"</string>
     <string name="user_admin" msgid="4024553191395768119">"አስተዳዳሪ"</string>
     <string name="user_you" msgid="3070562015202859996">"እርስዎ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ቅጽል ስም"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"እስከ <xliff:g id="USER_COUNT">%1$d</xliff:g> ተጠቃሚዎች ማከል ይችላሉ"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"የጡባዊው ባለቤት ብቻ ነው ተጠቃሚዎችን ማስተዳደር የሚችለው።"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"የስልኩ ባለቤት ብቻ ነው ተጠቃሚዎችን ማስተዳደር የሚችለው።"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ተመለስ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ቀጣይ"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"ተጠናቅቋል"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ፎቶ አንሳ"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ምስል ይምረጡ"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ፎቶ ምረጥ"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"ሲም ካርዶች"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"ሲም ካርዶች"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"መሣሪያ ላይ ምልክት ያድርጉ"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"ጊዜን፣ ማሳወቂያዎችን እና ሌላ መረጃን ለማረጋገጥ የእርስዎን ማያ ገጽ መታ ያድርጉት።"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"የቀውስ አዝራር"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"የኃይል አዝራሩን 5 ጊዜ በፍጥነት በመጫን የድንገተኛ አደጋ ኤስኦኤስ እርምጃዎችን ያስጀምሩ።"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"የማስጠንቀቂያ ድምጽ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"እርምጃዎቹን ከመጀመር በፊት ማንቂያ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"የአደጋ ጊዜ እውቂያዎች"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"ማሳወቂያዎችን ለማግኘት የጣት አሻራን ያንሸራትቱ"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"የጣት አሻራን ያንሸራቱ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"የእርስዎን ማሳወቂያዎች ለመመልከት በስልክዎ ጀርባ ላይ ባለው የጣት አሻራ ዳሳሽ ላይ ወደ ታች ጠረግ ያድርጉት"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ሲምን በማጥፋት ላይ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"አገልግሎት አቅራቢን ማሰናከል አልተቻለም"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"የሆነ ችግር ተፈጥሯል፣ እና የእርስዎ አገልግሎት አቅራቢ ሊሰናከል አልቻለም።"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ይህ የወረደ ሲም ይደምሰስ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ይህን ሲም መደምሰስ የ<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> አገልግሎቱን ከዚህ መሣሪያ ያስወግደዋል።\n\nለ<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> የሆነ አገልግሎት አይሰረዝም።"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ደምስስ"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"ሲም በመደምሰስ ላይ…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ሲምን መደምሰስ አልተቻለም"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ይኼ ሲም በስህተት ምክንያት ሊደመሰስ አይችልም።\n\nየእርስዎን መሣሪያ ዳግም ያስጀምሩ እና እንደገና ይሞክሩ።"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ከመሣሪያ ጋር ያገናኙ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"የ<xliff:g id="APPNAME">%1$s</xliff:g> መተግበሪያ ከመሣሪያዎ ጋር ለመገናኘት ጊዜያዊ የWi‑Fi አውታረ መረብን መጠቀም ይፈልጋል"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ምንም መሣሪያዎች አልተገኙም መሣሪያዎች እንደበሩ እና ለመገናኘት የሚገኝ መሆኑን ያረጋግጡ።"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 6b32af7..6a2aed4 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -262,8 +262,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"التاريخ والوقت"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"تعيين التاريخ والوقت"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"تعيين التاريخ والوقت والمنطقة الزمنية والتنسيقات"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"استخدام وقت الشبكة"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"استخدام المنطقة الزمنية للشبكة"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"استخدام التنسيق التلقائي المحلي"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"تنسيق ٢٤ ساعة"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"استخدام تنسيق ٢٤ ساعة"</string>
@@ -333,7 +335,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"قفل الشاشة، بصمة الإصبع"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"قفل الشاشة"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"فتح قفل هاتفك بأمان باستخدام وجهك وبصمة إصبعك"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"يمكنك أيضًا تسجيل الدخول إلى التطبيقات وتأكيد الدفع"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"إعداد فتح القفل باستخدام:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"فتح القفل بالوجه"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"تسهيل عملية فتح قفل الهاتف"</string>
@@ -1093,6 +1096,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"‏عنوان MAC للجهاز"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"‏عنوان MAC العشوائي"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"‏عنوان MAC عشوائي (آخر استخدام)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"‏عنوان IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"تفاصيل الشبكة"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"قناع الشبكة الفرعية"</string>
@@ -1110,10 +1114,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"اكتب عنوان بوابة صالحًا."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"اكتب عنوان نظام أسماء نطاقات صالحًا."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"اكتب بادئة شبكة يترواح طولها بين 0 و32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"نظام أسماء النطاقات 1 (ما لم يتم إلغاؤها باستخدام نظام أسماء النطاقات الخاص)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"نظام أسماء النطاقات 2 (ما لم يتم إلغاؤها باستخدام نظام أسماء النطاقات الخاص)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"البوابة"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"طول بادئة الشبكة"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"‏اتصال Wi-Fi مباشر"</string>
@@ -1380,6 +1382,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"عندما تكون الشاشة داكنة، ستُضاء لعرض الإشعارات الجديدة."</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"إظهار الوقت والمعلومات دائمًا"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"يزيد استخدام البطارية"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"نص غامق"</string>
     <string name="title_font_size" msgid="570613010306330622">"حجم الخط"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"يمكنك تكبير النص أو تصغيره."</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"‏إعدادات قفل شريحة SIM"</string>
@@ -2213,7 +2216,7 @@
     <string name="app_name_label" msgid="3809910527680143673">"التطبيق"</string>
     <string name="last_time_used_label" msgid="2639712813493534074">"آخر مرة تم استخدامه"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"وقت الاستخدام"</string>
-    <string name="accessibility_settings" msgid="4713215774904704682">"إمكانية الوصول"</string>
+    <string name="accessibility_settings" msgid="4713215774904704682">"تسهيل الاستخدام"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"إعدادات \"سهولة الاستخدام\""</string>
     <string name="accessibility_settings_summary" msgid="2195085206729325737">"أجهزة قارئ الشاشة والشاشة وعناصر التحكم التفاعلية"</string>
     <string name="vision_settings_title" msgid="8919983801864103069">"إعدادات الرؤية"</string>
@@ -2268,7 +2271,7 @@
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"لاستخدام إحدى ميزات إمكانية الوصول، مرّر سريعًا من أسفل الشاشة للأعلى بثلاثة أصابع.\n\nللتبديل بين الميزات، مرّر سريعًا للأعلى بثلاثة أصابع مع تثبيتها."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"حسنًا"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"اختصار <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
-    <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"زر أدوات تمكين الوصول"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"زر تسهيل الاستخدام"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"التمرير بسرعة إلى الأعلى بإصبعين"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"التمرير بسرعة إلى الأعلى بثلاثة أصابع"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"النقر على زر أدوات تمكين الوصول"</string>
@@ -2338,7 +2341,7 @@
     <string name="captioning_caption_appearance_summary" msgid="7340741178479381312">"حجم النص: <xliff:g id="ACCESSIBILITY_FONT_SIZE">%1$s</xliff:g>"</string>
     <string name="captioning_more_options_title" msgid="3484496882942539652">"خيارات أكثر"</string>
     <string name="accessibility_caption_preference_summary" msgid="1191356970836416954">"لا تتوفّر هذه الإعدادات المفضّلة للشرح في بعض التطبيقات."</string>
-    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"زر أدوات تمكين الوصول"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"زر تسهيل الاستخدام"</string>
     <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"التمرير سريعًا بإصبعين إلى أعلى الشاشة من أسفلها"</string>
     <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"الضغط مع الاستمرار على مفتاحَي التحكّم بمستوى الصوت"</string>
     <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"النقر ثلاث مرات على الشاشة"</string>
@@ -3204,7 +3207,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"لم يتم الإعداد - الملف الشخصي للعمل"</string>
     <string name="user_admin" msgid="4024553191395768119">"المشرف"</string>
     <string name="user_you" msgid="3070562015202859996">"أنت (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"اللقب"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"يمكنك إضافة ما يصل إلى <xliff:g id="USER_COUNT">%1$d</xliff:g> من المستخدمين"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"يمكن لمالك الجهاز اللوحي فقط إدارة المستخدمين."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"يمكن لمالك الهاتف فقط إدارة المستخدمين."</string>
@@ -3324,9 +3326,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"رجوع"</string>
     <string name="wizard_next" msgid="3884832431439072471">"التالي"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"إنهاء"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"التقاط صورة"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"اختيار صورة"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"اختيار صورة"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"‏بطاقات SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"‏بطاقات SIM"</string>
@@ -4781,10 +4780,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"النقر لفحص الجهاز"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"للاطّلاع على الوقت والإشعارات والمعلومات الأخرى، انقر على شاشتك."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"زر الطوارئ"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"يمكنك بدء إجراءات حالات الطوارئ عن طريق الضغط بسرعة على زر التشغيل 5 مرات."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"صوت تحذير"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"التنبيه قبل بدء الإجراءات"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"جهات الاتصال في حالات الطوارئ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"تمرير بصمة الإصبع لعرض الإشعارات"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"تمرير بصمة الإصبع"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"للاطّلاع على الإشعارات، مرِّر إصبعك للأسفل على زر استشعار بصمات الإصبع في الجزء الخلفي لهاتفك."</string>
@@ -5164,6 +5164,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‏جارٍ إيقاف شريحة SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"يتعذّر إيقاف مشغِّل شبكة الجوّال"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"حدث خطأ ما أدى إلى تعذُّر إيقاف مشغِّل شبكة الجوّال."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"‏هل تريد محو بيانات شريحة SIM هذه التي تم تنزيلها؟"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‏سيؤدي محو بيانات شريحة SIM هذه إلى إزالة خدمة <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> من هذا الجهاز.\n\nولن يتم إلغاء خدمة <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"محو البيانات"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"‏جارٍ محو بيانات شريحة SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‏يتعذّر محو بيانات شريحة SIM."</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‏يتعذّر محو بيانات شريحة SIM هذه بسبب حدوث خطأ.\n\nيمكنك إعادة تشغيل الجهاز والمحاولة مرة أخرى."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"الاتصال بالجهاز"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏يريد تطبيق <xliff:g id="APPNAME">%1$s</xliff:g> استخدام شبكة Wi‑Fi مؤقتة للاتصال بجهازك."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"لم يتمّ العثور على أيّ أجهزة. تأكَّد من تشغيل الأجهزة وتوفّرها للاتصال."</string>
@@ -5197,7 +5203,7 @@
     <string name="contextual_card_removed_message" msgid="5755438207494260867">"تمت إزالة الاقتراح."</string>
     <string name="contextual_card_undo_dismissal_text" msgid="5200381837316691406">"تراجع"</string>
     <string name="low_storage_summary" msgid="1979492757417779718">"مساحة التخزين منخفضة. <xliff:g id="PERCENTAGE">%1$s</xliff:g> مُستخدَمة - <xliff:g id="FREE_SPACE">%2$s</xliff:g> فارغة"</string>
-    <string name="contextual_card_feedback_send" msgid="7409408664417908922">"إرسال تعليقات"</string>
+    <string name="contextual_card_feedback_send" msgid="7409408664417908922">"إرسال ملاحظات وآراء"</string>
     <string name="contextual_card_feedback_confirm_message" msgid="3186334562157665381">"هل ترغب في إرسال تعليقات إلينا بشأن هذا الاقتراح؟"</string>
     <string name="copyable_slice_toast" msgid="1008251852798990606">"تمّ نسخ <xliff:g id="COPY_CONTENT">%1$s</xliff:g> إلى الحافظة."</string>
     <string name="search_bar_account_avatar_content_description" msgid="880523277036898350"></string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 95874b3..303ab5a 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"তাৰিখ আৰু সময়"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"তাৰিখ আৰু সময় নিৰ্ধাৰণ কৰক"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"তাৰিখ, সময়, সময় মণ্ডল আৰু ফৰমেটসমূহ ছেট কৰক"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"নেটৱৰ্কে দিয়া সময় ব্যৱহাৰ কৰক"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"নেটৱৰ্কে দিয়া সময় মণ্ডল ব্যৱহাৰ কৰক"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"স্থানীয় ডিফ’ল্ট ব্যৱহাৰ কৰক"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"২৪ ঘণ্টীয়া সজ্জা"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"২৪ ঘণ্টীয়া সজ্জা ব্যৱহাৰ কৰক"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"স্ক্ৰীণ লক, ফিংগাৰপ্ৰিণ্ট"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"স্ক্ৰীণ লক"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"আপোনাৰ মুখাৱয়ব আৰু ফিংগাৰপ্ৰিণ্টেৰে নিজৰ ফ’ন সুৰক্ষিতভাৱে আনলক কৰক"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"আপুনি এপত ছাইন ইন কৰিও পৰিশোধ নিশ্চিত কৰিব পাৰে"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ইয়াৰ জৰিয়তে আনলক ছেট আপ কৰক:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"মুখাৱয়বৰ দ্বাৰা আনলক"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"আপোনাৰ ফ’নটো আনলক কৰাটো একেবাৰে সহজ কৰক"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ডিভাইচৰ MAC ঠিকনা"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"যাদৃচ্ছিক MAC ঠিকনা"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"যাদৃচ্ছিক MAC ঠিকনা (অন্তিমবাৰ ব্যৱহৃত)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"আইপি ঠিকনা"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"নেটৱৰ্কৰ সবিশেষ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ছাবনেট মাস্ক"</string>
@@ -1298,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"স্ক্ৰীনখন গাঢ় ৰঙৰ হৈ থকা সময়ত, এইটোৱে নতুন জাননীসমূহৰ বাবে অন কৰে"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"সময় আৰু তথ্য সদায় দেখুৱাওক"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"বেটাৰীৰ বৰ্ধিত ব্যৱহাৰ"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"ফণ্টৰ আকাৰ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"পাঠ ডাঙৰ বা সৰু কৰক"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"ছিম কাৰ্ড লক কৰা ছেটিংসমূহ"</string>
@@ -3030,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"ছেট আপ কৰা হোৱা নাই - কৰ্মস্থানৰ প্ৰ’ফাইল"</string>
     <string name="user_admin" msgid="4024553191395768119">"প্ৰশাসক"</string>
     <string name="user_you" msgid="3070562015202859996">"আপুনি (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"উপনাম"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"আপুনি <xliff:g id="USER_COUNT">%1$d</xliff:g> জন লৈকে ব্যৱহাৰকাৰী যোগ কৰিব পাৰে"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"কেৱল টেবলেটৰ গৰাকীয়ে ব্যৱহাৰকাৰীসকলক পৰিচালনা কৰিব পাৰে।"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"কেৱল ফ\'নটোৰ গৰাকীয়েহে ব্যৱহাৰকাৰীসকলক পৰিচালনা কৰিব পাৰে।"</string>
@@ -3150,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"উভতি যাওক"</string>
     <string name="wizard_next" msgid="3884832431439072471">"পৰৱৰ্তী"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"সমাপ্ত"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"এখন ফট’ তোলক"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"এখন প্ৰতিচ্ছবি বাছনি কৰক"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ফট\' বাছনি কৰক"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"ছিম কাৰ্ডসমূহ"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"ছিম কাৰ্ডবোৰ"</string>
@@ -4487,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ডিভাইচটো পৰীক্ষা কৰিবলৈ টিপক"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"সময়, জাননী আৰু অন্য তথ্য চাবলৈ আপোনাৰ স্ক্ৰীণত টিপক।"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"বিপদকালত সহায় বিচাৰিবলৈ ব্যৱহাৰ কৰা বুটাম"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"পাৱাৰ বুটামটো ক্ষিপ্ৰতাৰে ৫ বাৰ টিপি জৰুৰীকালীন SOS কাৰ্যবিলাক আৰম্ভ কৰক।"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"সকীয়নিৰ ধ্বনি"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"কাৰ্যবিলাক আৰম্ভ কৰাৰ পূৰ্বে সতৰ্ক কৰি দিয়ক"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"জৰুৰীকালীন সম্পৰ্কসমূহ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"জাননীৰ বাবে ফিংগাৰপ্ৰিণ্ট ছোৱাইপ কৰক"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ফিংগাৰপ্ৰিণ্ট ছোৱাইপ কৰক"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"জাননীবিলাক চাবলৈ আপোনাৰ ফ\'নটোৰ পিছফালে থকা ফিংগাৰপ্ৰিণ্ট ছেন্সৰত ওপৰৰ পৰা তললৈ আঙুলি বুলাওক।"</string>
@@ -4838,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ছিম অফ কৰি থকা হৈছে<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"বাহকক অক্ষম কৰিব নোৱাৰি"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"কিবা ভুল হ’ল আৰু সেয়ে আপোনাৰ বাহকক অক্ষম কৰিব পৰা নগ’ল।"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"এই ডাউনল’ড কৰা ছিমখন মচিবনে?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"এই ছিমখন আঁতৰালে এই ডিভাইচটোৰ পৰা <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> সেৱা আঁতৰোৱা হ’ব।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>ৰ সেৱা বাতিল কৰা নহয়।"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"মচক"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"ছিম মচি থকা হৈছে…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ছিম মচিব নোৱাৰি"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"এই ছিমখন কোনো অজ্ঞাত আসোঁৱাহৰ বাবে আঁতৰাব নোৱাৰি।\n\nআপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰি আকৌ চেষ্টা কৰক।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ডিভাইচৰ সৈতে সংযোগ কৰক"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> এপ্‌টোৱে আপোনাৰ ডিভাইচটোৰ সৈতে সংযোগ কৰিবলৈ এটা অস্থায়ী ৱাই-ফাই নেটৱৰ্ক ব্যৱহাৰ কৰিব বিচাৰিছে"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"কোনো ডিভাইচ বিচাৰি পোৱা নগ’ল। ডিভাইচ যাতে অন হৈ থাকে আৰু সংযোগ কৰিব পৰাকৈ উপলব্ধ থাকে সেইয়া নিশ্চিত কৰক।"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index a6a812e..8b2162e 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Tarix və vaxt"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Tarix və vaxt ayarlayın"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Tarix, vaxt, vaxt zonası və formatları ayarlayın"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Şəbəkə vaxtından istifadə edin"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Şəbəkənin saat qurşağından istifadə edin"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Yerli defolt ayarlardan istifadə edin"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑saat formatı"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 saat formatından istifadə et"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekran kilidi, barmaq izi"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Ekran kilidi"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Telefonunuzu üzünüz və barmaq izinizlə etibarlı şəkildə kiliddən çıxara bilərsiniz"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Tətbiqlərdə hesabınıza daxil ola və ödənişi təsdiqləyə bilərsiniz"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Kiliddən çıxarmanı bununla quraşdırın:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Üz ilə kiliddən çıxarma"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Telefonunuzu kiliddən çıxarmağı asanlaşdırın"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Cihazın MAC ünvanı"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Təsadüfi MAC ünvanı"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Təsadüfi MAC ünvanı (son dəfə istifadə edilən)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP ünvanı"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Şəbəkə bilgisi"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Alt şəbəkə maskası"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Düzgün Şlüz ünvanı yazın."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Düzgün DNS ünvanı yazın."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 və 32 uzunluqlu şəbəkə prefiks daxil edin"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (Şəxsi DNS tərəfindən ləğv edilmədiyi halda)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (Şəxsi DNS tərəfindən ləğv edilmədiyi halda)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Keçid"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Şəbəkə prefiks uzunluğu"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Ekran tünd olduqda o, yeni bildirişləri göstərmək üçün aktiv olur"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Həmişə vaxt və bilgini göstər"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Batareya istifadəsi artdı"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Qalın mətn"</string>
     <string name="title_font_size" msgid="570613010306330622">"Şrift ölçüsü"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Mətni kiçildin və ya böyüdün"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SİM kart kilidi parametrləri"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Quraşdırılmayıb - İş profili"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"Siz (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nik"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> istifadəçiyə qədər əlavə edə bilərsiniz"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Yalnız planşet sahibi istifadəçiləri idarə edə bilər."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Yalnız telefon sahibi istifadəçiləri idarə edə bilər"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Geri"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Növbəti"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Bitir"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Foto çəkin"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Şəkil seçin"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Foto seçin"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kartlar"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kartlar"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Cihazı yoxlamaq üçün klikləyin"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Vaxt, bildiriş və digər məlumatı yoxlamaq üçün ekrana klikləyin."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Həyəcan düyməsi"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Enerji düyməsini 5 dəfə cəld basdıqda fövqəladə SOS əməliyyatları başladılsın."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Xəbərdarlıq səsi"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Əməliyyatlara başlamazdan əvvəl bildirilsin"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Fövqəladə hal kontaktları"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Bildirişlər üçün barmaq izinizi sürüşdürün"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Barmaq izini sürüşdürün"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Bildirişləri yoxlamaq üçün, barmaq izi sensorunda aşağı sürüşdürün."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM deaktiv edilir<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operatoru deaktiv etmək mümkün deyil"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Xəta baş verdi və operatoru deaktiv etmək mümkün olmadı."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Endirilən SIM silinsin?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Bu SIM silindikdə <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> xidməti bu cihazdan silinəcək.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> üçün xidmət ləğv edilməyəcək."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Silin"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM silinir…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-i silmək mümkün deyil"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"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="network_connection_request_dialog_title" msgid="1896186380874289434">"Cihaza qoşulun"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> cihazınıza qoşulmaq üçün müvəqqəti Wi‑Fi şəbəkəsindən istifadə etmək istəyir"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Cihaz tapılmadı. Cihazların aktiv olması və qoşulmaq üçün əlçatan olmasından əmin olun."</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 282ade1..3135063 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -256,8 +256,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum i vreme"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Podešavanje datuma i vremena"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Podešavanje datuma, vremena, vremenske zone i formata"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Koristi vreme mreže"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Koristi vremensku zonu mreže"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Koristi podrazumevanu vrednost za lokalitet"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-časovni format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Koristi 24-časovni format"</string>
@@ -324,7 +326,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaključavanje ekrana, otisak prsta"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Zaključavanje ekrana"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Otključajte telefon bezbedno pomoću lica i otiska prsta"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Moguće je i prijavljivanje u aplikacije i potvrđivanje plaćanja"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Podesite otključavanje pomoću:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Otključavanje licem"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Pojednostavite otključavanje telefona"</string>
@@ -1033,6 +1036,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC adresa uređaja"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Nasumična MAC adresa"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Nasumična MAC adresa (poslednji put korišćena)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP adresa"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalji o mreži"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podmreže"</string>
@@ -1050,10 +1054,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Unesite važeću adresu mrežnog prolaza."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Unesite važeću DNS adresu."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Unesite prefiks mreže dužine između 0 i 32 znaka."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (osim ako ga ne zameni privatni DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (osim ako ga ne zameni privatni DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Mrežni prolaz"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Dužina prefiksa mreže"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1320,6 +1322,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kada je ekran taman, uključuje se ambijentalni ekran za nova obaveštenja"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Uvek prikazuj vreme i podatke"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Potrošnja baterije je povećana"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Podebljani tekst"</string>
     <string name="title_font_size" msgid="570613010306330622">"Veličina fonta"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Omogućava da tekst bude veći ili manji"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Zaključavanje SIM kartice"</string>
@@ -3075,7 +3078,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nije podešeno – poslovni profil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Vi (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nadimak"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Možete da dodate najviše <xliff:g id="USER_COUNT">%1$d</xliff:g> korisnika"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Samo vlasnik tableta može da upravlja korisnicima."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Samo vlasnik telefona može da upravlja korisnicima."</string>
@@ -3195,9 +3197,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Nazad"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Dalje"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Završi"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Slikajte"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Odaberite sliku"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Izaberite sliku"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kartice"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kartice"</string>
@@ -4562,10 +4561,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Dodirnite da biste proverili uređaj"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Da biste proverili vreme, obaveštenja i druge informacije, dodirnite ekran."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Dugme alarma za paniku"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Da biste pokrenuli radnje za hitne slučajeve, brzo dodirnite dugme za uključivanje 5 puta."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Zvuk upozorenja"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Upozorenje pre početka radnji"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kontakti za hitne slučajeve"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Prevucite prstom za obaveštenja"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Prevucite prstom"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Da biste proverili obaveštenja, prevucite prstom nadole po senzoru za otisak prsta na zadnjoj strani telefona."</string>
@@ -4921,6 +4921,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM se isključuje<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Onemogućavanje mobilnog operatera nije uspelo"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Došlo je do greške i onemogućavanje mobilnog operatera nije uspelo."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Želite li da obrišete ovaj preuzeti SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Brisanjem ove SIM kartice uklonićete <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> uslugu sa ovog uređaja.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> usluga neće biti otkazana."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Obriši"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM se briše…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Brisanje SIM-a nije uspelo"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ovaj SIM ne može da se obriše zbog greške.\n\nRestartujte uređaj i probajte ponovo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Povežite se sa uređajem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi da koristi privremenu Wi‑Fi mrežu da bi se povezala sa uređajem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nije pronađen nijedan uređaj Proverite da li je uređaj uključen i dostupan za povezivanje."</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index a0840d2..4aa5edf 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Дата і час"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Усталяваць дату і час"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Задаць дату, час, гадзiнны пояс і фарматы"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Выкарыстоўваць час сеткі"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Выкарыстоўваць часавы пояс сеткі"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Выкарыстоўваць стандартныя рэгіянальныя налады"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑гадзінны фармат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Выкарыстоўваць 24-гадзінны фармат"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Блакіроўка экрана, адбітак пальца"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Блакіроўка экрана"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Разблакіруйце тэлефон з дапамогай твару і адбітка пальца"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Яшчэ вы можаце ўваходзіць у праграмы і пацвярджаць плацяжы"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Наладзіць разблакіроўку з дапамогай:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Распазнаванне твару"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Зрабіце разблакіроўку тэлефона простай"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC-адрас прылады"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Выпадковы MAC-адрас"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Выпадковы MAC-адрас (апошні з выкарыстаных)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-адрас"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Інфармацыя аб сетцы"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска падсеткі"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Увядзіце сапраўдны адрас шлюза."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Увядзіце сапраўдны адрас DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Увядзіце даўжыню сеткавага прэфікса ад 0 і 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (калі не перавызначана прыватным DNS-серверам)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (калі не перавызначана прыватным DNS-серверам)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Шлюз"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Даўжыня прэфікса сеткі"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1340,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Цёмны экран уключаецца, калі прыходзяць новыя апавяшчэнні"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Заўсёды паказваць час і даныя"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Павышанае выкарыстанне зараду"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Тлусты шрыфт"</string>
     <string name="title_font_size" msgid="570613010306330622">"Памер шрыфту"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Павялічыць або паменшыць тэкст"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Налады блакіроўкі SIM-карты"</string>
@@ -3118,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Не наладжана – Рабочы профіль"</string>
     <string name="user_admin" msgid="4024553191395768119">"Адміністратар"</string>
     <string name="user_you" msgid="3070562015202859996">"Вы (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Псеўданім"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Вы можаце дадаць да <xliff:g id="USER_COUNT">%1$d</xliff:g> карыстальнікаў"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Толькі ўладальнік планшэта можа кіраваць карыстальнікамі."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Толькі ўладальнік тэлефона можа кіраваць карыстальнікамі."</string>
@@ -3238,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Назад"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Далей"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Завершыць"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Зрабіць фота"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Выбраць відарыс"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Выбраць фота"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-карты"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-карты"</string>
@@ -4635,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Націсніце, каб праверыць прыладу"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Каб праверыць час, апавяшчэнні і іншую інфармацыю, дакраніцеся да экрана."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Трывожная кнопка"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Запусціце экстранны выклік SOS, хутка націснуўшы кнопку сілкавання 5 разоў."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Гук заўвагі"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Адпраўляць абвестку да запуску дзеянняў"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Кантакты для экстранных сітуацый"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Правядзіце пальцам, каб убачыць апавяшчэнні"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Сканер адбіткаў"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Каб праверыць апавяшчэнні, правядзіце пальцам уніз па сканеры адбіткаў пальцаў на заднім боку тэлефона."</string>
@@ -5002,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Адключаецца SIM-карта<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Не ўдалося адключыць аператара"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Нешта пайшло не так. Не ўдалося адключыць вашага аператара."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Сцерці даныя гэтай спампаванай SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Сціранне даных гэтай SIM-карты выдаляе з прылады магчымасць карыстацца паслугамі аператара \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\".\n\nАбслугоўванне ў аператара \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\" будзе працягнута."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Сцерці"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Сціраюцца даныя SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не ўдалося сцерці даныя SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Памылка сцірання даных гэтай SIM.\n\nПеразапусціце прыладу і паўтарыце спробу."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Падключыць да прылады"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Праграма \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запытвае дазвол на часовае выкарыстанне сеткі Wi‑Fi для падключэння да вашай прылады"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Прылады не знойдзены. Пераканайцеся, што прылады ўключаны і даступныя для падключэння."</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index e41b8d1..543faf7 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Дата и час"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Задаване на дата и час"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Задаване на дата, час, часова зона и формати"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Използване на часа, предоставен от мрежата"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Използване на часовата зона, предоставена от мрежата"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Автоматично задаване на часа"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Автоматично задаване на часовата зона"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Използване на стандартния формат за локала"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-часов формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-часов формат"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Опция за заключване на екрана, отпечатък"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Опция за заключване на екрана"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Отключвайте телефона си надеждно чрез лицето и отпечатъка си"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Можете също да влизате в приложения и потвърждавате плащания"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Настройте отключване посредством:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Отключване с лице"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Улеснете отключването на телефона си"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC адрес на устройството"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Рандомизиран MAC адрес"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Рандомизиран MAC адрес (последно използван)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP адрес"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Подробно за мрежата"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Подмрежова маска"</string>
@@ -1030,10 +1032,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Въведете валиден адрес за шлюз."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Въведете валиден адрес за DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Въведете дължина на мреж. префикс между 0 и 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (освен ако не се замени с частен DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (освен ако не се замени с частен DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Шлюз"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Дължина на мрежов префикс"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Екранът се включва при нови известия, когато е изключен"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Часът и информ. да се показват"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"По-интензивно използване на батерията"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Удебелен текст"</string>
     <string name="title_font_size" msgid="570613010306330622">"Размер на шрифта"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Уголемяване или намаляване на текст"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Заключване на SIM картата"</string>
@@ -3032,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Не е настроен – Служебен потребителски профил"</string>
     <string name="user_admin" msgid="4024553191395768119">"Администратор"</string>
     <string name="user_you" msgid="3070562015202859996">"Вие (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Псевдоним"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Можете да добавите до <xliff:g id="USER_COUNT">%1$d</xliff:g> потребители"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Само собственикът на таблета може да управлява потребителите."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Само собственикът на телефона може да управлява потребителите."</string>
@@ -3152,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Назад"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Напред"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Край"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Правене на снимка"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Избиране на изображение"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Избиране на снимка"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM карти"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM карти"</string>
@@ -4489,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Докоснете за проверка на устройството"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"За да проверите часа, известията и друга информация, докоснете екрана."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Паник бутон"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Управлява се от <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Стартирайте действията при спешни случаи (SOS) с бързо петкратно натискане на бутона за включване/изключване."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Предупредителен звук"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Сигнал преди стартиране на действията"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Контакти при спешни случаи"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Преглед на известията с плъзване през сензора за отпечатъци"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Плъзване през сензора за отпечат."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"За да проверите известията си, плъзнете пръст надолу през сензора за отпечатъци на гърба на телефона си."</string>
@@ -4840,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM картата се изключва<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Операторът не може да бъде деактивиран"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Нещо се обърка и операторът ви не бе деактивиран."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Да се изтрие ли тази изтеглена SIM карта?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"С изтриването на тази SIM карта услугата на <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> се премахва от устройството.\n\nУслугата за <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> няма да бъде анулирана."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Изтриване на данните"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM картата се изтрива…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM картата не може да се изтрие"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Тази SIM карта не може да бъде изтрита поради грешка.\n\nРестартирайте устройството си и опитайте отново."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Свързване с устройство"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Приложението <xliff:g id="APPNAME">%1$s</xliff:g> иска да използва временна Wi-Fi мрежа, за да се свърже с устройството ви"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Няма намерени устройства. Уверете се, че устройствата са включени и налице за свързване."</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 16681c1..3e0364b 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"তারিখ ও সময়"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"তারিখ এবং সময় সেট করুন"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"তারিখ, সময়, সময় অঞ্চল ও ফর্ম্যাট সেট করুন"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"নেটওয়ার্ক প্রদত্ত সময় ব্যবহার করুন"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"নেটওয়ার্ক প্রদত্ত টাইম জোন ব্যবহার করুন"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"লোকেল ডিফল্ট ব্যবহার করুন"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"২৪-ঘণ্টা বিন্যাস"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"২৪ ঘন্টার ফর্ম্যাট ব্যবহার করুন"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"স্ক্রিন লক, আঙ্গুলের ছাপ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"স্ক্রিন লক"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"আপনার মুখ এবং আঙ্গুলের ছাপের সাহায্যে নিরাপদে ফোন আনলক করুন"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"এছাড়া আপনি অ্যাপে সাইন-ইন করে পেমেন্ট কনফার্ম করতে পারেন"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"এর সাথে আনলক সেট আপ করুন:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"মুখের সাহায্যে আনলক করার ফিচার"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"আপনার ফোন আনলক করার বিষয়টি সহজ করে তুলুন"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ডিভাইস MAC অ্যাড্রেস"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"র‌্যান্ডামাইজ করা MAC অ্যাড্রেস"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"র‌্যান্ডামাইজ করা MAC অ্যাড্রেস (শেষবার ব্যবহৃত)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"আইপি অ্যাড্রেস"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"নেটওয়ার্কের বিবরণ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"সাবনেট মাস্ক"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"একটি বৈধ গেটওয়ে ঠিকানা টাইপ করুন।"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"একটি বৈধ DNS ঠিকানা টাইপ করুন।"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"০ এবং ৩২ এর মধ্যে একটি নেটওয়ার্ক প্রিফিক্স দৈর্ঘ্য টাইপ করুন।"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"ডিএনএস ১ (যদি ব্যক্তিগত ডিএনএস-এ পরিবর্তন না করা হয়)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"ডিএনএস ২ (যদি ব্যক্তিগত ডিএনএস-এ পরিবর্তন না করা হয়)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"গেটওয়ে"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"নেটওয়ার্ক প্রিফিক্স দৈর্ঘ্য"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"ওয়াই-ফাই ডাইরেক্ট"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"স্ক্রিন অন্ধকার থাকা অবস্থায় নতুন বিজ্ঞপ্তি এলে সেটি চালু হয়ে যায়"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"সবসময় সময় এবং তথ্য দেখান"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ব্যাটারির ব্যবহার বেড়ে যায়"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"ফন্ট সাইজ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"টেক্সট বড় বা ছোট করুন"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"সিম কার্ড লক সেটিংস"</string>
@@ -3032,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"সেট-আপ করা নেই - কর্মস্থলের প্রোফাইল"</string>
     <string name="user_admin" msgid="4024553191395768119">"প্রশাসক"</string>
     <string name="user_you" msgid="3070562015202859996">"আপনি (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ডাকনাম"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"আপনি <xliff:g id="USER_COUNT">%1$d</xliff:g> জন পর্যন্ত ব্যবহারকারী যোগ করতে পারেন"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"শুধুমাত্র ট্যাবলেটেরর মালিক ব্যবহারকারীদের পরিচালনা করতে পারেন।"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"শুধুমাত্র ফোনের মালিক ব্যবহারকারীদের পরিচালনা করতে পারেন।"</string>
@@ -3152,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ফিরুন"</string>
     <string name="wizard_next" msgid="3884832431439072471">"পরবর্তী"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"শেষ"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ফটো তুলুন"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"একটি ছবি বেছে নিন"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ফটো বেছে নিন"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"সিম কার্ডগুলি"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"সিম কার্ডগুলি"</string>
@@ -4489,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ডিভাইস যাচাই করতে ট্যাপ করুন"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"সময়, বিজ্ঞপ্তি এবং অন্যান্য তথ্য দেখতে আপনার স্ক্রিনে ট্যাপ করুন।"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"প্যানিক বোতাম"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"পাওয়ার বোতাম ৫ বার দ্রুত প্রেস করে জরুরি SOS অ্যাকশন চালু করুন।"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"সতর্কতামূলক শব্দ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"অ্যাকশন শুরু করার আগে সতর্কতা সম্পর্কিত বিজ্ঞপ্তি"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"জরুরি পরিচিতি"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"বিজ্ঞপ্তির জন্য আঙ্গুলের ছাপ সোয়াইপ করা"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"আঙ্গুলের ছাপ সোয়াইপ করুন"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"আপনার বিজ্ঞপ্তিগুলি চেক করতে, আপনার ফোনের পিছনে আঙ্গুলের ছাপ নেওয়ার সেন্সরে নিচের দিকে সোয়াইপ করুন৷"</string>
@@ -4840,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"সিম বন্ধ করা হচ্ছে<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"পরিষেবা প্রদানকারীকে বন্ধ করা যাবে না"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"কোনও সমস্যা হয়েছে এবং আপনার পরিষেবা প্রদানকারীর পরিষেবা বন্ধ করা যায়নি।"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"এই ডাউনলোড করা সিম মুছে ফেলতে চান?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"এই সিম মুছে দিলে এই ডিভাইসে <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> পরিষেবা আর পাওয়া যাবে না।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> পরিষেবা কিন্তু বাতিল হবে না।"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"মুছুন"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"সিম মুছে ফেলা হচ্ছে…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"সিম মুছে ফেলা যায়নি"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"কোনও সমস্যার জন্য এই সিম মোছা যাচ্ছে না।\n\nআপনার ডিভাইস রিস্টার্ট করে আবার চেষ্টা করুন।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ডিভাইসে কানেক্ট করুন"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"আপনার ডিভাইসে কানেক্ট করার জন্য <xliff:g id="APPNAME">%1$s</xliff:g> অ্যাপ সাময়িকভাবে একটি ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করতে চায়"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"কোনও ডিভাইস খুঁজে পাওয়া যায়নি। ডিভাইস চালু আছে এবং কানেক্ট করার জন্য তৈরি কিনা তা ভাল করে দেখে নিন।"</string>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index adf1877..edb3023 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -75,7 +75,7 @@
     <item msgid="3249903732481917388">"Autentifikacija…"</item>
     <item msgid="7789156794775399931">"Dobivanje IP adrese…"</item>
     <item msgid="492518447401534767">"Povezano"</item>
-    <item msgid="4322989558568666518">"Suspendirano"</item>
+    <item msgid="4322989558568666518">"Obustavljeno"</item>
     <item msgid="286164147080824297">"Prekidanje veze…"</item>
     <item msgid="1628460745311787730">"Isključen"</item>
     <item msgid="4013828218541488949">"Neuspješno"</item>
@@ -89,7 +89,7 @@
     <item msgid="7891463004457278422">"Autentifikacija s mrežom <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
     <item msgid="3193388999810487137">"Dobivanje IP adrese iz mreže <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
     <item msgid="2227930004124157952">"Povezano s mrežom <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</item>
-    <item msgid="7104168043537022445">"Suspendirano"</item>
+    <item msgid="7104168043537022445">"Obustavljeno"</item>
     <item msgid="2595938203187002544">"Prekidanje veze s mrežom <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</item>
     <item msgid="2435175968703898648">"Isključen"</item>
     <item msgid="4804573668906374228">"Neuspješno"</item>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 8dd4703..2021621 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -42,7 +42,7 @@
     <string name="radioInfo_data_disconnected" msgid="362604130117666924">"Isključena"</string>
     <string name="radioInfo_data_connecting" msgid="7280819598028917888">"Povezivanje"</string>
     <string name="radioInfo_data_connected" msgid="8816467971633020141">"Povezano"</string>
-    <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Suspendirano"</string>
+    <string name="radioInfo_data_suspended" msgid="2001254415431299603">"Obustavljeno"</string>
     <string name="radioInfo_unknown" msgid="2892562356748600367">"Nepoznato"</string>
     <string name="sdcard_unmount" product="nosdcard" msgid="1816306320988638382">"Deaktiviraj USB pohranu"</string>
     <string name="sdcard_unmount" product="default" msgid="8078570285871053815">"Deaktiviraj SD karticu"</string>
@@ -256,8 +256,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum i vrijeme"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Postavljanje datuma i vremena"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Postavljanje datuma, vremena, vremenske zone i formata"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Koristi vrijeme koje definira mreža"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Koristi vremensku zonu koju definira mreža"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Koristi lokalni zadani format"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-satni format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Koristi 24-satni format"</string>
@@ -324,7 +326,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaključavanje ekrana, otisak prsta"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Zaključavanje ekrana"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Sigurno otključajte telefon licem i otiskom prsta"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Možete se prijaviti i u aplikacije i potvrditi plaćanje"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Postavite otključavanje koristeći:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Otključavanje licem"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Pojednostavite otključavanje telefona"</string>
@@ -1033,6 +1036,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC adresa uređaja"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Nasumično odabrana MAC adresa"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Nasumično odabrana MAC adresa (zadnje korišteno)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP adresa"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalji o mreži"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podmreže"</string>
@@ -1050,10 +1054,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Unesite važeću adresu pristupnika."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Unesite važeću DNS adresu."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Unesite dužinu mrežnog prefiksa između 0 i 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (osim ako ga nije poništio privatni DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (osim ako ga nije poništio privatni DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Pristupnik"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Dužina prefiksa mreže"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"WiFi Direct"</string>
@@ -1320,6 +1322,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kada je ekran zatamnjen, uključuje se zbog novih obavještenja"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Uvijek prikaži vrijeme i info."</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Povećana potrošnja baterije"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Boldiranje teksta"</string>
     <string name="title_font_size" msgid="570613010306330622">"Veličina fonta"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Povećajte ili smanjite tekst"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Postavke zaključavanja SIM kartice"</string>
@@ -3075,7 +3078,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nije postavljen – Radni profil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Vi (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nadimak"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Možete dodati do <xliff:g id="USER_COUNT">%1$d</xliff:g> korisnika"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Samo vlasnik tableta može upravljati korisnicima."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Samo vlasnik telefona može upravljati korisnicima."</string>
@@ -3195,9 +3197,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Nazad"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Naprijed"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Kraj"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Snimite fotografiju"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Odaberite sliku"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Odaberite fotografiju"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kartice"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kartice"</string>
@@ -4562,10 +4561,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Dodirnite da provjerite uređaj"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Da provjerite vrijeme, obavještenja i druge informacije, dodirnite ekran."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Dugme za uzbunu"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Pokrenite radnje za pomoć u hitnim slučajevima brzim pritiskanjem dugmeta za isključivanje u trajanju od 5 sekundi."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Zvuk upozorenja"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Upozorenje prije započinjanja radnji"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kontakti za hitne slučajeve"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Prevucite prstom za obavještenja"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Prevlačenje prstom"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Da provjerite obavještenja, prevucite prstom prema dolje po senzoru za otisak prsta na poleđini uređaja."</string>
@@ -4921,6 +4921,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Isključivanje SIM-a<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Nismo mogli onemogućiti operatera"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Nešto nije uredu i nismo mogli onemogućiti vašeg operatera."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Potpuno izbrisati ovaj preuzeti SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ako potpuno izbrišete ovaj SIM, s ovog uređaja će se ukloniti usluga operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>.\n\nUsluga za operatera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> neće se otkazati."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Potpuno izbriši"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Potpuno brisanje SIM-a…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nije moguće potpuno izbrisati SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Nije moguće potpuno izbrisati ovaj SIM zbog greške.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Povezivanje s uređajem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi koristiti privremenu WiFi mrežu da se poveže s vašim uređajem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nije pronađen nijedan uređaj Provjerite jesu li uređaji uključeni i dostupni za povezivanje."</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 7f54dcf..dbbf688 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data i hora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Estableix la data i l\'hora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Defineix la data, l\'hora, la zona horària i els formats"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Utilitza l\'hora proporcionada per la xarxa"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Utilitza la zona horària proporcionada per la xarxa"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Utilitza la configuració regional predeterminada"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Format de 24 hores"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Format de 24 hores"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueig de pantalla, empremta digital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Bloqueig de pantalla"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Desbloqueja el telèfon amb la cara i l\'empremta digital"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"També pots iniciar la sessió en apps i confirmar el pagament"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configura el desbloqueig amb:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desbloqueig facial"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Desbloqueja el telèfon fàcilment"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adreça MAC del dispositiu"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Adreça MAC aleatòria"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Adreça MAC aleatòria (darrer ús)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Adreça IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalls de la xarxa"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Màscara de la subxarxa"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Escriu una adreça de passarel·la vàlida."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Escriu una adreça DNS vàlida."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Escriu una longitud de prefix de xarxa entre 0 i 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (tret que se substitueixi per un DNS privat)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (tret que se substitueixi per un DNS privat)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Passarel·la"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Longitud de prefix de xarxa"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Quan la pantalla està fosca, s\'activa per a notificacions noves"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Mostra sempre hora i detalls"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Augmenta l\'ús de la bateria"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Posa el text en negreta"</string>
     <string name="title_font_size" msgid="570613010306330622">"Mida de la lletra"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Amplia o redueix el text"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Config. de bloqueig de SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"El perfil de treball no està configurat."</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
     <string name="user_you" msgid="3070562015202859996">"Tu (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Àlies"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Pots afegir fins a <xliff:g id="USER_COUNT">%1$d</xliff:g> usuaris"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Només el propietari de la tauleta pot gestionar els usuaris."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Només el propietari del telèfon pot gestionar els usuaris."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Enrere"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Següent"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finalitza"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Fes una foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Tria una imatge"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Selecciona una foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Targetes SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Targetes SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Toca per consultar el dispositiu"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Per veure l\'hora, les notificacions i altres dades, toca la pantalla."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Botó del pànic"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Per iniciar les accions d\'emergència, prem el botó d\'engegada 5 vegades ràpidament."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"So d\'advertiment"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Mostra una alerta abans d\'iniciar les accions"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contactes d\'emergència"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Fes lliscar l\'empremta digital per veure notificacions"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Fes lliscar l\'empremta"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Per consultar les notificacions, llisca cap avall al sensor d\'empremtes dactilars de la part posterior del telèfon."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"S\'està desactivant la SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"No es pot desactivar l\'operador"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"S\'ha produït un error i no s\'ha pogut desactivar l\'operador."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Vols esborrar la SIM que has baixat?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si esborres aquesta targeta SIM, el servei <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> se suprimirà del dispositiu.\n\nEl servei <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> no es cancel·larà."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Esborra"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"S\'està esborrant la SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"No es pot esborrar la SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"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="network_connection_request_dialog_title" msgid="1896186380874289434">"Connexió al dispositiu"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'aplicació <xliff:g id="APPNAME">%1$s</xliff:g> vol fer servir una xarxa Wi‑Fi temporal per connectar-se al teu dispositiu"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No s\'ha trobat cap dispositiu. Comprova que els dispositius estiguin activats i disponibles per connectar-s\'hi."</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 71da1b9..13772f4 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum a čas"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Nastavit datum a čas"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Umožňuje nastavit datum, čas, časové pásmo a formát"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Používat čas ze sítě"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Používat časové pásmo ze sítě"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Používat zdejší výchozí formát"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24hodinový formát"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Používat 24hodinový formát"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zámek obrazovky, otisky prstů"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Zámek obrazovky"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Odemykejte telefon bezpečně svým obličejem a otiskem prstu"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Můžete se také přihlašovat do aplikací a potvrzovat platby"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Nastavit odemykání pomocí:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Odemknutí obličejem"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Usnadněte si odemykání telefonu"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adresa MAC zařízení"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Náhodná adresa MAC"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Náhodná adresa MAC (naposledy použitá)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP adresa"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Podrobnosti sítě"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podsítě"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Zadejte prosím platnou adresu brány."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Zadejte prosím platnou adresu DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Zadejte prosím délku síťové předpony v rozsahu 0 až 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (pokud není přepsán soukromým DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (pokud není přepsán soukromým DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Brána"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Délka síťové předpony"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1340,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Když je obrazovka tmavá, při novém oznámení se zapne"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Vždy zobrazovat čas a informace"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Zvýšené využití baterie"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Tučný text"</string>
     <string name="title_font_size" msgid="570613010306330622">"Velikost písma"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Umožňuje zvětšit nebo zmenšit text"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Nastavení zámku SIM"</string>
@@ -3118,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nenastaveno – pracovní profil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrátor"</string>
     <string name="user_you" msgid="3070562015202859996">"Vy (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Přezdívka"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Maximální počet přidávaných uživatelů: <xliff:g id="USER_COUNT">%1$d</xliff:g>"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Uživatele smí spravovat pouze vlastník tabletu."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Uživatele smí spravovat pouze vlastník telefonu."</string>
@@ -3238,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Zpět"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Další"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Dokončit"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Vyfotit"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Zvolit obrázek"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Vybrat fotografii"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM karty"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM karty"</string>
@@ -4635,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Kontrola zařízení klepnutím"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Chcete-li zobrazit čas, oznámení a další informace, klepněte na obrazovku."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Tlačítko zvukového alarmu"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Nouzové SOS akce spustíte, když pětkrát za sebou rychle stisknete vypínač."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Zvuk upozornění"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Upozornění před zahájením akce"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Nouzové kontakty"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Sejmout otisk prstu pro zobrazení oznámení"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Sejmout otisk prstu"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Chcete-li zkontrolovat oznámení, přejeďte prstem dolů po snímači otisků prstů na zadní straně telefonu."</string>
@@ -5002,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Vypínání SIM karty<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operátora nelze deaktivovat"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Něco se pokazilo a deaktivace operátora se nezdařila."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Vymazat staženou SIM kartu?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Když vymažete tuto SIM kartu, ze zařízení bude odebrán operátor <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>.\n\nSlužba operátora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> zrušena nebude."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Vymazat"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Mazání SIM karty…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM kartu nelze vymazat"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Tuto SIM kartu nelze vymazat z důvodu chyby.\n\nRestartujte zařízení a zkuste to znovu."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Připojení k zařízení"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikace <xliff:g id="APPNAME">%1$s</xliff:g> chce za účelem připojení k zařízení použít dočasnou síť Wi-Fi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nebyla nalezena žádná zařízení. Zajistěte, aby zařízení byla zapnutá a dostupná k připojení."</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 07dbd9d..18f8ae0 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Dato og tid"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Angiv dato og klokkeslæt"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Angiv dato, klokkeslæt, tidszone og formater"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Brug netværkets tid"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Brug netværkets tidszone"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Brug landestandard"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-timersformat"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Brug 24-timers format"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skærmlås, fingeraftryk"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Skærmlås"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Lås din telefon op på sikker vis med ansigt og fingeraftryk"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Du kan også logge ind på apps og bekræfte betalinger"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Konfigurer oplåsning med:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Ansigtslås"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Gør det nemt at låse telefonen op"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Enhedens MAC-adresse"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Tilfældig MAC-adresse"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Tilfældig MAC-adresse (sidst anvendt)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-adresse"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Netværksoplysninger"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Undernetmaske"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Angiv en gyldig gatewayadresse."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Angiv en gyldig DNS-adresse."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Angiv gyldigt netværkspræfiks på 0-32 tegn."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (undtagen ved tilsidesættelse med privat DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (undtagen ved tilsidesættelse med privat DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Længde på netværkspræfiks"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Når skærmen er mørk, aktiveres den ved modtagelse af nye notifikationer"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Vis altid tidspunkt og info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Øget batteriforbrug"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Brug fed tekst"</string>
     <string name="title_font_size" msgid="570613010306330622">"Skriftstørrelse"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Gør teksten større eller mindre"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Indstillinger for låst SIM-kort"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Ikke konfigureret – Arbejdsprofil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Dig (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Kaldenavn"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Du kan tilføje op til <xliff:g id="USER_COUNT">%1$d</xliff:g> brugere"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Kun ejeren af tabletten kan administrere brugere."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Kun ejeren af telefonen kan administrere brugere."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Tilbage"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Næste"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Udfør"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Tag et billede"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Vælg et billede"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Vælg billede"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-kort"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-kort"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tryk for at tjekke enheden"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Tryk på skærmen for at se klokkeslæt, notifikationer og andre oplysninger."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panikknap"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Start nødhandlinger ved at trykke på afbryderknappen hurtigt fem gange."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Advarselslyd"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Lav en lyd, inden handlingerne påbegyndes"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kontaktpersoner ved nødsituationer"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Stryg over fingeraftrykslæser for at se notifikationer"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Stryg fingeraftryk"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Du kan tjekke dine notifikationer ved at stryge nedad på fingeraftrykslæseren på bagsiden af telefonen."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Deaktiverer SIM-kort<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Mobilselskabet kan ikke deaktiveres"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Noget gik galt, og dit mobilselskab kunne ikke deaktiveres."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Vil du rydde dette downloadede SIM-kort?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Hvis du rydder dette SIM-kort, fjernes tjenesten fra <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> på denne enhed.\n\nTjenesten fra <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> opsiges ikke."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ryd"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Rydder SIM-kort…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-kortet kan ikke ryddes"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Dette SIM-kort kan ikke ryddes på grund af en fejl.\n\nGenstart din enhed, og prøv igen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Opret forbindelse til enheden"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Appen <xliff:g id="APPNAME">%1$s</xliff:g> vil gerne have midlertidig adgang til dit Wi-Fi-netværk for at oprette forbindelse til din enhed"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Der blev ikke fundet nogen enheder. Sørg for, at enhederne er tændt, og at der kan oprettes forbindelse til dem."</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index daefa65..7123f95 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum und Uhrzeit"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Datum und Uhrzeit einstellen"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Datum, Uhrzeit, Zeitzone und Formate festlegen"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Zeit aus Netzwerk verwenden"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Zeitzone aus Netzwerk verwenden"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Standardformat für die gewählte Spracheinstellung verwenden"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-Stunden-Format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-Stunden-Format"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Displaysperre und Fingerabdruck"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Displaysperre"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Smartphone mit deinem Gesicht oder Fingerabdruck sicher entsperren"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Du kannst dich damit auch bei Apps anmelden und Zahlungen bestätigen"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Entsperren einrichten mit:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face Unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Smartphone ganz einfach entsperren"</string>
@@ -1014,6 +1017,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC-Adresse des Geräts"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Zufällige MAC-Adresse"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Zufällige MAC-Adresse (zuletzt verwendet)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-Adresse"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Netzwerkdetails"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnetzmaske"</string>
@@ -1031,10 +1035,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Gib eine gültige Gateway-Adresse ein."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Gib eine gültige DNS-Adresse ein."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Netzwerkpräfix darf maximal 32 Zeichen enthalten."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (sofern nicht von privatem DNS überschrieben)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (sofern nicht von privatem DNS überschrieben)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Länge d. Netzwerkpräfixes"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1301,6 +1303,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"Wenn das Display inaktiv ist, wird es bei neuen Benachrichtigungen aktiviert"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Zeit und Informationen immer anzeigen"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Erhöhter Akkuverbrauch"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"Schriftgröße"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Text vergrößern oder verkleinern"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Einstellungen für SIM-Sperre"</string>
@@ -2439,9 +2443,9 @@
     <string name="battery_tip_smart_battery_title" product="tablet" msgid="6813017377960004819">"Akkulaufzeit des Tablets verbessern"</string>
     <string name="battery_tip_smart_battery_title" product="device" msgid="4805599360437606335">"Akkulaufzeit des Geräts verbessern"</string>
     <string name="battery_tip_smart_battery_summary" msgid="3592965553502362965">"Funktion \"Akku-Manager\" aktivieren"</string>
-    <string name="battery_tip_early_heads_up_title" msgid="4411387863476629452">"Stromsparmodus aktivieren"</string>
+    <string name="battery_tip_early_heads_up_title" msgid="4411387863476629452">"Energiesparmodus aktivieren"</string>
     <string name="battery_tip_early_heads_up_summary" msgid="578523794827443977">"Der Akku könnte früher als üblich leer sein"</string>
-    <string name="battery_tip_early_heads_up_done_title" msgid="4413270905575486715">"Stromsparmodus ist aktiviert"</string>
+    <string name="battery_tip_early_heads_up_done_title" msgid="4413270905575486715">"Energiesparmodus ist aktiviert"</string>
     <string name="battery_tip_early_heads_up_done_summary" msgid="7858923105760361208">"Einige Funktionen sind eventuell eingeschränkt"</string>
     <string name="battery_tip_high_usage_title" product="default" msgid="2375953293196088319">"Smartphone mehr als üblich genutzt"</string>
     <string name="battery_tip_high_usage_title" product="tablet" msgid="8515903411746145740">"Tablet mehr als üblich genutzt"</string>
@@ -2479,9 +2483,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Diese App kann dann im Hintergrund laufen und beansprucht dabei den Akku. Er könnte deshalb früher als erwartet leer sein."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Entfernen"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Abbrechen"</string>
-    <string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Stromsparmodus aktivieren."</string>
-    <string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Stromsparmodus aktivieren."</string>
-    <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Stromsparmodus aktivieren."</string>
+    <string name="battery_tip_dialog_summary_message" product="default" msgid="6097167058237891756">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Energiesparmodus aktivieren."</string>
+    <string name="battery_tip_dialog_summary_message" product="tablet" msgid="573297655597451123">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Energiesparmodus aktivieren."</string>
+    <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Energiesparmodus aktivieren."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akku-Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Apps automatisch verwalten"</string>
     <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Akkunutzung für selten verwendete Apps einschränken"</string>
@@ -2574,7 +2578,7 @@
     <string name="battery_sugg_bluetooth_headset" msgid="6495519793211758353">"Mit einem anderen Bluetooth-Gerät verbinden"</string>
     <string name="battery_desc_apps" msgid="4187483940383266017">"Akkuverbrauch durch App"</string>
     <string name="battery_sugg_apps_info" msgid="4796917242296658454">"App anhalten oder deinstallieren"</string>
-    <string name="battery_sugg_apps_gps" msgid="7221335088647925110">"Stromsparmodus auswählen"</string>
+    <string name="battery_sugg_apps_gps" msgid="7221335088647925110">"Energiesparmodus auswählen"</string>
     <string name="battery_sugg_apps_settings" msgid="6527223370162382166">"Die App bietet unter Umständen Einstellungen für einen geringeren Akkuverbrauch."</string>
     <string name="battery_desc_users" msgid="1959428568888686847">"Akkuverbrauch durch Nutzer"</string>
     <string name="battery_desc_unaccounted" msgid="1649497860893660763">"Sonstiger Akkuverbrauch"</string>
@@ -2605,23 +2609,23 @@
     <string name="menu_stats_refresh" msgid="6727628139586938835">"Aktualisieren"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"Mediaserver"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"App-Optimierung"</string>
-    <string name="battery_saver" msgid="7737147344510595864">"Stromsparmodus"</string>
+    <string name="battery_saver" msgid="7737147344510595864">"Energiesparmodus"</string>
     <string name="battery_saver_auto_title" msgid="6789753787070176144">"Automatisch aktivieren"</string>
     <string name="battery_saver_auto_no_schedule" msgid="5123639867350138893">"Keine Aktivierung nach Zeitplan"</string>
     <string name="battery_saver_auto_routine" msgid="4656495097900848608">"Anhand meiner üblichen Abläufe"</string>
     <string name="battery_saver_auto_percentage" msgid="558533724806281980">"Anhand des Ladestands"</string>
-    <string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"Der Stromsparmodus wird automatisch aktiviert, wenn der Akku wahrscheinlich nicht bis zum nächsten Aufladen hält (ermittelt anhand deines üblichen Aufladezeitpunkts)."</string>
+    <string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"Der Energiesparmodus wird automatisch aktiviert, wenn der Akku wahrscheinlich nicht bis zum nächsten Aufladen hält (ermittelt anhand deines üblichen Aufladezeitpunkts)."</string>
     <string name="battery_saver_auto_percentage_summary" msgid="6190884450723824287">"Wird bei <xliff:g id="PERCENT">%1$s</xliff:g> aktiviert"</string>
     <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Zeitplan festlegen"</string>
     <string name="battery_saver_turn_on_summary" msgid="1433919417587171160">"Akkulaufzeit verlängern"</string>
     <string name="battery_saver_sticky_title_new" msgid="5942813274115684599">"Bei vollem Akku ausschalten"</string>
-    <string name="battery_saver_sticky_description_new" product="default" msgid="4969508893424116609">"Der Stromsparmodus wird deaktiviert, wenn dein Smartphone-Akku zu über <xliff:g id="PERCENT">%1$s</xliff:g> geladen ist"</string>
-    <string name="battery_saver_sticky_description_new" product="tablet" msgid="6613068787945311001">"Der Stromsparmodus wird deaktiviert, wenn dein Tablet-Akku zu über <xliff:g id="PERCENT">%1$s</xliff:g> geladen ist"</string>
-    <string name="battery_saver_sticky_description_new" product="device" msgid="8707774542183385479">"Der Stromsparmodus wird deaktiviert, wenn dein Geräteakku zu über <xliff:g id="PERCENT">%1$s</xliff:g> geladen ist"</string>
+    <string name="battery_saver_sticky_description_new" product="default" msgid="4969508893424116609">"Der Energiesparmodus wird deaktiviert, wenn dein Smartphone-Akku zu über <xliff:g id="PERCENT">%1$s</xliff:g> geladen ist"</string>
+    <string name="battery_saver_sticky_description_new" product="tablet" msgid="6613068787945311001">"Der Energiesparmodus wird deaktiviert, wenn dein Tablet-Akku zu über <xliff:g id="PERCENT">%1$s</xliff:g> geladen ist"</string>
+    <string name="battery_saver_sticky_description_new" product="device" msgid="8707774542183385479">"Der Energiesparmodus wird deaktiviert, wenn dein Geräteakku zu über <xliff:g id="PERCENT">%1$s</xliff:g> geladen ist"</string>
     <!-- no translation found for battery_saver_seekbar_title (3712266470054006641) -->
     <skip />
     <string name="battery_saver_seekbar_title_placeholder" msgid="7141264642540687540">"Aktivieren"</string>
-    <string name="battery_saver_master_switch_title" msgid="3474312070095834915">"Stromsparmodus aktivieren"</string>
+    <string name="battery_saver_master_switch_title" msgid="3474312070095834915">"Energiesparmodus aktivieren"</string>
     <string name="battery_saver_turn_on_automatically_title" msgid="7857393318205740864">"Automatisch aktivieren"</string>
     <string name="battery_saver_turn_on_automatically_never" msgid="6194649389871448663">"Nie"</string>
     <string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"bei <xliff:g id="PERCENT">%1$s</xliff:g> Akku"</string>
@@ -3033,7 +3037,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nicht eingerichtet – Arbeitsprofil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Ich (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Spitzname"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Du kannst bis zu <xliff:g id="USER_COUNT">%1$d</xliff:g> Nutzer hinzufügen."</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Nur der Eigentümer des Tablets kann Nutzer verwalten."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Nur der Eigentümer des Telefons kann Nutzer verwalten."</string>
@@ -3153,9 +3156,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Zurück"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Weiter"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Fertig"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Foto aufnehmen"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Bild auswählen"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Foto auswählen"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-Karten"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-Karten"</string>
@@ -3306,7 +3306,7 @@
     <string name="keywords_touch_vibration" msgid="1125291201902251273">"haptik, vibrieren, display, empfindlichkeit"</string>
     <string name="keywords_ring_vibration" msgid="1736301626537417541">"Haptik, vibrieren, Smartphone, Anruf, Empfindlichkeit, klingeln"</string>
     <string name="keywords_notification_vibration" msgid="9162262178415439951">"Haptik, vibrieren, Empfindlichkeit"</string>
-    <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"Stromsparmodus, fixiert, nichtflüchtig, Stromsparfunktion, Akku"</string>
+    <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"Energiesparmodus, fixiert, nichtflüchtig, Stromsparfunktion, Akku"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"ablauf, zeitplan, energiesparmodus, stromsparfunktion, akku, automatisch, prozent"</string>
     <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"VoLTE, erweiterte Anruffunktionen, 4G-Anrufe"</string>
     <string name="keywords_add_language" msgid="1882751300359939436">"Sprache hinzufügen, eine Sprache hinzufügen"</string>
@@ -4220,7 +4220,7 @@
     <string name="condition_zen_title" msgid="7674761111934567490">"\"Bitte nicht stören\" aktiviert"</string>
     <string name="condition_zen_summary_phone_muted" msgid="6516753722927681820">"Smartphone stummgeschaltet"</string>
     <string name="condition_zen_summary_with_exceptions" msgid="9019937492602199663">"Mit Ausnahmen"</string>
-    <string name="condition_battery_title" msgid="6395113995454385248">"Stromsparmodus aktiviert"</string>
+    <string name="condition_battery_title" msgid="6395113995454385248">"Energiesparmodus aktiviert"</string>
     <string name="condition_battery_summary" msgid="8436806157833107886">"Funktionen eingeschränkt"</string>
     <string name="condition_cellular_title" msgid="155474690792125747">"Mobile Daten sind deaktiviert"</string>
     <string name="condition_cellular_summary" msgid="1678098728303268851">"Internet nur über WLAN verfügbar"</string>
@@ -4397,8 +4397,8 @@
     <string name="bluetooth_connected_multiple_devices_summary" msgid="2294954614327771844">"Mit mehreren Geräten verbunden"</string>
     <string name="demo_mode" msgid="6566167465451386728">"Demomodus der System-UI"</string>
     <string name="dark_ui_mode" msgid="898146394425795281">"Dunkles Design"</string>
-    <string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="3936676430482852520">"An / Wegen Stromsparmodus vorübergehend deaktiviert"</string>
-    <string name="dark_ui_mode_disabled_summary_dark_theme_off" msgid="4154227921313505702">"Wegen Stromsparmodus vorübergehend aktiviert"</string>
+    <string name="dark_ui_mode_disabled_summary_dark_theme_on" msgid="3936676430482852520">"An / Wegen Energiesparmodus vorübergehend deaktiviert"</string>
+    <string name="dark_ui_mode_disabled_summary_dark_theme_off" msgid="4154227921313505702">"Wegen Energiesparmodus vorübergehend aktiviert"</string>
     <string name="dark_ui_settings_dark_summary" msgid="1214821092462388494">"Unterstützte Apps wechseln ebenfalls zum dunklen Design"</string>
     <string name="dark_ui_settings_dialog_acknowledge" msgid="250437497729953965">"Ok"</string>
     <string name="dark_theme_slice_title" msgid="4684222119481114062">"Dunkles Design testen"</string>
@@ -4490,10 +4490,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Beim Tippen Display aktivieren"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Wenn du auf den Bildschirm tippst, werden die Uhrzeit, Benachrichtigungen und andere Informationen angezeigt."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Paniktaste"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Drücke fünfmal schnell die Ein-/Aus-Taste, um die Aktionen für Notfälle zu starten."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Warnton"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Warnung vor Beginn der Aktionen"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Notfallkontakte"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Benachrichtigungen durch Wischen über Fingerabdrucksensor öffnen"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Fingerabdrucksensor verwenden"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Zum Lesen von Benachrichtigungen von oben nach unten über den Fingerabdrucksensor auf der Rückseite des Smartphones wischen"</string>
@@ -4841,6 +4842,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM wird deaktiviert<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Mobilfunkanbieter kann nicht deaktiviert werden"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Ein Problem ist aufgetreten. Dein Mobilfunkanbieter konnte nicht deaktiviert werden."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Diese heruntergeladene SIM löschen?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Wenn du diese SIM löschst, wird der <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-Dienst von diesem Gerät entfernt.\n\nDer Mobilfunkvertrag bei <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> wird dadurch nicht gekündigt."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Löschen"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM wird gelöscht…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM kann nicht gelöscht werden"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Beim Löschen der SIM ist ein Fehler aufgetreten.\n\nBitte starte dein Gerät neu und versuch es dann noch einmal."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Mit Gerät verbinden"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Die App \"<xliff:g id="APPNAME">%1$s</xliff:g>\" möchte sich über ein temporäres WLAN mit deinem Gerät verbinden"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Keine Geräte gefunden. Achte darauf, dass die Geräte eingeschaltet und zur Verbindung bereit sind."</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 4bc47fa..0cfe11d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Ημερομηνία και ώρα"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Ορισμός ημερομηνίας και ώρας"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Ορισμός ημερομηνίας, ώρας, ζώνης ώρας και μορφές"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Χρ. ώρας που παρέχ. από δίκτυο"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Χρήση ζώνης ώρας που παρέχεται από το δίκτυο"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Χρήση προεπιλογής τοπικών ρυθμίσεων"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24ωρη μορφή"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Χρήση μορφής 24ώρου"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Κλείδωμα οθόνης, δακτυλικό αποτύπωμα"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Κλείδωμα οθόνης"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Ξεκλείδωμα τηλεφώνου με το πρόσωπο ή το δακτυλικό αποτύπωμα"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Συνδεθείτε επίσης σε εφαρμογές και επιβεβαιώστε πληρωμές."</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Ρύθμιση ξεκλειδώματος με:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face Unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Απλοποιήστε το ξεκλείδωμα του τηλεφώνου."</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Διεύθυνση MAC συσκευής"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Τυχαία διεύθυνση MAC"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Τυχαία διεύθυνση MAC (τελευταία χρήση)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Διεύθυνση IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Λεπτομέρειες δικτύου"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Μάσκα υποδικτύου"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Πληκτρολογήστε μια έγκυρη διεύθυνση πύλης."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Πληκτρολογήστε μια έγκυρη διεύθυνση DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Εισαγάγετε το μήκος προθέματος δικτύου από 0 έως 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (εκτός αν παρακάμπτεται από Ιδιωτικό DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (εκτός αν παρακάμπτεται από Ιδιωτικό DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Πύλη"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Μήκος προθέματος δικτύου"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Όταν η οθόνη είναι σκοτεινή, ανάβει όταν λαμβάνετε νέες ειδοποιήσεις."</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Να εμφαν. πάντα ώρα και πληρ."</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Αυξημένη χρήση μπαταρίας"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Κείμενο με έντονη γραφή"</string>
     <string name="title_font_size" msgid="570613010306330622">"Μέγεθος γραμματοσειράς"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Κάντε το κείμενο μεγαλύτερο ή μικρότερο"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Ρυθμίσεις κλειδ/τος SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Δεν έχει ρυθμιστεί - Προφίλ εργασίας"</string>
     <string name="user_admin" msgid="4024553191395768119">"Διαχειριστής"</string>
     <string name="user_you" msgid="3070562015202859996">"Εσείς (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Ψευδώνυμο"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Μπορείτε να προσθέσετε έως και <xliff:g id="USER_COUNT">%1$d</xliff:g> χρήστες"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Μόνο ο κάτοχος του tablet μπορεί να διαχειριστεί χρήστες."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Μόνο ο κάτοχος του τηλεφώνου μπορεί να διαχειριστεί χρήστες."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Πίσω"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Επόμενο"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Τέλος"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Λήψη φωτογραφίας"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Επιλέξτε μια εικόνα"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Επιλογή φωτογραφίας"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Κάρτες SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Κάρτες SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Πατήστε για έλεγχο της συσκευής"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Πατήστε την οθόνη για να ελέγξετε την ώρα, τις ειδοποιήσεις και άλλες πληροφορίες."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Κουμπί πανικού"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Ξεκινήστε τις ενέργειες SOS έκτακτης ανάγκης, πατώντας γρήγορα το κουμπί λειτουργίας 5 φορές."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Ήχος ειδοποίησης"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Ειδοποίηση πριν από την έναρξη δράσεων"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Επαφές έκτακτης ανάγκης"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Σύρετε στον αισθητήρα δακτυλικών αποτυπωμάτων για ειδοποιήσεις"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Ολίσθηση δακτυλ. αποτυπ."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Για να ελέγξετε τις ειδοποιήσεις σας, σύρετε προς τα κάτω στον αισθητήρα δακτυλικών αποτυπωμάτων στο πίσω μέρος του τηλεφώνου."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Απενεργοποίηση SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Δεν είναι δυνατή η απενεργοποίηση της εταιρείας κινητής τηλεφωνίας"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Παρουσιάστηκε κάποιο πρόβλημα και δεν ήταν δυνατή η απενεργοποίηση της εταιρείας κινητής τηλεφωνίας σας."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Διαγραφή αυτής της SIM της οποίας έγινε λήψη;"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Η διαγραφή αυτής της SIM καταργεί την υπηρεσία <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> από αυτήν τη συσκευή.\n\nΗ υπηρεσία για <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> δεν θα ακυρωθεί."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Διαγραφή"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Διαγραφή SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Δεν είναι δυνατή η διαγραφή της SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Δεν είναι δυνατή η διαγραφή της SIM λόγω ενός σφάλματος .\n\nΕπανεκκινήστε τη συσκευή σας και δοκιμάστε ξανά."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Σύνδεση με τη συσκευή"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Η εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> θέλει να χρησιμοποιήσει ένα προσωρινό δίκτυο Wi‑Fi για να συνδεθεί στη συσκευή σας."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Δεν βρέθηκαν συσκευές. Βεβαιωθείτε ότι οι συσκευές είναι ενεργοποιημένες και διαθέσιμες για σύνδεση."</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 1c99341..3b1bff1 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Date and time"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Set date and time"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Set date, time, time zone, &amp; formats"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Use network-provided time"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Use network-provided time zone"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Set time automatically"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Set time zone automatically"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑hour format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Screen lock"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Unlock your phone securely with your face and fingerprint"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"You can also sign in to apps and confirm payment"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Set up unlock with:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Make unlocking your phone a breeze"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Device MAC address"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Randomised MAC address"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Randomised MAC address (last used)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP address"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Network details"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet mask"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"When screen is dark, it turns on for new notifications"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Always show time and info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Increased battery usage"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Bold text"</string>
     <string name="title_font_size" msgid="570613010306330622">"Font size"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Make text larger or smaller"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM card lock settings"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Not set up – Work profile"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"You (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nickname"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"You can add up to <xliff:g id="USER_COUNT">%1$d</xliff:g> users"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Only the tablet\'s owner can manage users."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Only the phone\'s owner can manage users."</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Back"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Next"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finish"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Take a photo"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Choose an image"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Select photo"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM cards"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM cards"</string>
@@ -4423,7 +4422,7 @@
       <item quantity="one">1 second</item>
     </plurals>
     <string name="automatic_storage_manager_settings" msgid="519158151463974656">"Manage storage"</string>
-    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed up photos and videos from your device."</string>
+    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed-up photos and videos from your device."</string>
     <string name="automatic_storage_manager_days_title" msgid="5077286114860539367">"Remove photos and videos"</string>
     <string name="automatic_storage_manager_preference_title" msgid="3483357910142595444">"Storage manager"</string>
     <string name="automatic_storage_manager_primary_switch_title" msgid="9131959126462101994">"Use storage manager"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tap to check device"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"To check time, notifications and other info, tap your screen."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panic button"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Start the emergency SOS actions by pressing the power button quickly five times."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Warning sound"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alert before starting the actions"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Emergency contacts"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Swipe fingerprint for notifications"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Swipe fingerprint"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"To check your notifications, swipe down on the fingerprint sensor on the back of your phone."</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Can\'t disable operator"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your operator could not be disabled."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Erase this downloaded SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be cancelled."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure that devices are turned on and available to connect."</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 72c830e..cfca5c7 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Date and time"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Set date and time"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Set date, time, time zone, &amp; formats"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Use network-provided time"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Use network-provided time zone"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Set time automatically"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Set time zone automatically"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑hour format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Screen lock"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Unlock your phone securely with your face and fingerprint"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"You can also sign in to apps and confirm payment"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Set up unlock with:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Make unlocking your phone a breeze"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Device MAC address"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Randomised MAC address"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Randomised MAC address (last used)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP address"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Network details"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet mask"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"When screen is dark, it turns on for new notifications"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Always show time and info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Increased battery usage"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Bold text"</string>
     <string name="title_font_size" msgid="570613010306330622">"Font size"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Make text larger or smaller"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM card lock settings"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Not set up – Work profile"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"You (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nickname"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"You can add up to <xliff:g id="USER_COUNT">%1$d</xliff:g> users"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Only the tablet\'s owner can manage users."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Only the phone\'s owner can manage users."</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Back"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Next"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finish"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Take a photo"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Choose an image"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Select photo"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM cards"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM cards"</string>
@@ -4423,7 +4422,7 @@
       <item quantity="one">1 second</item>
     </plurals>
     <string name="automatic_storage_manager_settings" msgid="519158151463974656">"Manage storage"</string>
-    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed up photos and videos from your device."</string>
+    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed-up photos and videos from your device."</string>
     <string name="automatic_storage_manager_days_title" msgid="5077286114860539367">"Remove photos and videos"</string>
     <string name="automatic_storage_manager_preference_title" msgid="3483357910142595444">"Storage manager"</string>
     <string name="automatic_storage_manager_primary_switch_title" msgid="9131959126462101994">"Use storage manager"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tap to check device"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"To check time, notifications and other info, tap your screen."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panic button"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Start the emergency SOS actions by pressing the power button quickly five times."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Warning sound"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alert before starting the actions"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Emergency contacts"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Swipe fingerprint for notifications"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Swipe fingerprint"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"To check your notifications, swipe down on the fingerprint sensor on the back of your phone."</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Can\'t disable operator"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your operator could not be disabled."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Erase this downloaded SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be cancelled."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure that devices are turned on and available to connect."</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 5d257b5..505cc1b 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Date and time"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Set date and time"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Set date, time, time zone, &amp; formats"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Use network-provided time"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Use network-provided time zone"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Set time automatically"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Set time zone automatically"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑hour format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Screen lock"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Unlock your phone securely with your face and fingerprint"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"You can also sign in to apps and confirm payment"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Set up unlock with:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Make unlocking your phone a breeze"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Device MAC address"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Randomised MAC address"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Randomised MAC address (last used)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP address"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Network details"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet mask"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"When screen is dark, it turns on for new notifications"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Always show time and info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Increased battery usage"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Bold text"</string>
     <string name="title_font_size" msgid="570613010306330622">"Font size"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Make text larger or smaller"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM card lock settings"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Not set up – Work profile"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"You (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nickname"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"You can add up to <xliff:g id="USER_COUNT">%1$d</xliff:g> users"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Only the tablet\'s owner can manage users."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Only the phone\'s owner can manage users."</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Back"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Next"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finish"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Take a photo"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Choose an image"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Select photo"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM cards"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM cards"</string>
@@ -4423,7 +4422,7 @@
       <item quantity="one">1 second</item>
     </plurals>
     <string name="automatic_storage_manager_settings" msgid="519158151463974656">"Manage storage"</string>
-    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed up photos and videos from your device."</string>
+    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed-up photos and videos from your device."</string>
     <string name="automatic_storage_manager_days_title" msgid="5077286114860539367">"Remove photos &amp; videos"</string>
     <string name="automatic_storage_manager_preference_title" msgid="3483357910142595444">"Storage manager"</string>
     <string name="automatic_storage_manager_primary_switch_title" msgid="9131959126462101994">"Use storage manager"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tap to check device"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"To check time, notifications and other info, tap your screen."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panic button"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Start the emergency SOS actions by pressing the power button quickly five times."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Warning sound"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alert before starting the actions"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Emergency contacts"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Swipe fingerprint for notifications"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Swipe fingerprint"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"To check your notifications, swipe down on the fingerprint sensor on the back of your phone."</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Can\'t disable operator"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your operator could not be disabled."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Erase this downloaded SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be cancelled."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure that devices are turned on and available to connect."</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 26f4c8f..6f9f170 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Date and time"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Set date and time"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Set date, time, time zone, &amp; formats"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Use network-provided time"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Use network-provided time zone"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Set time automatically"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Set time zone automatically"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑hour format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Screen lock, fingerprint"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Screen lock"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Unlock your phone securely with your face and fingerprint"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"You can also sign in to apps and confirm payment"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Set up unlock with:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Make unlocking your phone a breeze"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Device MAC address"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Randomised MAC address"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Randomised MAC address (last used)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP address"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Network details"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet mask"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"When screen is dark, it turns on for new notifications"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Always show time and info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Increased battery usage"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Bold text"</string>
     <string name="title_font_size" msgid="570613010306330622">"Font size"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Make text larger or smaller"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM card lock settings"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Not set up – Work profile"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"You (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nickname"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"You can add up to <xliff:g id="USER_COUNT">%1$d</xliff:g> users"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Only the tablet\'s owner can manage users."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Only the phone\'s owner can manage users."</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Back"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Next"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finish"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Take a photo"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Choose an image"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Select photo"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM cards"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM cards"</string>
@@ -4423,7 +4422,7 @@
       <item quantity="one">1 second</item>
     </plurals>
     <string name="automatic_storage_manager_settings" msgid="519158151463974656">"Manage storage"</string>
-    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed up photos and videos from your device."</string>
+    <string name="automatic_storage_manager_text" msgid="6900593059927987273">"To help free up storage space, storage manager removes backed-up photos and videos from your device."</string>
     <string name="automatic_storage_manager_days_title" msgid="5077286114860539367">"Remove photos &amp; videos"</string>
     <string name="automatic_storage_manager_preference_title" msgid="3483357910142595444">"Storage manager"</string>
     <string name="automatic_storage_manager_primary_switch_title" msgid="9131959126462101994">"Use storage manager"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tap to check device"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"To check time, notifications and other info, tap your screen."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panic button"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Managed by <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Start the emergency SOS actions by pressing the power button quickly five times."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Warning sound"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alert before starting the actions"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Emergency contacts"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Swipe fingerprint for notifications"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Swipe fingerprint"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"To check your notifications, swipe down on the fingerprint sensor on the back of your phone."</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Can\'t disable operator"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your operator could not be disabled."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Erase this downloaded SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be cancelled."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure that devices are turned on and available to connect."</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 5462a8c..ef9c86d 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎‎Date &amp; time‎‏‎‎‏‎"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‎‎Set date and time‎‏‎‎‏‎"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‎Set date, time, time zone, &amp; formats‎‏‎‎‏‎"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‏‎‎‎Use network-provided time‎‏‎‎‏‎"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎Use network-provided time zone‎‏‎‎‏‎"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎‏‎Set time automatically‎‏‎‎‏‎"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‎‎Set time zone automatically‎‏‎‎‏‎"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎Use locale default‎‏‎‎‏‎"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‎‎‎24‑hour format‎‏‎‎‏‎"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎Use 24-hour format‎‏‎‎‏‎"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎Screen lock, fingerprint‎‏‎‎‏‎"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‎Screen lock‎‏‎‎‏‎"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‎Unlock your phone securely with your face and fingerprint‎‏‎‎‏‎"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎You can also sign in to apps and confirm payment‎‏‎‎‏‎"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‎Set up unlock with:‎‏‎‎‏‎"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎Face unlock‎‏‎‎‏‎"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎Make unlocking your phone a breeze‎‏‎‎‏‎"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎SSID‎‏‎‎‏‎"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‎Device MAC address‎‏‎‎‏‎"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎Randomized MAC address‎‏‎‎‏‎"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‎Randomized MAC address (last used)‎‏‎‎‏‎"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎IP address‎‏‎‎‏‎"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎Network details‎‏‎‎‏‎"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎Subnet mask‎‏‎‎‏‎"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎When screen is dark, it turns on for new notifications‎‏‎‎‏‎"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎Always show time and info‎‏‎‎‏‎"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎Increased battery usage‎‏‎‎‏‎"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎Bold Text‎‏‎‎‏‎"</string>
     <string name="title_font_size" msgid="570613010306330622">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎Font size‎‏‎‎‏‎"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‏‏‏‏‎Make text larger or smaller‎‏‎‎‏‎"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‎SIM card lock settings‎‏‎‎‏‎"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎Not set up - Work profile‎‏‎‎‏‎"</string>
     <string name="user_admin" msgid="4024553191395768119">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‏‏‏‎Admin‎‏‎‎‏‎"</string>
     <string name="user_you" msgid="3070562015202859996">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎You (‎‏‎‎‏‏‎<xliff:g id="NAME">%s</xliff:g>‎‏‎‎‏‏‏‎)‎‏‎‎‏‎"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎Nickname‎‏‎‎‏‎"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‎You can add up to ‎‏‎‎‏‏‎<xliff:g id="USER_COUNT">%1$d</xliff:g>‎‏‎‎‏‏‏‎ users‎‏‎‎‏‎"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎Only the tablet’s owner can manage users.‎‏‎‎‏‎"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎Only the phone’s owner can manage users.‎‏‎‎‏‎"</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‎Back‎‏‎‎‏‎"</string>
     <string name="wizard_next" msgid="3884832431439072471">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎Next‎‏‎‎‏‎"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‎Finish‎‏‎‎‏‎"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎Take a photo‎‏‎‎‏‎"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎Choose an image‎‏‎‎‏‎"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎Select photo‎‏‎‎‏‎"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎SIM cards‎‏‎‎‏‎"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎SIM cards‎‏‎‎‏‎"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎Tap to check device‎‏‎‎‏‎"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‏‎To check time, notifications, and other info, tap your screen.‎‏‎‎‏‎"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎Panic button‎‏‎‎‏‎"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‎Managed by ‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎Start the emergency SOS actions by pressing the power button quickly 5 times.‎‏‎‎‏‎"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎Warning sound‎‏‎‎‏‎"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎‏‎Alert before starting the actions‎‏‎‎‏‎"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎Emergency contacts‎‏‎‎‏‎"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎Swipe fingerprint for notifications‎‏‎‎‏‎"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎Swipe fingerprint‎‏‎‎‏‎"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎To check your notifications, swipe down on the fingerprint sensor on the back of your phone.‎‏‎‎‏‎"</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎Turning off SIM‎‏‎‎‏‏‎<xliff:g id="ELLIPSIS">…</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎Can\'t disable carrier‎‏‎‎‏‎"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎Something went wrong and your carrier could not be disabled.‎‏‎‎‏‎"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎Erase this downloaded SIM?‎‏‎‎‏‎"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎Erasing this SIM removes ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>‎‏‎‎‏‏‏‎ service from this device.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Service for ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won\'t be canceled.‎‏‎‎‏‎"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎Erase‎‏‎‎‏‎"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‏‏‎Erasing SIM…‎‏‎‎‏‎"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎Can\'t erase SIM‎‏‎‎‏‎"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎This SIM can\'t be erased due to an error.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Restart your device and try again.‎‏‎‎‏‎"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎Connect to device‎‏‎‎‏‎"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ app wants to use a temporary Wi‑Fi network to connect to your device‎‏‎‎‏‎"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎No devices found. Make sure devices are turned on and available to connect.‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index d92ed2e..61be414 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Fecha y hora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Configurar fecha y hora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Establecer fecha, hora, zona horaria y formatos"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Usar la hora de la red"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Usar la zona horaria proporcionada por la red"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar configuración regional predeterminada"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formato de 24 horas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Formato de 24 horas"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueo de pantalla, huella digital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Bloqueo de pantalla"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Usa tu rostro y huella digital para desbloquear el teléfono"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"También puedes usarlo para acceder a apps y confirmar pagos"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configura el desbloqueo con:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desbloqueo facial"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Desbloquea el teléfono con facilidad"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Dirección MAC del dispositivo"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Dirección MAC aleatoria"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Dirección MAC aleatoria (último uso)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Dirección IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalles de la red"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Máscara de subred"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Escribe una dirección de puerta de enlace válida."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Escribe una dirección DNS válida."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Escribe una longitud de prefijo de red entre 0 y 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (a menos que lo anule un DNS privado)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (a menos que lo anule un DNS privado)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Puerta de enlace"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Longitud de prefijo de red"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi directo"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"La pantalla se enciende para indicar nuevas notificaciones cuando está apagada"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Mostrar información y hora"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"El uso de la batería será mayor"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Texto en negrita"</string>
     <string name="title_font_size" msgid="570613010306330622">"Tamaño de fuente"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Aumenta o reduce el tamaño del texto en pantalla"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Bloqueo de la tarjeta SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Sin configurar: perfil de trabajo"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
     <string name="user_you" msgid="3070562015202859996">"Tú (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Seudónimo"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Puedes agregar hasta <xliff:g id="USER_COUNT">%1$d</xliff:g> usuarios"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Solo los propietarios de la tablet pueden administrar los usuarios."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Solo los propietarios del dispositivo pueden administrar los usuarios."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Atrás"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Siguiente"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finalizar"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Tomar una foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Elegir una imagen"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Seleccionar foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Tarjetas SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Tarjetas SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Presiona para revisar el dispositivo"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Para consultar la hora, las notificaciones y otra información, presiona la pantalla."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Botón de pánico"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Para iniciar las acciones de ayuda en emergencias, presiona rápido el botón de encendido 5 veces."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Sonido de advertencia"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alerta previa al inicio de las acciones"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contactos de emergencia"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Deslizar tu huella para ver notificaciones"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Deslizar huella digital"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Para ver las notificaciones, desliza el dedo hacia abajo en el sensor de huellas digitales ubicado en la parte posterior del teléfono."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desactivando SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"No se puede inhabilitar el proveedor"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Se produjo un error y no se pudo inhabilitar tu proveedor."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"¿Quieres borrar esta tarjeta SIM descargada?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si borras esta tarjeta SIM, se quitará el servicio de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de este dispositivo.\n\nSin embargo, no se cancelará el servicio de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Borrar"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Borrando tarjeta SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"No se puede borrar la tarjeta SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"No es posible borrar esta tarjeta SIM porque se produjo un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar al dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"La app de <xliff:g id="APPNAME">%1$s</xliff:g> quiere usar una red Wi-Fi temporal para conectarse a tu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No se encontraron dispositivos. Asegúrate de que los dispositivos estén encendidos y puedan conectarse."</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index c9519a7..1bf6d55 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Fecha y hora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Establecer fecha y hora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Establecer fecha, hora, zona horaria y formatos"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Usar la hora proporcionada por la red"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Usar la zona horaria proporcionada por la red"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar la configuración regional predeterminada"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formato de 24 horas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usar formato de 24 horas"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueo de pantalla y huella digital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Bloqueo de pantalla"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Desbloquea el móvil de forma segura con tu cara y huella"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"También puedes iniciar sesión en apps y confirmar pagos"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configura el desbloqueo con:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desbloqueo facial"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Haz que desbloquear tu móvil sea fácil"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Dirección MAC del dispositivo"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Dirección MAC aleatoria"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Dirección MAC aleatorizada (última utilizada)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Dirección IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalles de la red"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Máscara de subred"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Introduce una dirección de puerta de enlace válida."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Introduce una dirección DNS válida."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Introduce un prefijo de red que tenga entre 0 y 32 caracteres."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (a menos que un DNS privado lo anule)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (a menos que un DNS privado lo anule)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Puerta de enlace"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Longitud del prefijo de red"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Cuando la pantalla está apagada, se activa si hay notificaciones nuevas"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Mostrar información y hora"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Aumenta el uso de la batería"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Texto en negrita"</string>
     <string name="title_font_size" msgid="570613010306330622">"Tamaño de la fuente"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Aumenta o disminuye el tamaño del texto"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Ajustes bloqueo de SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Sin configurar: perfil de trabajo"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
     <string name="user_you" msgid="3070562015202859996">"Tú (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Apodo"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Puedes añadir hasta <xliff:g id="USER_COUNT">%1$d</xliff:g> usuarios"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Solo el propietario del tablet puede administrar los usuarios."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Solo el propietario del teléfono puede administrar los usuarios."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Volver"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Siguiente"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finalizar"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Hacer una foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Seleccionar una imagen"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Seleccionar foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Tarjetas SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Tarjetas SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Toca para comprobar el dispositivo"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Para ver la hora, las notificaciones y otra información, toca la pantalla."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Botón de pánico"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Puedes iniciar las acciones de SOS de emergencia pulsando el botón de encendido 5 veces rápidamente."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Sonido de alerta"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Avisar antes de iniciar las acciones"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contactos de emergencias"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Deslizar por el sensor de huellas para ver notificaciones"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Deslizar por sensor de huella digital"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Para ver tus notificaciones, desliza el dedo hacia abajo en el sensor de huellas digitales de la parte trasera del teléfono."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desactivando tarjeta SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"No se ha podido inhabilitar el operador"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Se ha producido un error y no se ha podido inhabilitar tu operador."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"¿Borrar esta SIM descargada?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si borras esta SIM, el servicio de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> dejará de estar disponible en este dispositivo.\n\nNo se cancelará el servicio de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Borrar"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Borrando SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"No se puede borrar la SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"No se puede borrar esta SIM debido a un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar a dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"La aplicación <xliff:g id="APPNAME">%1$s</xliff:g> quiere usar una red Wi-Fi temporal para conectarse a tu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No se ha encontrado ningún dispositivo. Comprueba que estén encendidos y listos para conectarse."</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index e8afea6..c26ed51 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Kuupäev ja kellaaeg"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Kuupäeva ja kellaaja määramine"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Määra kuupäev, kellaaeg, ajavöönd ja vormingud"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Kasuta võrgu pakutud kellaaega"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Kasuta võrgu pakutud ajavööndit"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Kasuta lokaadi vaikeseadet"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-tunnine vorming"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-tunnise vormingu kasutamine"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekraanilukk, sõrmejälg"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Ekraanilukk"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Avage telefon turvaliselt oma näo ja sõrmejäljega"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Samuti saate rakendustesse sisse logida ja makseid kinnitada"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Seadistage avamine järgmisega."</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face Unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Muutke oma telefoni avamine imelihtsaks"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Seadme MAC-aadress"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Juhulikustatud MAC-aadress"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Juhuslikustatud MAC-aadress (viimati kasutatud)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-aadress"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Võrgu üksikasjad"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Alamvõrgu mask"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Sisestage kehtiv lüüsi aadress."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Sisestage kehtiv DNS-aadress."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Sisestage võrgu eesliide pikkusega 0 kuni 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (kui privaatne DNS pole seda alistanud)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (kui privaatne DNS pole seda alistanud)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Lüüs"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Võrgu prefiksi pikkus"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"WiFi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kui ekraan on välja lülitatud, lülitatakse see uute märguannete puhul sisse"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Alati aja ja teabe kuvamine"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Suurem akukasutus"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Paks tekst"</string>
     <string name="title_font_size" msgid="570613010306330622">"Fondi suurus"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Teksti suuremaks või väiksemaks muutmine"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM-kaardi luku seaded"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Seadistamata – tööprofiil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administraator"</string>
     <string name="user_you" msgid="3070562015202859996">"Teie (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Hüüdnimi"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Saate lisada kuni <xliff:g id="USER_COUNT">%1$d</xliff:g> kasutajat"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Ainult tahvelarvuti omanik saab hallata kasutajaid."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Ainult telefoni omanik saab hallata kasutajaid."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Tagasi"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Järgmine"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Lõpeta"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Pildista"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Vali pilt"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Foto valimine"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-kaardid"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-kaardid"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Puudutamine seadme kontrollimiseks"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Kellaaja, märguannete ja muu teabe vaatamiseks puudutage oma ekraani."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Paanikanupp"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Hädaolukorra SOS-toimingute käivitamiseks vajutage kiiresti viis korda järjest toitenuppu."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Hoiatusheli"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Hoiata enne toimingute käivitamist"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Hädaolukorra kontaktid"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Sõrmejälje pühkimine märguannete vaatamiseks"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Sõrmejälje pühkimine"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Märguannete kontrollimiseks pühkige telefoni tagaküljel oleval sõrmejäljeanduril alla."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-kaardi väljalülitamine <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operaatorit ei saa keelata"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Midagi läks valesti ja teie operaatorit ei saanud keelata."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Kas soovite allalaaditud SIM-kaardi kustutada?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"SIM-kaardi kustutamisel eemaldatakse seadmest operaatori <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> teenus.\n\nOperaatori <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> teenust ei tühistata."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Kustuta"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM-kaardi kustutamine …"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-kaarti ei saa kustutada"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Seda SIM-kaarti ei saa vea tõttu kustutada.\n\nTaaskäivitage seade ja proovige uuesti."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Seadmega ühendamine"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Rakendus <xliff:g id="APPNAME">%1$s</xliff:g> soovib kasutada ajutist WiFi-võrku, et teie seadmega ühendus luua"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Seadmeid ei leitud. Veenduge, et seadmed oleksid sisse lülitatud ja ühendamiseks saadaval."</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 3a3d050..4d9c435 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data eta ordua"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Zehaztu data eta ordua"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Ezarri data, ordua, ordu-zona eta formatuak"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Erabili sareak emandako ordua"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Erabili sareak emandako ordu-zona"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Erabili lurraldeko ezarpen lehenetsiak"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 orduko formatua"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Erabili 24 orduko formatua"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Pantailaren blokeoa, hatz-marka"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Pantailaren blokeoa"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Desblokeatu telefonoa segurtasunez aurpegiarekin eta hatz-markarekin"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Aplikazioetan saioa has dezakezu, eta ordainketak berretsi"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Konfiguratu desblokeatzeko eginbidea honekin:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desblokeatu aurpegiaren bidez"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Erraztu telefonoa desblokeatzeko prozesua"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Gailuaren MAC helbidea"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Ausaz antolatutako MAC helbidea"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Ausaz antolatutako MAC helbidea (erabilitako azkena)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP helbidea"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Sarearen xehetasunak"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Azpisarearen maskara"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Idatzi baliozko atebide-helbidea."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Idatzi baliozko DNS helbidea."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Idatzi 0 eta 32 karaktere arteko sare-aurrizkia."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (DNS pribatuak ordezten ez duen kasuetan)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (DNS pribatuak ordezten ez duen kasuetan)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Atebidea"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Sare-aurrizkiaren luzera"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Pantaila ilun dagoenean, piztu egiten da jakinarazpenak jasotzean"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Erakutsi ordua eta informazioa"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Bateria asko kontsumitzen du"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Testu lodia"</string>
     <string name="title_font_size" msgid="570613010306330622">"Letra-tamaina"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Handitu edo txikitu testua"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM txartelaren blokeo-ezarpenak"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Konfiguratu gabe: laneko profila"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administratzailea"</string>
     <string name="user_you" msgid="3070562015202859996">"Zu (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Goitizena"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> erabiltzaile gehi ditzakezu gehienez"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Tabletaren jabeak baino ezin ditu erabiltzaileak kudeatu."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Telefonoaren jabeak baino ezin ditu erabiltzaileak kudeatu."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Atzera"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Hurrengoa"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Amaitu"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Atera argazki bat"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Aukeratu irudi bat"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Hautatu argazkia"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM txartelak"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM txartelak"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Sakatu gailua egiaztatzeko"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Ordua, jakinarazpenak eta bestelako informazioa ikusteko, sakatu pantaila."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Izu-botoia"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Larrialdi-ekintzak abiarazteko, sakatu etengailua azkar bost aldiz."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Abisu-soinua"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Jo alerta bat ekintzak abiarazi aurretik"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Larrialdietarako kontaktuak"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Pasatu hatza sentsoretik jakinarazpenak ikusteko"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Pasatu hatza sentsoretik"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Jakinarazpenei begiratu bat emateko, pasatu hatza behera telefonoaren atzealdeko hatz-marken sentsorean."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM txartela desaktibatzen<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Ezin da desgaitu operadorea"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Arazoren bat izan da, eta ezin izan da desgaitu operadorea."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Deskargatutako SIM txartel honetako eduki guztia ezabatu?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"SIM txartel honetako eduki guztia ezabatuz gero, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> operadorearen zerbitzua kenduko da gailu honetatik.\n\nEz da utziko bertan behera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> operadorearen zerbitzua."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ezabatu eduki guztia"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM txarteleko eduki guztia ezabatzen…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Ezin da ezabatu SIM txarteleko eduki guztia"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ezin da ezabatu SIM txarteleko eduki guztia errore bat gertatu delako.\n\nBerrabiarazi gailua eta saiatu berriro."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Konektatu gailura"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioak aldi baterako wifi-sare bat erabili nahi du zure gailura konektatzeko"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Ez da aurkitu gailurik. Ziurtatu gailuak piztuta daudela eta konekta daitezkeela."</string>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index bf7bbe6..74c4a88 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -421,10 +421,10 @@
     <item msgid="6621806338070912611">"PPTP VPN"</item>
     <item msgid="2552427673212085780">"‏L2TP/IPSec VPN با کلیدهای از قبل به اشتراک گذاشته شده"</item>
     <item msgid="7378096704485168082">"‏L2TP/IPSec VPN با گواهی"</item>
-    <item msgid="3792393562235791509">"‏IPSec VPN با کلیدهای از قبل به اشتراک گذاشته شده و احراز هویت Xauth"</item>
-    <item msgid="2484564813864139237">"‏IPSec VPN با گواهی و احراز هویت Xauth"</item>
-    <item msgid="68918911194507915">"‏IPSec VPN دارای گواهی و احراز هویت دوگانه"</item>
-    <item msgid="4631647675167100375">"‏IKEv2/IPSec VPN دارای گواهی و احراز هویت گذرواژه/ نام کاربری"</item>
+    <item msgid="3792393562235791509">"‏IPSec VPN با کلیدهای از قبل به اشتراک گذاشته شده و اصالت‌سنجی Xauth"</item>
+    <item msgid="2484564813864139237">"‏IPSec VPN با گواهی و اصالت‌سنجی Xauth"</item>
+    <item msgid="68918911194507915">"‏IPSec VPN دارای گواهی و اصالت‌سنجی دوگانه"</item>
+    <item msgid="4631647675167100375">"‏IKEv2/IPSec VPN دارای گواهی و اصالت‌سنجی گذرواژه/ نام کاربری"</item>
     <item msgid="8812228622975052811">"‏IKEv2/IPSec VPN با کلیدهای ازپیش مشترک‌شده"</item>
     <item msgid="6630554779981113046">"‏IKEv2/IPSec VPN دارای گواهی"</item>
   </string-array>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 0515836..e312117 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"تاریخ و ساعت"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"تنظیم تاریخ و زمان"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"تنظیم تاریخ، ساعت، منطقهٔ زمانی و قالب‌ها"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"استفاده از زمان ارائه‌شده شبکه"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"استفاده از منطقه زمانی ارائه‌شده از شبکه"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"استفاده از پیش‌فرض منطقه زبانی"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"قالب ۲۴ ساعته"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"استفاده از قالب ۲۴ ساعته"</string>
@@ -314,14 +316,15 @@
     <string name="lockscreen_settings_what_to_show_category" msgid="9205490627927741254">"چه چیزی نشان داده شود"</string>
     <string name="security_settings_summary" msgid="1627059516127354233">"تنظیم مکان من، قفل صفحه، قفل سیم کارت، قفل حافظه اطلاعات کاربری"</string>
     <string name="cdma_security_settings_summary" msgid="2455517905101186330">"تنظیم مکان من، بازگشایی قفل صفحه، قفل حافظه اطلاعات کاربری"</string>
-    <string name="security_passwords_title" msgid="4154420930973818581">"حریم خصوصی"</string>
+    <string name="security_passwords_title" msgid="4154420930973818581">"حریم‌خصوصی"</string>
     <string name="disabled_by_administrator_summary" msgid="5424846182313851124">"در دسترس نیست"</string>
     <string name="security_status_title" msgid="6958004275337618656">"وضعیت امنیتی"</string>
     <string name="security_dashboard_summary_face" msgid="4198949293847206382">"قفل صفحه، باز کردن قفل با چهره"</string>
     <string name="security_dashboard_summary" msgid="8750183806533140464">"قفل صفحه، اثر انگشت"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"قفل صفحه"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"قفل تلفن را به‌طور ایمن با چهره و اثر انگشتتان باز کنید"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"همچنین می‌توانید به سیستم برنامه‌ها وارد شوید و پرداخت را تأیید کنید"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"راه‌اندازی قفل‌گشایی با:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"بازگشایی با چهره"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"قفل تلفن را مثل آب خوردن باز کنید"</string>
@@ -335,7 +338,7 @@
     <string name="security_settings_face_profile_preference_title" msgid="4618796080378248740">"بازگشایی با چهره برای کار"</string>
     <string name="security_settings_face_enroll_education_title" msgid="8662585502032112675">"نحوه راه‌اندازی بازگشایی با چهره"</string>
     <string name="security_settings_face_enroll_education_title_accessibility" msgid="4632402390714441918">"راه‌اندازی بازگشایی با چهره"</string>
-    <string name="security_settings_face_enroll_education_title_unlock_disabled" msgid="8810954233979716906">"استفاده از چهره‌تان برای احراز هویت"</string>
+    <string name="security_settings_face_enroll_education_title_unlock_disabled" msgid="8810954233979716906">"استفاده از چهره‌تان برای اصالت‌سنجی"</string>
     <string name="security_settings_face_enroll_education_message" msgid="4308030157487176799"></string>
     <string name="security_settings_face_enroll_education_start" msgid="8830924400907195590">"شروع"</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_message" msgid="4681495507974718824">"‏اگر «بازگشایی با چهره» درحالت دسترس‌پذیری خاموش باشد، ممکن است برخی مراحل راه‌اندازی به‌خوبی با TalkBack کار نکنند."</string>
@@ -350,7 +353,7 @@
     <string name="security_settings_face_enroll_introduction_agree" msgid="1822303197642630076">"موافق"</string>
     <string name="security_settings_face_enroll_introduction_more" msgid="1970820298889710532">"بیشتر"</string>
     <string name="security_settings_face_enroll_introduction_title" msgid="7061610077237098046">"با چهره‌تان قفل را باز کنید"</string>
-    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"از چهره‌تان برای احراز هویت استفاده کنید"</string>
+    <string name="security_settings_face_enroll_introduction_title_unlock_disabled" msgid="5903924766168353113">"از چهره‌تان برای اصالت‌سنجی استفاده کنید"</string>
     <string name="security_settings_face_enroll_introduction_message" msgid="3015751486939484934">"برای باز کردن قفل تلفنتان، مجاز کردن خریدها یا ورود به سیستم برنامه‌ها، از چهر‌ه‌تان استفاده کنید."</string>
     <string name="security_settings_face_enroll_introduction_message_unlock_disabled" msgid="5841976283789481311">"از چهره‌تان برای باز کردن قفل تلفن یا تأیید خریدها استفاده کنید.\n\nتوجه: نمی‌توانید از چهره‌تان برای باز کردن قفل این دستگاه استفاده کنید. برای اطلاعات بیشتر، با سرپرست سیستم سازمانتان تماس بگیرید."</string>
     <string name="security_settings_face_enroll_introduction_message_setup" msgid="765965418187421753">"برای باز کردن قفل تلفنتان، مجاز کردن خریدها یا ورود به سیستم برنامه‌ها، از چهر‌ه‌تان استفاده کنید"</string>
@@ -893,7 +896,7 @@
     <string name="passpoint_label" msgid="6513669696739302866">"ذخیره از طریق"</string>
     <string name="passpoint_content" msgid="5219226173518418335">"اطلاعات کاربری <xliff:g id="NAME">%1$s</xliff:g>"</string>
     <string name="wifi_eap_method" msgid="3776009521349381742">"‏روش EAP"</string>
-    <string name="please_select_phase2" msgid="577633852089847142">"مرحله دوم احراز هویت"</string>
+    <string name="please_select_phase2" msgid="577633852089847142">"مرحله دوم اصالت‌سنجی"</string>
     <string name="wifi_eap_ca_cert" msgid="8033404008276298886">"‏گواهی CA"</string>
     <string name="wifi_eap_ocsp" msgid="8713933962516871238">"وضعیت گواهی آنلاین"</string>
     <string name="wifi_eap_domain" msgid="8304301470752333203">"دامنه"</string>
@@ -911,7 +914,7 @@
     <string name="wifi_ap_5G" msgid="3493942667238551207">"۵٫۰ گیگاهرتز"</string>
     <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>
+    <string name="wifi_privacy_settings" msgid="3283946009000725698">"حریم‌خصوصی"</string>
     <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>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"‏نشانی MAC دستگاه"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"‏نشانی MAC تصادفی"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"‏نشانی MAC تصادفی (آخرین استفاده)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"‏نشانی IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"جزئیات شبکه"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"پوشش زیرشبکه"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"یک آدرس دروازه معتبر را تایپ کنید."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"‏یک آدرس DNS معتبر را تایپ کنید."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"یک پیشوند شبکه با طول بین 0 تا 32 نویسه تایپ کنید."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"ساناد ۱ (مگراینکه «ساناد خصوصی» آن را ملغی کند)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"ساناد ۲ (مگراینکه «ساناد خصوصی» آن را ملغی کند)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"دروازه"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"طول پیشوند شبکه"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"‏اتصال مستقیم Wi-Fi"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"وقتی صفحه تاریک است، برای اعلان‌های جدید روشن می‌شود"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"همیشه زمان و اطلاعات نمایش داده شود"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"مصرف باتری بالا"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"نوشتار پررنگ"</string>
     <string name="title_font_size" msgid="570613010306330622">"اندازه قلم"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"نوشتار را بزرگ‌تر یا کوچک‌تر کنید"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"تنظیمات قفل سیم کارت"</string>
@@ -1579,7 +1582,7 @@
     <string name="apn_mms_port" msgid="6500563737462966663">"درگاه فراپیام"</string>
     <string name="apn_mcc" msgid="4971414138516074809">"MCC"</string>
     <string name="apn_mnc" msgid="1926382406843447854">"MNC"</string>
-    <string name="apn_auth_type" msgid="4234397513494356932">"نوع احراز هویت"</string>
+    <string name="apn_auth_type" msgid="4234397513494356932">"نوع اصالت‌سنجی"</string>
     <string name="apn_auth_type_none" msgid="6845031410929644238">"خالی"</string>
     <string name="apn_auth_type_pap" msgid="9003475621032514182">"PAP"</string>
     <string name="apn_auth_type_chap" msgid="3587713509473187621">"CHAP"</string>
@@ -2166,10 +2169,10 @@
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"برای استفاده از این ویژگی، روی دکمه دسترس‌پذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحه ضربه بزنید.\n\nبرای جابه‌جایی بین ویژگی‌ها، دکمه دسترس‌پذیری را لمس کنید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"برای استفاده از این ویژگی، هر دو کلید میزان صدا را فشار دهید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"برای راه‌اندازی یا متوقف کردن درشت‌نمایی، روی جایی از صفحه‌نمایش سه ضربه بزنید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"برای استفاده از این ویژگی، با ۲ انگشت از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به بالا بکشید و نگه دارید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"برای استفاده از این ویژگی، با ۳ انگشت از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به بالا بکشید و نگه دارید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"برای استفاده از ویژگی دسترس‌پذیری، با ۲ انگشت از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به بالا بکشید و نگه دارید."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"برای استفاده از ویژگی دسترس‌پذیری، با ۳ انگشت از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به بالا بکشید و نگه دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"برای استفاده از این ویژگی، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به‌بالا بکشید و نگه دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"برای استفاده از این ویژگی، با ۳ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به‌بالا بکشید و نگه دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"برای استفاده از ویژگی دسترس‌پذیری، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به‌بالا بکشید و نگه دارید."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"برای استفاده از ویژگی دسترس‌پذیری، با ۳ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"متوجه شدم"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"میان‌بر <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"دکمه دسترس‌پذیری"</string>
@@ -2177,8 +2180,8 @@
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"با ۳ انگشت تند به‌طرف بالا بکشید"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"روی دکمه دسترس‌پذیری ضربه بزنید"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"روی دکمه دسترس‌پذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحه ضربه بزنید.\n\nبرای جابه‌جایی بین ویژگی‌ها، دکمه دسترس‌پذیری را لمس کنید و نگه دارید."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"با ۲ انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به بالا بکشید و نگه دارید."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"با ۳ انگشت، از پایین صفحه تند به بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به بالا بکشید و نگه دارید."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"با ۲ انگشت، از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به‌بالا بکشید و نگه دارید."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"با ۳ انگشت، از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"نگه‌داشتن کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"نگه داشتن کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"هردو کلید میزان صدا را فشار دهید و نگه دارید"</string>
@@ -2243,7 +2246,7 @@
     <string name="captioning_more_options_title" msgid="3484496882942539652">"گزینه‌های دیگر"</string>
     <string name="accessibility_caption_preference_summary" msgid="1191356970836416954">"همه برنامه‌ها از این اولویت‌های زیرنویس پشتیبانی نمی‌کنند"</string>
     <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"دکمه دسترس‌پذیری"</string>
-    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"با ۲ انگشت تند به بالا بکشید"</string>
+    <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"با ۲ انگشت تند به‌بالا بکشید"</string>
     <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"کلیدهای میزان صدا را نگه‌دارید"</string>
     <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"سه ضربه روی صفحه بزنید"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"ادامه"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"تنظیم نشده - نمایه کاری"</string>
     <string name="user_admin" msgid="4024553191395768119">"سرپرست"</string>
     <string name="user_you" msgid="3070562015202859996">"شما (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"نام مستعار"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"تا <xliff:g id="USER_COUNT">%1$d</xliff:g> کاربر می‌توانید اضافه کنید"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"فقط صاحب رایانه لوحی می‌تواند کاربران را مدیریت کند."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"فقط صاحب گوشی می‌تواند کاربران را مدیریت کند."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"برگشت"</string>
     <string name="wizard_next" msgid="3884832431439072471">"بعدی"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"پایان"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"عکس گرفتن"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"انتخاب تصویر"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"انتخاب عکس"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"سیم‌کارت‌ها"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"سیم‌کارت‌ها"</string>
@@ -3276,7 +3275,7 @@
     <string name="keywords_payment_settings" msgid="6268791289277000043">"پرداخت کردن، ضربه زدن، پرداخت‌ها"</string>
     <string name="keywords_backup" msgid="707735920706667685">"پشتیبان‌گیری، پشتیبان"</string>
     <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"اشاره"</string>
-    <string name="keywords_face_unlock" msgid="545338452730885392">"چهره، بازگشایی، احراز هویت، ورود به سیستم"</string>
+    <string name="keywords_face_unlock" msgid="545338452730885392">"چهره، بازگشایی، اصالت‌سنجی، ورود به سیستم"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"‏imei، ‏meid،‏ min، نسخه prl، ‏imei sv"</string>
     <string name="keywords_sim_status" msgid="8784456547742075508">"‏شبکه، وضعیت شبکه تلفن همراه، وضعیت سرویس، شدت سیگنال، نوع شبکه تلفن همراه، فراگردی، iccid و eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"شماره سریال، نسخه سخت‌افزار"</string>
@@ -3508,8 +3507,8 @@
     <string name="bubble_app_setting_unbubble_conversation" msgid="1769789500566080427">"خاموش کردن حبابک‌ها برای این مکالمه"</string>
     <string name="bubble_app_setting_bubble_conversation" msgid="1461981680982964285">"روشن کردن حبابک‌ها برای این مکالمه"</string>
     <string name="swipe_direction_title" msgid="4260320464727178413">"کنش‌های تند کشیدن"</string>
-    <string name="swipe_direction_ltr" msgid="5137180130142633085">"برای رد کردن تند به چپ بکشید و برای نمایش منو تند به راست بکشید"</string>
-    <string name="swipe_direction_rtl" msgid="1707391213940663992">"برای رد کردن تند به راست بکشید و برای نمایش منو تند به چپ بکشید"</string>
+    <string name="swipe_direction_ltr" msgid="5137180130142633085">"برای رد کردن تند به‌چپ بکشید و برای نمایش منو تند به‌راست بکشید"</string>
+    <string name="swipe_direction_rtl" msgid="1707391213940663992">"برای رد کردن تند به‌راست بکشید و برای نمایش منو تند به‌چپ بکشید"</string>
     <string name="gentle_notifications_title" msgid="2793492905132530991">"اعلان‌های ملایم"</string>
     <string name="gentle_notifications_also_display" msgid="8617545395880297691">"همچنین نمایش داده شود در"</string>
     <string name="gentle_notifications_display_status" msgid="7410244447768694856">"نوار وضعیت"</string>
@@ -4444,7 +4443,7 @@
     <string name="double_twist_for_camera_suggestion_title" msgid="8178844037382604158">"سریع‌تر گرفتن خودگرفت"</string>
     <string name="system_navigation_title" msgid="1698862900901417194">"پیمایش سیستمی"</string>
     <string name="swipe_up_to_switch_apps_title" msgid="6677266952021118342">"پیمایش ۲ دکمه‌ای"</string>
-    <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"برای جابه‌جایی بین برنامه‌ها، دکمه صفحه اصلی را تند به بالا بکشید. برای دیدن همه برنامه‌ها، دوباره تند به بالا بکشید. برای برگشت، روی دکمه برگشت ضربه بزنید."</string>
+    <string name="swipe_up_to_switch_apps_summary" msgid="1415457307836359560">"برای جابه‌جایی بین برنامه‌ها، دکمه صفحه اصلی را تند به‌بالا بکشید. برای دیدن همه برنامه‌ها، دوباره تند به‌بالا بکشید. برای برگشت، روی دکمه برگشت ضربه بزنید."</string>
     <string name="swipe_up_to_switch_apps_suggestion_title" msgid="5754081720589900007">"دکمه صفحه اصلی جدید را امتحان کنید"</string>
     <string name="swipe_up_to_switch_apps_suggestion_summary" msgid="8885866570559435110">"برای تغییر برنامه‌ها، اشاره جدید را روشن کنید"</string>
     <string name="edge_to_edge_navigation_title" msgid="714427081306043819">"پیمایش اشاره‌ای"</string>
@@ -4467,7 +4466,7 @@
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"برای بررسی رایانه لوحی، دو ضربه سریع بزنید"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"برای بررسی دستگاه، دو ضربه سریع بزنید"</string>
     <string name="swipe_bottom_to_notifications_title" msgid="7631744948948666524">"کشیدن برای دیدن اعلان‌ها"</string>
-    <string name="swipe_bottom_to_notifications_summary" msgid="8073261995155440308">"برای نمایش اعلان‌ها، در قسمت پایین لبه صفحه تند به پایین بکشید"</string>
+    <string name="swipe_bottom_to_notifications_summary" msgid="8073261995155440308">"برای نمایش اعلان‌ها، در قسمت پایین لبه صفحه تند به‌پایین بکشید"</string>
     <string name="one_handed_title" msgid="1741600445540072513">"حالت تک حرکت"</string>
     <string name="one_handed_mode_enabled" msgid="3396864848786359651">"استفاده از حالت تک حرکت"</string>
     <string name="one_handed_app_taps_to_exit" msgid="1496702498286387879">"خروج وقتی‌که بین برنامه‌ها جابه‌جا می‌شوید"</string>
@@ -4489,15 +4488,16 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ضربه زدن برای بررسی دستگاه"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"برای بررسی زمان، اعلان‌ها و اطلاعات دیگر، روی صفحه‌نمایش ضربه بزنید."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"دکمه وحشت"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"با پنج‌بار فشار دادن سریع دکمه روشن/خاموش، کنش‌های مربوط به درخواست کمک اضطراری را شروع کنید."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"صدای هشدار"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"اعلام هشدار پیش از شروع کنش‌ها"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"مخاطبین اضطراری"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"تند کشیدن اثر انگشت برای اعلان‌ها"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"تند کشیدن اثر انگشت"</string>
-    <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"برای بررسی اعلان‌ها، انگشتتان را روی حسگر اثر انگشت (در پشت تلفن) تند به پایین بکشید."</string>
-    <string name="fingerprint_swipe_for_notifications_summary" product="tablet" msgid="8642092907817554454">"برای بررسی اعلان‌ها، انگشتتان را روی حسگر اثر انگشت (در پشت رایانه لوحی) تند به پایین بکشید."</string>
-    <string name="fingerprint_swipe_for_notifications_summary" product="device" msgid="3888927017311372398">"برای بررسی اعلان‌ها، انگشتتان را روی حسگر اثر انگشت (در پشت دستگاه) تند به پایین بکشید."</string>
+    <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"برای بررسی اعلان‌ها، انگشتتان را روی حسگر اثر انگشت (در پشت تلفن) تند به‌پایین بکشید."</string>
+    <string name="fingerprint_swipe_for_notifications_summary" product="tablet" msgid="8642092907817554454">"برای بررسی اعلان‌ها، انگشتتان را روی حسگر اثر انگشت (در پشت رایانه لوحی) تند به‌پایین بکشید."</string>
+    <string name="fingerprint_swipe_for_notifications_summary" product="device" msgid="3888927017311372398">"برای بررسی اعلان‌ها، انگشتتان را روی حسگر اثر انگشت (در پشت دستگاه) تند به‌پایین بکشید."</string>
     <string name="fingerprint_swipe_for_notifications_suggestion_title" msgid="2956636269742745449">"دیدن سریع اعلان‌ها"</string>
     <string name="gesture_setting_on" msgid="3223448394997988591">"روشن"</string>
     <string name="gesture_setting_off" msgid="3444029475726294919">"خاموش"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"خاموش کردن سیم‌کارت<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"شرکت مخابراتی غیرفعال نشد"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"مشکلی پیش آمد و شرکت مخابراتی‌تان غیرفعال نشد."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"این سیم‌کارت بارگیری‌شده پاک‌سازی شود؟"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"با پاک‌سازی این سیم‌کارت، سرویس <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> از این دستگاه برداشته می‌شود.\n\nسرویس مربوط به <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> لغو نمی‌شود."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"پاک‌سازی"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"درحال پاک‌سازی سیم‌کارت…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"سیم‌کارت پاک‌سازی نشد"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"به‌دلیل بروز خطا، این سیم‌کارت پاک‌سازی نشد.\n\nدستگاه را بازراه‌اندازی کنید و دوباره امتحان کنید."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"اتصال به دستگاه"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏برنامه <xliff:g id="APPNAME">%1$s</xliff:g> برای اتصال به دستگاهتان می‌خواهد از شبکه Wi-Fi موقت استفاده کند"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"دستگاهی پیدا نشد. مطمئن شوید دستگاه‌ها روشن و برای اتصال دردسترس هستند."</string>
@@ -4865,7 +4871,7 @@
     <string name="hwui_force_dark_summary" msgid="6515748781487952769">"ویژگی اجبار حالت تاریک را برای همیشه روشن بودن لغو می‌کند"</string>
     <string name="enable_blurs_on_windows_title" msgid="4218144213800778872">"فعال‌سازی محو کردن"</string>
     <string name="enable_blurs_on_windows_summary" msgid="8962906921531490386">"محو کردن پنجره را در سطح ترکیب‌کننده فعال می‌کند. راه‌اندازی مجدد دستگاه لازم است."</string>
-    <string name="privacy_dashboard_title" msgid="6845403825611829558">"حریم خصوصی"</string>
+    <string name="privacy_dashboard_title" msgid="6845403825611829558">"حریم‌خصوصی"</string>
     <string name="privacy_dashboard_summary" msgid="5775090172422786808">"مجوزها، فعالیت حساب، داده‌های شخصی"</string>
     <string name="contextual_card_dismiss_remove" msgid="8636557343011606722">"حذف"</string>
     <string name="contextual_card_dismiss_keep" msgid="440516181066490747">"حفظ شود"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 844a3a8..15e26b5 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Päivämäärä ja aika"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Aseta päivämäärä ja aika"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Aseta päivämäärä, aika, aikavyöhyke ja muodot"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Käytä verkon määrittämää aikaa"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Käytä verkon määrittämää aikavyöhykettä"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Käytä paikallista oletusasetusta"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 tunnin kello"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Käytä 24-tuntista kelloa"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Näytön lukitus, sormenjälki"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Näytön lukitus"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Avaa puhelimen lukitus kasvoilla ja sormenjäljellä"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Voit myös kirjautua sovelluksiin ja vahvistaa maksuja"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Ota käyttöön lukituksen avaus tällä:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face Unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Helpota puhelimen lukituksen avaamista"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Laitteen MAC-osoite"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Satunnaistettu MAC-osoite"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Satunnaistettu MAC-osoite (viimeksi käytetty)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-osoite"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Verkon tiedot"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Aliverkon peite"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Anna kelvollinen yhdyskäytävän osoite."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Anna kelvollinen nimipalvelun osoite."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Anna verkon etuliite, jonka pituus on välillä 0–32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ellei ohitettu yksityisellä DNS:llä)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ellei ohitettu yksityisellä DNS:llä)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Yhdyskäytävä"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Verkon etuliitteen pituus"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kun näyttö on pimeä, se aktivoituu uusien ilmoitusten myötä"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Näytä aina aika ja tiedot"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Tämä asetus kuluttaa akkua nopeammin"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Lihavoi teksti"</string>
     <string name="title_font_size" msgid="570613010306330622">"Fontin koko"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Suurenna tai pienennä tekstiä."</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM-kortin lukitusasetukset"</string>
@@ -1425,8 +1428,8 @@
     <string name="sd_mount_summary" product="default" msgid="2190410240845521205"></string>
     <string name="sd_format" product="nosdcard" msgid="8657427883364711513">"Tyhjennä USB-tila"</string>
     <string name="sd_format" product="default" msgid="9085302892248732329">"Tyhjennä SD-kortti"</string>
-    <string name="sd_format_summary" product="nosdcard" msgid="6179784504937189658">"Poistaa kaikki sisäisen USB-tallennustilan tiedot, kuten musiikin tai valokuvat."</string>
-    <string name="sd_format_summary" product="default" msgid="60583152211068164">"Poistaa kaikki SD-kortin tiedot, kuten musiikin ja valokuvat"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="6179784504937189658">"Poistaa kaikki sisäisen USB-tallennustilan tiedot, kuten musiikin tai kuvat."</string>
+    <string name="sd_format_summary" product="default" msgid="60583152211068164">"Poistaa kaikki SD-kortin tiedot, kuten musiikin ja kuvat"</string>
     <string name="memory_clear_cache_title" msgid="2605096903803953619">"Tyhjennetäänkö välimuistitiedot?"</string>
     <string name="memory_clear_cache_message" msgid="4759561226480906588">"Sovellusten välimuistit tyhjennetään."</string>
     <string name="mtp_ptp_mode_summary" msgid="7969656567437639239">"MTP- tai PTP-toiminto on käytössä"</string>
@@ -1486,7 +1489,7 @@
     <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"Kun tämä <xliff:g id="NAME_0">^1</xliff:g> poistetaan, siihen tallennetut sovellukset lakkaavat toimimasta eivätkä mediatiedostot ole käytettävissä ennen kuin se liitetään uudelleen."</b>" \n\n<xliff:g id="NAME_1">^1</xliff:g> on alustettu niin, että se toimii vain tämän laitteen kanssa."</string>
     <string name="storage_internal_forget_details" msgid="5606507270046186691">"Jos haluat käyttää tallennuslaitteen <xliff:g id="NAME">^1</xliff:g> sisältämiä sovelluksia, kuvia tai tietoja, liitä se uudelleen. \n\nVoit myös halutessasi unohtaa tämän tallennuslaitteen, jos se ei ole käytettävissä. \n\nJos päätät unohtaa laitteen, menetät kaikki sen sisältämät tiedot lopullisesti. \n\nVoit asentaa sovellukset uudelleen myöhemmin, mutta niiden laitteelle tallentamat tiedot menetetään."</string>
     <string name="storage_internal_forget_confirm_title" msgid="379238668153099015">"Unohdetaanko <xliff:g id="NAME">^1</xliff:g>?"</string>
-    <string name="storage_internal_forget_confirm" msgid="5752634604952674123">"Kaikki kohteen (<xliff:g id="NAME">^1</xliff:g>) sovellukset, valokuvat ja tiedot poistetaan pysyvästi."</string>
+    <string name="storage_internal_forget_confirm" msgid="5752634604952674123">"Kaikki kohteen (<xliff:g id="NAME">^1</xliff:g>) sovellukset, kuvat ja tiedot poistetaan pysyvästi."</string>
     <string name="storage_detail_apps" msgid="5055911985540355324">"Sovellukset"</string>
     <string name="storage_detail_images" msgid="6003883845718804371">"Kuvahaku"</string>
     <string name="storage_detail_videos" msgid="9079894412680404208">"Videot"</string>
@@ -1635,8 +1638,8 @@
     <string name="main_clear_desc_erase_external_storage" product="default" msgid="1498514970618215728">\n\n"Jos haluat poistaa musiikin, kuvat ja muun käyttäjädatan, tyhjennä "<b>"SD-kortti"</b>"."</string>
     <string name="erase_external_storage" product="nosdcard" msgid="2182181846128639635">"Tyhjennä USB-tallennustila"</string>
     <string name="erase_external_storage" product="default" msgid="2610056855012660451">"Tyhjennä SD-kortti"</string>
-    <string name="erase_external_storage_description" product="nosdcard" msgid="6358699244894944843">"Poista kaikki sisäisen USB-tallennustilan tiedot, kuten musiikki tai valokuvat."</string>
-    <string name="erase_external_storage_description" product="default" msgid="3367779850546310380">"Poista kaikki SD-kortin tiedot, kuten musiikki tai valokuvat."</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="6358699244894944843">"Poista kaikki sisäisen USB-tallennustilan tiedot, kuten musiikki tai kuvat."</string>
+    <string name="erase_external_storage_description" product="default" msgid="3367779850546310380">"Poista kaikki SD-kortin tiedot, kuten musiikki tai kuvat."</string>
     <string name="main_clear_button_text" product="tablet" msgid="6246087475569640671">"Poista kaikki data"</string>
     <string name="main_clear_button_text" product="default" msgid="6246087475569640671">"Poista kaikki data"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Kaikki henkilökohtaiset tietosi ja ladatut sovellukset poistetaan. Toimintoa ei voi kumota."</string>
@@ -2728,7 +2731,7 @@
     <string name="backup_erase_dialog_title" msgid="5892431263348766484"></string>
     <string name="backup_erase_dialog_message" msgid="2250872501409574331">"Haluatko lopettaa Wi-Fi-salasanojen, kirjanmerkkien, muiden asetuksien ja sovellustietojen varmuuskopioinnin ja poistaa kaikki kopiot Googlen palvelimilta?"</string>
     <string name="fullbackup_erase_dialog_message" msgid="2379053988557486162">"Lopetetaanko laitteen tietojen (kuten Wi-Fi-salasanojen ja soittohistorian) ja sovellusten tietojen (kuten asetusten ja sovellusten tallentamien tiedostojen) automaattinen varmuuskopiointi? Myös vanhat varmuuskopiot poistetaan etäpalvelimilta."</string>
-    <string name="fullbackup_data_summary" msgid="971587401251601473">"Varmuuskopioi laitteen tiedot (kuten Wi-Fi-salasanat ja soittohistoria) sekä sovellusten tiedot (kuten asetukset ja sovellusten tallentamat tiedostot) automaattisesti etäyhteyden kautta.\n\nKun otat automaattisen varmuuskopioinnin käyttöön, laitteen ja sovellusten tiedot varmuuskopioidaan säännöllisesti etäyhteyden kautta. Sovellusten tietoihin voi sisältyä mitä tahansa tietoja, joita sovellukset ovat tallentaneet (kehittäjien asetuksien perusteella). Ne saattavat sisältää myös arkaluontoisia tietoja, kuten yhteystietoja, viestejä ja valokuvia."</string>
+    <string name="fullbackup_data_summary" msgid="971587401251601473">"Varmuuskopioi laitteen tiedot (kuten Wi-Fi-salasanat ja soittohistoria) sekä sovellusten tiedot (kuten asetukset ja sovellusten tallentamat tiedostot) automaattisesti etäyhteyden kautta.\n\nKun otat automaattisen varmuuskopioinnin käyttöön, laitteen ja sovellusten tiedot varmuuskopioidaan säännöllisesti etäyhteyden kautta. Sovellusten tietoihin voi sisältyä mitä tahansa tietoja, joita sovellukset ovat tallentaneet (kehittäjien asetuksien perusteella). Ne saattavat sisältää myös arkaluontoisia tietoja, kuten yhteystietoja, viestejä ja kuvia."</string>
     <string name="device_admin_settings_title" msgid="31392408594557070">"Laitteenhallinnan asetukset"</string>
     <string name="active_device_admin_msg" msgid="7744106305636543184">"Laitteenhallintasovellus"</string>
     <string name="remove_device_admin" msgid="3143059558744287259">"Poista laitteenhallintasovellus käytöstä"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Ei määritetty – työprofiili"</string>
     <string name="user_admin" msgid="4024553191395768119">"Järjestelmänvalvoja"</string>
     <string name="user_you" msgid="3070562015202859996">"Sinä (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Lempinimi"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Voit lisätä korkeintaan <xliff:g id="USER_COUNT">%1$d</xliff:g> käyttäjää."</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Vain tablet-laitteen omistaja voi hallita käyttäjiä."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Vain puhelimen omistaja voi hallita käyttäjiä."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Takaisin"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Seuraava"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Valmis"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Ota kuva"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Valitse kuva"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Valitse valokuva"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-kortit"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-kortit"</string>
@@ -4056,7 +4055,7 @@
     <string name="usb_use_file_transfers" msgid="483915710802018503">"Tiedostonsiirto"</string>
     <string name="usb_use_file_transfers_desc" msgid="1020257823387107336">"Siirrä tiedostoja toiselle laitteelle."</string>
     <string name="usb_use_photo_transfers" msgid="4641181628966036093">"PTP"</string>
-    <string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"Siirrä valokuvia tai tiedostoja, jos MTP:tä ei tueta (PTP)."</string>
+    <string name="usb_use_photo_transfers_desc" msgid="7490250033610745765">"Siirrä kuvia tai tiedostoja, jos MTP:tä ei tueta (PTP)."</string>
     <string name="usb_use_tethering" msgid="2897063414491670531">"Internetin jakaminen USB:n kautta"</string>
     <string name="usb_use_MIDI" msgid="8621338227628859789">"MIDI"</string>
     <string name="usb_use_MIDI_desc" msgid="6464135515868405143">"Käytä tätä laitetta MIDI-tilassa."</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tarkista laitteen ilmoitukset napauttamalla"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Napauta näyttöä, niin näet ajan, ilmoitukset ja muita tietoja."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Paniikkinappula"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Aloita hätätilannepalvelujen käyttö painamalla virtapainiketta nopeasti viisi kertaa."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Varoitusääni"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Ilmoita ennen aloittamista"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Hätäyhteyshenkilöt"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Pyyhkäise ilmoitukset esiin"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Sormenjäljen pyyhkäisy"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Voit katsoa ilmoitukset pyyhkäisemällä puhelimen takaosassa olevasta sormenjälkitunnistimesta alaspäin."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Laitetaan SIM-korttia pois päältä<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operaattoria ei voi poistaa käytöstä"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Jotain meni pieleen. Operaattoria ei voitu poistaa käytöstä."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Tyhjennetäänkö ladattu SIM-kortti?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Tämän SIM-kortin tyhjentäminen poistaa palvelun (<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>) laitteelta.\n\nPalvelua (<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>) ei peruuteta."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Tyhjennä"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Tyhjennetään SIM-korttia…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-korttia ei voi tyhjentää"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM-korttia ei voi tyhjentää virheen vuoksi.\n\nKäynnistä laite uudelleen ja yritä sitten uudelleen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Laitteeseen yhdistäminen"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> haluaa käyttää väliaikaista Wi-Fi-verkkoa laitteeseen yhdistämiseksi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Laitteita ei löytynyt. Varmista, että laitteet ovat päällä ja voivat muodostaa yhteyden."</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 37b4370..88a025e 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Date et heure"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Régler la date et l\'heure"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Configurer la date, l\'heure, le fuseau horaire et les formats"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Utiliser la date et l\'heure fournies par le réseau"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Utiliser le fuseau horaire fourni par le réseau"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Utiliser les paramètres régionaux par défaut"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Format 24 heures"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Utiliser le format 24 h"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Verrouillage de l\'écran, empreintes digitales"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Verrouillage de l\'écran"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Déverr. votre tél. avec votre visage et votre empr. digitale"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Connectez-vous à des applications et confirmez vos paiements"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configurer le déverrouillage avec :"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Déverrouill. par reconn. faciale"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Simplifiez le déverrouillage du téléphone"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adresse MAC de l\'appareil"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Adresse MAC aléatoire"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Adresse MAC aléatoire (dernière utilisée)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Adresse IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Infos sur le réseau"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Masque de sous-réseau"</string>
@@ -1298,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Lorsque l\'écran est sombre, il s\'allume en cas de nouvelles notifications"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Toujours affich. heure et données"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Utilisation accrue de la pile"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Mettre le texte en gras"</string>
     <string name="title_font_size" msgid="570613010306330622">"Taille de police"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Agrandissez ou réduisez le texte"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Paramètres de verrouillage SIM"</string>
@@ -3030,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Non configuré : profil professionnel"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"Vous (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Pseudonyme"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Vous pouvez ajouter jusqu\'à <xliff:g id="USER_COUNT">%1$d</xliff:g> utilisateurs"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Seul le propriétaire de la tablette peut gérer les utilisateurs."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Seul le propriétaire de la tablette peut gérer les utilisateurs."</string>
@@ -3150,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Précédent"</string>
     <string name="wizard_next" msgid="3884832431439072471">"SUIVANT"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Terminer"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Prendre une photo"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Sélectionner une image"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Sélectionner une photo"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Cartes SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Cartes SIM"</string>
@@ -4487,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Toucher pour vérifier l\'appareil"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Pour vérifier l\'heure, vos notifications et d\'autres renseignements, touchez l\'écran."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Bouton de panique"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Démarrez les actions de SOS d\'urgence en appuyant rapidement cinq fois sur l\'interrupteur."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Son d\'avertissement"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Émettre une alerte avant de démarrer les actions"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contacts d\'urgence"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Balayer le lecteur d\'empreintes pour voir les notifications"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Balayer empreinte digit."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Pour consulter vos notifications, passer votre doigt de haut en bas sur le capteur d\'empreintes digitales à l\'arrière du téléphone."</string>
@@ -4838,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Désactivation de la carte SIM en cours<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Impossible de désactiver le fournisseur de services"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Une erreur s\'est produite et le fournisseur de services n\'a pas pu être désactivé."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Effacer ce module SIM téléchargé?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si vous effacez ce module SIM, le service de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sera retiré de cet appareil.\n\nLe service de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne sera pas annulé."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Effacer"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Effacement du module SIM en cours…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Impossible d\'effacer le module SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ce module SIM ne peut pas être effacé en raison d\'une erreur.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Se connecter à l’appareil"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'application <xliff:g id="APPNAME">%1$s</xliff:g> souhaite utiliser un réseau Wi‑Fi temporaire pour se connecter à votre appareil"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Aucun appareil trouvé. Assurez-vous que l\'appareil est allumé et prêt à se connecter."</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 843331c..7b7a8e5 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Date et heure"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Régler la date et l\'heure"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Configurer la date, l\'heure, le fuseau horaire et les formats"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Utiliser la date et l\'heure fournies par le réseau"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Utiliser le fuseau horaire fourni par le réseau"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Utiliser les paramètres régionaux par défaut"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Format 24 heures"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Utiliser le format 24h"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Verrouillage de l\'écran, empreinte digitale"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Verrouillage de l\'écran"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Profitez du déverrouillage par visage et empreinte digitale"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Connectez-vous aux applications et confirmez les paiements"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configurez le déverrouillage par :"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face Unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Déverrouillez votre téléphone facilement"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adresse MAC de l\'appareil"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Adresse MAC aléatoire"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Adresse MAC aléatoire (dernière utilisée)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Adresse IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Détails du réseau"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Masque de sous-réseau"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Saisissez une adresse de passerelle valide."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Saisissez une adresse DNS correcte."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Le préfixe réseau doit être compris entre 0 et 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (sauf si un DNS privé a la priorité)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (sauf si un DNS privé a la priorité)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Passerelle"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Longueur du préfixe réseau"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Lorsque l\'écran est sombre, il s\'allume en cas de nouvelles notifications"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Toujours afficher heure et infos"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Batterie davantage sollicitée"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Mettre en gras"</string>
     <string name="title_font_size" msgid="570613010306330622">"Taille de la police"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Agrandir ou réduire le texte"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Verrouillage SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Non configuré – Profil professionnel"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrateur"</string>
     <string name="user_you" msgid="3070562015202859996">"Vous (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Pseudonyme"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Vous pouvez ajouter jusqu\'à <xliff:g id="USER_COUNT">%1$d</xliff:g> utilisateurs."</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Seul le propriétaire de la tablette peut gérer les utilisateurs."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Seul le propriétaire du téléphone peut gérer les utilisateurs."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Retour"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Suivant"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Terminer"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Prendre une photo"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Choisir une image"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Sélectionner une photo"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Cartes SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Cartes SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Appuyer pour vérifier l\'appareil"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Pour afficher l\'heure, les notifications et d\'autres informations, appuyez sur l\'écran."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Bouton d\'appel d\'urgence"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Appelez les services d\'urgence en appuyant rapidement cinq fois sur le bouton Marche/Arrêt."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Son d\'avertissement"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alerter avant de démarrer les actions"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contacts à joindre en cas d\'urgence"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Balayer le lecteur d\'empreinte digitale pour voir les notifications"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Balayer lecteur empreinte"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Pour consulter vos notifications, passez votre doigt de haut en bas sur le lecteur d\'empreinte digitale à l\'arrière du téléphone."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Désactivation de la carte SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Impossible de désactiver l\'opérateur"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Un problème a empêché l\'appareil de désactiver votre opérateur."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Effacer cette carte SIM téléchargée ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"L\'effacement de cette carte SIM va supprimer le service <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de cet appareil.\n\nLe service pour <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne sera pas annulé."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Effacer"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Effacement de la carte SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Impossible d\'effacer la carte SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Une erreur empêche l\'effacement de cette carte SIM.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connexion à l\'appareil"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'application <xliff:g id="APPNAME">%1$s</xliff:g> souhaite utiliser un réseau Wi‑Fi temporaire pour établir la connexion à votre appareil"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Aucun appareil trouvé. Assurez-vous que des appareils soient activés et prêts à être connectés."</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 81d85b0..3110417 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data e hora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Definir data e hora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Axusta a data, a hora, o fuso horario e os formatos"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Usar hora indicada pola rede"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Usar fuso horario indicado pola rede"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar configuración rexional predeterminada"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formato de 24 horas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usar formato de 24 horas"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueo de pantalla, impresión dixital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Bloqueo de pantalla"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Desbloquea o teléfono usando a cara e a impresión dixital"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Tamén podes iniciar sesión en aplicacións e confirmar pagos"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configurar desbloqueo con:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desbloqueo facial"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Desbloquea o teléfono a fume de carozo"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Enderezo MAC do dispositivo"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Enderezo MAC aleatorio"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Enderezo MAC aleatorio (usado a última vez)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Enderezo IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalles da rede"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Máscara de subrede"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Escribe un enderezo de pasarela válido."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Escribe un enderezo DNS válido."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Escribe un prefixo de rede con lonxitude de 0-32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (a menos que o anule un DNS privado)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (a menos que o anule un DNS privado)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Pasarela"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Lonxitude prefixo de rede"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Cando a pantalla está escura, actívase para notificacións novas"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Mostrar sempre a hora e datos"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Maior uso da batería"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Usar letra grosa"</string>
     <string name="title_font_size" msgid="570613010306330622">"Tamaño do tipo de letra"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Reduce ou amplía o texto"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Configuración de bloqueo da SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Non configurado: perfil de traballo"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
     <string name="user_you" msgid="3070562015202859996">"Ti (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Alcume"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Podes engadir ata <xliff:g id="USER_COUNT">%1$d</xliff:g> usuarios."</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Só o propietario da tableta pode xestionar usuarios."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Só o propietario do teléfono pode xestionar usuarios."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Atrás"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Seguinte"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finalizar"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Tirar unha foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Escoller unha imaxe"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Seleccionar foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Tarxetas SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Tarxetas SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tocar para consultar o dispositivo"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Para consultar a hora, as notificacións e outra información, toca a pantalla."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Botón de pánico"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Inicia as accións SOS de emerxencia premendo rapidamente o botón de acendido 5 veces."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Son de advertencia"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Mostrar unha alerta antes de iniciar as accións"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contactos de emerxencia"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Pasar o dedo polo sensor de impresións dixitais para ver as notificacións"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Pasar dedo polo sensor"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Para consultar as notificacións, pasa o dedo cara abaixo sobre o sensor de impresión dixital situado na parte traseira do teléfono."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desactivando SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Non se puido desactivar o operador"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Produciuse un erro e non se puido desactivar o operador."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Queres borrar esta SIM descargada?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ao borrar esta SIM, quitarase o servizo de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo.\n\nNon se cancelará o servizo de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Borrar"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Borrando SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Non se puido borrar a SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Esta SIM non se puido borrar debido a un erro.\n\nReinicia o dispositivo e téntao de novo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar co dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A aplicación <xliff:g id="APPNAME">%1$s</xliff:g> quere utilizar unha rede wifi temporal para conectar co teu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Non se atoparon dispositivos. Asegúrate de que estean activados e dispoñibles para a conexión."</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index edfc3ad..3f33bc5 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"તારીખ અને સમય"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"તારીખ અને સમય સેટ કરો"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"તારીખ, સમય, સમય ઝોન અને ફોર્મેટ્સ સેટ કરો"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"નેટવર્કે આપેલા સમયનો ઉપયોગ કરો"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"નેટવર્ક દ્વારા પ્રદાન કરાયેલ સમય ઝોનનો ઉપયોગ કરો"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ડિફૉલ્ટ લોકેલનો ઉપયોગ કરો"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑કલાકનું ફોર્મેટ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-કલાક ફોર્મેટનો ઉપયોગ કરો"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"સ્ક્રીન લૉક, ફિંગરપ્રિન્ટ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"સ્ક્રીન લૉક"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"તમારો ફોન ચહેરા અને ફિંગરપ્રિન્ટ વડે સુરક્ષિત રીતે અનલૉક કરો"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"તમે ઍપમાં સાઇન ઇન કરીને ચુકવણી પણ કન્ફર્મ કરી શકો છો"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"આના વડે અનલૉક કરવાનું સેટઅપ કરો:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ફેસ અનલૉક"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"તમારા ફોનને અનલૉક કરવાનું સરળ બનાવો"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ડિવાઇસનું MAC ઍડ્રેસ"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"રેન્ડમ કરેલું MAC ઍડ્રેસ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"રેન્ડમ કરેલું MAC ઍડ્રેસ (છેલ્લે ઉપયોગ કરાયો)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP ઍડ્રેસ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"નેટવર્કની વિગતો"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"સબનેટ માસ્ક"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"એક માન્ય ગેટવે સરનામું લખો."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"એક માન્ય DNS સરનામું લખો."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 અને 32 વચ્ચે એક નેટવર્ક પ્રીફિક્સ લંબાઈ લખો."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (સિવાય કે ખાનગી DNS દ્વારા ઓવરરાઇડ કર્યું હોય)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (સિવાય કે ખાનગી DNS દ્વારા ઓવરરાઇડ કર્યું હોય)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ગેટવે"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"નેટવર્ક પ્રીફિક્સ લંબાઈ"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"વાઇ-ફાઇ ડાઇરેક્ટ"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"જ્યારે સ્ક્રીન ઘેરા રંગની હોય છે, ત્યારે તે નવા નોટિફિકેશન માટે ચાલુ થઈ જાય છે"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"સમય અને માહિતી હંમેશાં બતાવો"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"વધારેલો બૅટરી વપરાશ"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"ફોન્ટનું કદ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ટેક્સ્ટને નાની અથવા મોટી કરો"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"સિમ કાર્ડ લૉક સેટિંગ્સ"</string>
@@ -3032,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"સેટ કરેલ નથી - કાર્યાલયની પ્રોફાઇલ"</string>
     <string name="user_admin" msgid="4024553191395768119">"એડમિન"</string>
     <string name="user_you" msgid="3070562015202859996">"તમે (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ઉપનામ"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"તમે <xliff:g id="USER_COUNT">%1$d</xliff:g> જેટલા વપરાશકર્તાઓ ઉમેરી શકો છો"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"માત્ર ટેબ્લેટના માલિક વપરાશકર્તાને સંચાલિત કરી શકે છે."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"માત્ર ફોનના માલિક વપરાશકર્તાને સંચાલિત કરી શકે છે."</string>
@@ -3152,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"પાછળ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"આગલું"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"સમાપ્ત"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ફોટો લો"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"છબી પસંદ કરો"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ફોટો પસંદ કરો"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"સિમ કાર્ડ"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"સિમ કાર્ડ"</string>
@@ -4489,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ડિવાઇસ ચેક કરવા માટે ટૅપ કરો"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"સમય, નોટિફિકેશન અને અન્ય માહિતી ચેક કરવા માટે, તમારી સ્ક્રીન પર ટૅપ કરો."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"પૅનિક બટન"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"ઝડપથી 5 વાર પાવર બટન દબાવીને ઇમર્જન્સી SOS ક્રિયાઓ શરૂ કરો."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"ચેતવણીનો સાઉન્ડ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"ક્રિયાઓ શરૂ કરતા પહેલાંની અલર્ટ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ઇમર્જન્સી માટેના સંપર્કો"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"નોટિફિકેશનો માટે ફિંગરપ્રિન્ટને સ્વાઇપ કરો"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ફિંગરપ્રિન્ટને સ્વાઇપ કરો"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"તમારા નોટિફિકેશનને જોવા માટે, તમારા ફોનની પાછળની બાજુએ ફિંગરપ્રિન્ટ સેન્સર પર નીચે સ્વાઇપ કરો."</string>
@@ -4840,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"સિમ કાર્ડ બંધ કરી રહ્યાં છીએ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"મોબાઇલ ઑપરેટરને બંધ કરી શકાતા નથી"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"કંઈક ખોટું થયું હતું અને તમારા મોબાઇલ ઑપરેટરને બંધ કરી શક્યાં નથી."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"આ ડાઉનલોડ કરેલું સિમ કાઢી નાખીએ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"આ સિમ કાઢી નાખવાથી આ ડિવાઇસમાંથી <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> સેવા કાઢી નાખવામાં આવશે.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> માટેની સેવા રદ નહીં થાય."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"કાઢી નાખો"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"સિમ કાઢી નાખી રહ્યાં છીએ…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"સિમ કાઢી નાખી શકાતું નથી"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ભૂલને કારણે આ સિમ કાઢી નાખી શકાતું નથી.\n\nતમારું ડિવાઇસ ફરી શરૂ કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ડિવાઇસ સાથે કનેક્ટ કરો"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> ઍપ તમારા ડિવાઇસ સાથે કનેક્ટ થવા માટે હંગામી વાઇ-ફાઇ નેટવર્કનો ઉપયોગ કરવા માગે છે"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"કોઈ ડિવાઇસ મળ્યું નથી. ખાતરી કરો કે ડિવાઇસ ચાલુ છે અને કનેક્ટ કરવા માટે ઉપલબ્ધ છે."</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index faa2b85..b25cac0 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"तारीख और समय"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"तारीख और समय सेट करें"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"तारीख, समय, समय क्षेत्र और प्रारूप सेट करें"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"नेटवर्क का दिया हुआ समय इस्तेमाल करें"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"नेटवर्क का दिया समय क्षेत्र इस्तेमाल करें"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"डिफ़ॉल्ट जगह का इस्तेमाल करें"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑घंटा प्रारूप"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-घंटे वाले फ़ॉर्मैट का उपयोग करें"</string>
@@ -321,9 +323,10 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"स्क्रीन लॉक, फ़िंगरप्रिंट"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"स्क्रीन लॉक"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"फ़िंगरप्रिंट और चेहरा पहचानने की सुविधा से, सुरक्षित तरीके से फ़ोन को अनलॉक करें"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"आप ऐप में साइन इन और पैसे चुकाने की पुष्टि भी कर सकते हैं"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"इनसे अनलॉक करने की सुविधा सेट करें:"</string>
-    <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"मालिक का चेहरा पहचानकर अनलॉक करें"</string>
+    <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"मालिक का चेहरा पहचानकर अनलॉक"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"अपने फ़ोन को अनलॉक करना आसान बनाएं"</string>
     <string name="multi_biometric_enroll_fingerprint_unlock_title" msgid="3839935495273854171">"फ़िंगरप्रिंट"</string>
     <string name="multi_biometric_enroll_fingerprint_unlock_description" msgid="116938134430420778">"फ़िंगरप्रिंट सेट अप करके फ़ोन को फटाफट अनलॉक करें"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"एसएसआईडी"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"डिवाइस का MAC पता"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"अनियमित चुना गया MAC पता"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"बिना किसी तय नियम के चुना गया मैक पता (पिछली बार इस्तेमाल किया गया)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"आईपी पता"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"नेटवर्क के बारे में जानकारी"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"सबनेट मास्क"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"कोई मान्‍य गेटवे पता लिखें."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"कोई मान्‍य DNS पता लिखें."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 और 32 के बीच की लंबाई का नेटवर्क उपसर्ग लिखें."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"डीएनएस 1 (अगर निजी डीएनएस से बदला नहीं गया हो)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"डीएनएस 2 (अगर निजी डीएनएस से बदला नहीं गया हो)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"गेटवे"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"नेटवर्क उपसर्ग लंबाई"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"वाई-फ़ाई डायरेक्ट"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"जब स्क्रीन गहरे रंग की हो, तब यह नई सूचनाओं के लिए चालू हो जाती है"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"समय और जानकारी हमेशा दिखाएं"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"बढ़ा हुआ बैटरी खर्च"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"टेक्स्ट को बोल्ड करें"</string>
     <string name="title_font_size" msgid="570613010306330622">"फ़ॉन्ट साइज़"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"टेक्स्ट को बड़ा या छोटा करें"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"सिम कार्ड लॉक सेटिंग"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"सेट नहीं की गई - वर्क प्रोफ़ाइल"</string>
     <string name="user_admin" msgid="4024553191395768119">"एडमिन"</string>
     <string name="user_you" msgid="3070562015202859996">"आप (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"प्रचलित नाम"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"आप <xliff:g id="USER_COUNT">%1$d</xliff:g> उपयोगकर्ता तक जोड़ सकते हैं"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"केवल टैबलेट का स्वामी उपयोगकर्ताओं को प्रबंधित कर सकता है."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"केवल फ़ोन का स्वामी उपयोगकर्ताओं को प्रबंधित कर सकता है."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"वापस जाएं"</string>
     <string name="wizard_next" msgid="3884832431439072471">"आगे बढ़ें"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"खत्म करें"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"फ़ोटो खींचें"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"इमेज चुनें"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"फ़ोटो चुनें"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"सिम कार्ड"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"सिम कार्ड"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"डिवाइस की स्क्रीन पर टैप करके देखें कि सूचना मिली है या नहीं"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"समय, सूचनाएं, और दूसरी जानकारी देखने के लिए फ़ोन की स्क्रीन पर टैप करें."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"खतरे के अलार्म वाला बटन"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"आपातकालीन स्थिति में जगह की जानकारी शेयर करने के लिए, पावर बटन को पांच बार तेज़ी से दबाएं."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"चेतावनी की आवाज़"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"आपातकालीन सेवाओं को कॉल करने से पहले चेतावनी जारी करें"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"आपातकालीन संपर्क"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"सूचनाओं के लिए फ़िंगरप्रिंट स्वाइप करें"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"फ़िंगरप्रिंट स्वाइप करें"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"अपनी सूचनाएं देखने के लिए, अपने फ़ोन के पीछे फ़िंगरप्रिंट सेंसर पर नीचे की तरफ़ स्वाइप करें."</string>
@@ -4835,11 +4835,17 @@
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> से कनेक्ट होने पर उपलब्ध नहीं है"</string>
     <string name="see_more" msgid="7499355691042812723">"ज़्यादा देखें"</string>
     <string name="see_less" msgid="2642392725363552793">"कम देखें"</string>
-    <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> को बंद करना चाहते हैं?"</string>
+    <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"क्या आप <xliff:g id="CARRIER_NAME">%1$s</xliff:g> को बंद करना चाहते हैं?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"क्या आप सिम बंद करना चाहते हैं?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"सिम बंद किया जा रहा है<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी का नेटवर्क बंद नहीं किया जा सकता"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"कोई गड़बड़ी हुई, जिसकी वजह से आपकी मोबाइल और इंटरनेट सेवा देने वाली कंपनी का नेटवर्क बंद नहीं किया जा सका."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"क्या आप डाउनलोड किए गए इस सिम को हमेशा के लिए मिटाना चाहते हैं?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"इस सिम को डिवाइस से हमेशा के लिए मिटाने पर, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> की सेवा हट जाती है.\n\nहालांकि, <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> की सेवा नहीं हटेगी."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"हमेशा के लिए मिटाएं"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"सिम को हमेशा के लिए मिटाया जा रहा है…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"सिम हमेशा के लिए नहीं मिटाया जा सका"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"किसी गड़बड़ी की वजह से, इस सिम को हमेशा के लिए नहीं मिटाया जा सका.\n\nडिवाइस को रीस्टार्ट करें और फिर से कोशिश करें."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"डिवाइस से कनेक्ट करें"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"आपके डिवाइस से कनेक्ट होने के लिए, <xliff:g id="APPNAME">%1$s</xliff:g> ऐप्लिकेशन को किसी वाई-फ़ाई नेटवर्क से कुछ समय के लिए जुड़ना होगा"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"कोई डिवाइस नहीं मिला देख लें कि डिवाइस चालू हों और कनेक्ट किए जा सकते हों."</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 0d596dc..706197a 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -256,8 +256,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum i vrijeme"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Postavite datum i vrijeme"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Postavljanje datuma, vremena, vremenske zone i formata"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Upotrijebi vrijeme mreže"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Upotrijebi vremensku zonu mreže"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Upotrijebi lokalnu zadanu postavku"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-satni oblik"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Koristi 24-satni format"</string>
@@ -324,7 +326,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaključavanje zaslona, otisak prsta"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Zaključavanje zaslona"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Sigurno otključajte telefon upotrebom lica i otiska prsta"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Možete se prijavljivati u aplikacije i potvrditi plaćanje"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Postavite otključavanje pomoću:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Otključavanje licem"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Otključajte telefon u trenu"</string>
@@ -1033,6 +1036,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC adresa uređaja"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Nasumično odabrana MAC adresa"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Nasumična MAC adresa (posljednja upotrijebljena)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP adresa"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Podaci o mreži"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podmreže"</string>
@@ -1050,10 +1054,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Upišite važeću adresu pristupnika."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Upišite važeću DNS adresu."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Upišite prefiks mreže duljine između 0 i 32 znaka."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ako ga ne nadjača privatni DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ako ga ne nadjača privatni DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Pristupnik"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Duljina mrežnog prefiksa"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1320,6 +1322,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kada je zaslon taman, uključit će se u slučaju novih obavijesti"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Uvijek prikaži vrijeme i podatke"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Povećana potrošnja baterije"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Podebljano"</string>
     <string name="title_font_size" msgid="570613010306330622">"Veličina fonta"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Smanjite ili povećajte tekst"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Postavke zaklj. SIM kartice"</string>
@@ -2649,7 +2652,7 @@
     <string name="battery_saver_auto_percentage" msgid="558533724806281980">"Na temelju postotka"</string>
     <string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"Štednja baterije uključuje se ako bi se baterija mogla isprazniti prije uobičajenog vremena punjenja"</string>
     <string name="battery_saver_auto_percentage_summary" msgid="6190884450723824287">"Uključit će se na <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
-    <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Postavite raspored"</string>
+    <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Postavi raspored"</string>
     <string name="battery_saver_turn_on_summary" msgid="1433919417587171160">"Produljenje trajanja baterije"</string>
     <string name="battery_saver_sticky_title_new" msgid="5942813274115684599">"Isključi nakon punjenja"</string>
     <string name="battery_saver_sticky_description_new" product="default" msgid="4969508893424116609">"Štednja baterije isključuje se kad je telefon napunjen iznad <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
@@ -3075,7 +3078,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nije postavljen – radni profil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Vi (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nadimak"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Ne možete dodati više od <xliff:g id="USER_COUNT">%1$d</xliff:g> korisnika"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Samo vlasnik tabletnog računala može upravljati korisnicima."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Samo vlasnik telefona može upravljati korisnicima."</string>
@@ -3195,9 +3197,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Natrag"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Dalje"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Završi"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Snimite fotografiju"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Odaberite sliku"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Odabir slike"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kartice"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kartice"</string>
@@ -3490,7 +3489,7 @@
     <string name="zen_onboarding_dnd_visual_disturbances_header" msgid="8639698336231314609">"Želite li promijeniti postavke obavijesti za način Ne uznemiravaj?"</string>
     <string name="sound_work_settings" msgid="752627453846309092">"Zvukovi poslovnog profila"</string>
     <string name="work_use_personal_sounds_title" msgid="7729428677919173609">"Upotreba zvuka osobnog profila"</string>
-    <string name="work_use_personal_sounds_summary" msgid="4482832555278975008">"Zvukovi su isti za radni i osobni profil"</string>
+    <string name="work_use_personal_sounds_summary" msgid="4482832555278975008">"Zvukovi su isti za poslovni i osobni profil"</string>
     <string name="work_ringtone_title" msgid="4810802758746102589">"Melodija zvona poslovnog telefona"</string>
     <string name="work_notification_ringtone_title" msgid="2955312017013255515">"Zadani zvuk poslovne obavijesti"</string>
     <string name="work_alarm_ringtone_title" msgid="3369293796769537392">"Zadani zvuk poslovnog alarma"</string>
@@ -4562,10 +4561,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Dodirnite da biste provjerili uređaj"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Da biste pogledali vrijeme, obavijesti i druge informacije, dodirnite zaslon."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Gumb za uzbunu"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Brzo 5 puta pritisnite tipku za uključivanje/isključivanje da biste pokrenuli hitne SOS radnje."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Zvuk upozorenja"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Upozorenje prije pokretanja radnji"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kontakti za hitne slučajeve"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Prelazak prstom preko senzora za obavijesti"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Prelazak prstom preko senzora"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Da biste pogledali obavijesti, prijeđite prstom prema dolje po senzoru otiska prsta na stražnjoj strani telefona."</string>
@@ -4921,6 +4921,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Isključivanje SIM-a<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Onemogućivanje mobilnog operatera nije uspjelo"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Nešto je pošlo po zlu i onemogućivanje mobilnog operatera nije uspjelo."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Želite li izbrisati taj preuzeti SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Brisanjem ovog SIM-a uklanja se usluga mobilnog operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> s ovog uređaja.\n\nUsluga mobilnog operatera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> neće se otkazati."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Izbriši"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Brisanje SIM-a…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Brisanje SIM-a nije uspjelo"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM se ne može izbrisati zbog pogreške.\n\nPonovo pokrenite uređaj i pokušajte još jednom."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Povezivanje s uređajem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi koristiti privremenu Wi‑Fi mrežu za povezivanje s vašim uređajem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nije pronađen nijedan uređaj. Provjerite je li uređaj uključen i dostupan za povezivanje."</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index f57b930..ccba1ac 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Dátum és idő"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Dátum és idő beállítása"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Dátum, idő, időzóna és formátumok beállítása"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Hálózatról lekért idő használata"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Hálózatról lekért időzóna használata"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Helyi alapértelmezés használata"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 órás formátum"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 órás formátum használata"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Képernyőzár, ujjlenyomat"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Képernyőzár"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"A telefon biztonságos feloldása arccal és ujjlenyomattal"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Bejelentkezhet alkalmazásokba és jóváhagyhat fizetéseket is"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Feloldás beállítása a következővel:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Arcalapú feloldás"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"A telefon feloldásának megkönnyítése"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Az eszköz MAC-címe"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Véletlenszerű MAC-cím"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Véletlenszerű MAC-cím (legutóbb használt)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-cím"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Hálózati információk"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Alhálózati maszk"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Írjon be érvényes átjárócímet."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Írjon be érvényes DNS-címet."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 és 32 közti hosszt adjon meg a hálózati előtagnál."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (hacsak a privát DNS felül nem írja)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (hacsak a privát DNS felül nem írja)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Átjáró"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Hálózati előtag hossza"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1298,8 +1300,9 @@
     <string name="ambient_display_category_triggers" msgid="1216640141609270011">"Mikor jelenjen meg?"</string>
     <string name="doze_title" msgid="1523090408230862316">"Képernyő ébresztése értesítéskor"</string>
     <string name="doze_summary" msgid="8252867381522942804">"Amikor a képernyő ki van kapcsolva, bekapcsol az új értesítéseknél"</string>
-    <string name="doze_always_on_title" msgid="7326245192352868477">"Időpont és adatok mindig láthatók"</string>
+    <string name="doze_always_on_title" msgid="7326245192352868477">"Idő és adatok mindig láthatók"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Növeli az akkumulátorhasználatot"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Félkövér szöveg"</string>
     <string name="title_font_size" msgid="570613010306330622">"Betűméret"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Szöveg nagyítása és kicsinyítése"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM-kártya lezárási beállításai"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Még nincs létrehozva – Munkaprofil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Rendszergazda"</string>
     <string name="user_you" msgid="3070562015202859996">"Ön (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Becenév"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Legfeljebb <xliff:g id="USER_COUNT">%1$d</xliff:g> felhasználót adhat hozzá"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Csak a táblagép tulajdonosa kezelheti a felhasználókat."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Csak a telefon tulajdonosa kezelheti a felhasználókat."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Vissza"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Tovább"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Befejezés"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Fotó készítése"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Kép kiválasztása"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Fotó kiválasztása"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kártyák"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kártyák"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Koppintson az eszköz megtekintéséhez"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Az idő, az értesítések és egyéb információk megtekintéséhez koppintson a képernyőre."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Pánik gomb"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"A bekapcsológombot egymás után gyorsan ötször lenyomva vészhelyzeti műveleteket kezdeményezhet."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Figyelmeztetés hangja"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Értesítés a műveletek indítása előtt"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Vészhelyzet esetén értesítendő személyek"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Értesítések ujjlenyomattal"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Ujjlenyomat csúsztatása"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Megtekintheti értesítéseit, ha ujját lefelé húzza a telefonja hátulján található ujjlenyomat-érzékelőn."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM kikapcsolása<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Nem sikerült a szolgáltató letiltása"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Hiba történt, ezért nem sikerült a szolgáltató letiltása."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Törli ezt a letöltött SIM-et?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"A SIM törlésével eltávolítja a(z) <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> szolgáltatását erről az eszközről.\n\nA(z) <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> szolgáltatását nem mondja le."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Törlés"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM törlése…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nem lehet törölni a SIM-et"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"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="network_connection_request_dialog_title" msgid="1896186380874289434">"Csatlakozás adott eszközhöz"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> alkalmazás ideiglenes Wi-Fi-hálózatot szeretne használni az eszközhöz való csatlakozáshoz."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nem találhatók eszközök. Ellenőrizze, hogy be vannak-e kapcsolva az eszközök, és lehetséges-e a hozzájuk való csatlakozás."</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 8439fac..b8bb64f 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Ամսաթիվ և ժամ"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Սահմանել ամսաթիվն ու ժամը"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Սահմանել ամսաթիվը, ժամը, ժամային գոտին, &amp; ձևաչափերը"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Օգտագործել ցանցի ժամանակը"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Օգտագործել ցանցի ժամային գոտին"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Օգտագործել կանխադրված տեղույթը"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-ժամյա ձևաչափ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Օգտագործել 24-ժամյա ձևաչափը"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Էկրանի կողպում, մատնահետք"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Էկրանի կողպում"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Անվտանգ ապակողպեք հեռախոսը դեմքի և մատնահետքի օգնությամբ"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Դուք կարող եք նաև մուտք գործել հավելվածներ և հաստատել վճարումները"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Ապակողպման եղանակը՝"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Դեմքով ապակողպում"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Հեշտացրեք հեռախոսի ապակողպումը"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Սարքի MAC հասցե"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Պատահական ընտրված MAC հասցե"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Պատահական հերթականությամբ դասավորված MAC հասցե (վերջին օգտագործված)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP հասցե"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Ցանցի տվյալներ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Ենթացանցի դիմակ"</string>
@@ -1298,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Նոր ծանուցումներ ստանալու դեպքում էկրանը կմիանա"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Միշտ ցույց տալ ժամը/տվյալները"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Մարտկոցի ավելի արագ սպառում"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Թավ տառատեսակով տեքստ"</string>
     <string name="title_font_size" msgid="570613010306330622">"Տառաչափ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Տառաչափի մեծացում կամ փոքրացում"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM քարտի կողպման կարգավորումներ"</string>
@@ -3030,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Կարգավորված չէ - Աշխատանքային պրոֆիլ"</string>
     <string name="user_admin" msgid="4024553191395768119">"Ադմինիստրատոր"</string>
     <string name="user_you" msgid="3070562015202859996">"Դուք (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Կեղծանուն"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Մինչև <xliff:g id="USER_COUNT">%1$d</xliff:g> օգտատիրոջ ավելացում"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Միայն պլանշետի սեփականատերը կարող է կառավարել օգտատերերին:"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Միայն հեռախոսի օգտատերը կարող է կառավարել օգտատերերին:"</string>
@@ -3150,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Հետ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Հաջորդը"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Ավարտել"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Լուսանկարել"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Ընտրել պատկեր"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Ընտրեք լուսանկարը"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM քարտեր"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM քարտեր"</string>
@@ -4487,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Հպեք՝ սարքը ստուգելու համար"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Ժամը, ծանուցումները և այլ տեղեկություններ տեսնելու համար կրկնակի հպեք էկրանին:"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Խուճապային ազդանշանի կոճակ"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Արտակարգ իրավիճակներում գործարկեք SOS գործողությունները՝ սնուցման կոճակը 5 անգամ արագ սեղմելով։"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Նախազգուշացնող ազդանշան"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Զգուշացնել նախքան գործողությունները սկսելը"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Շտապ դեպքերի համար նշված կոնտակտներ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Ծանուցումները դիտելու համար օգտագործել մատնահետքերի սկաները"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Մատնահետքերի սկաներ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Ծանուցումները տեսնելու համար՝ մատը սահեցրեք ներքև հեռախոսի հետևի մասում գտնվող մատնահետքերի սկաների վրա"</string>
@@ -4838,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM քարտն անջատվում է<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Չհաջողվեց անջատել օպերատորին"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Սխալի պատճառով հնարավոր չէ անջատել ձեր օպերատորին։"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Ջնջե՞լ այս ներբեռնված SIM քարտը"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Այս SIM-ը ջնջելու դեպքում <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-ի ծառայությունը կհեռացվի սարքից։\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-ի ծառայությունը չի չեղարկվի։"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ջնջել"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM քարտի տվյալները ջնջվում են…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM քարտի տվյալները հնարավոր չէ ջնջել"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Սխալի պատճառով չհաջողվեց ջնջել SIM քարտի տվյալները։\n\nՎերագործարկեք սարքը և նորից փորձեք։"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Միացում սարքին"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածը ցանկանում է օգտագործել ժամանակավոր Wi‑Fi ցանց՝ ձեր սարքին միանալու համար։"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Սարքեր չեն գտնվել։ Համոզվեք, որ սարքերը միացված են և հասանելի են կապակցման համար։"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 1b1ce01..73f5ca6 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Tanggal &amp; waktu"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Setel tanggal dan waktu"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Menyetel tanggal, waktu, zona waktu &amp; format"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Gunakan waktu yang disediakan jaringan"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Gunakan zona waktu yang disediakan jaringan"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gunakan default lokal"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Format 24 jam"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gunakan format 24 jam"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kunci layar, sidik jari"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Kunci layar"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Buka kunci ponsel Anda dengan aman menggunakan wajah dan sidik jari"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Anda juga dapat login ke aplikasi dan mengonfirmasi pembayaran"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Siapkan buka kunci dengan:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Membuka kunci ponsel Anda dengan mudah"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Alamat MAC perangkat"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Alamat MAC yang diacak"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Alamat MAC acak (terakhir digunakan)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Alamat IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detail jaringan"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet mask"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Ketikkan alamat gerbang yang valid."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Ketik alamat DNS yang valid."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Ketikkan panjang awalan jaringan antara 0 dan 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (kecuali diganti dengan DNS Pribadi)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (kecuali diganti dengan DNS Pribadi)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Panjang awalan jaringan"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Langsung"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Dalam keadaan mati, layar akan menyala saat ada notifikasi baru"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Selalu tampilkan waktu dan info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Penggunaan baterai meningkat"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Tebalkan Teks"</string>
     <string name="title_font_size" msgid="570613010306330622">"Ukuran font"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Membuat teks menjadi lebih besar atau lebih kecil"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Setelan kunci kartu SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Tidak disiapkan - Profil kerja"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"Anda (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nama panggilan"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Anda dapat menambahkan maksimal <xliff:g id="USER_COUNT">%1$d</xliff:g> pengguna"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Hanya pemilik tablet yang dapat mengelola pengguna."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Hanya pemilik ponsel yang dapat mengelola pengguna."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Kembali"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Berikutnya"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Selesai"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Ambil foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Pilih gambar"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Pilih foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Kartu SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Kartu SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Ketuk untuk memeriksa perangkat"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Untuk memeriksa waktu, notifikasi, dan info lainnya, ketuk layar Anda."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Tombol panik"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Mulai tindakan SOS darurat dengan menekan cepat tombol daya sebanyak 5 kali."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Suara peringatan"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Memberi peringatan sebelum mengambil tindakan"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kontak darurat"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Usapkan sidik jari untuk melihat notifikasi"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Usapkan sidik jari"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Untuk memeriksa notifikasi, usapkan jari ke bawah pada sensor sidik jari di bagian belakang ponsel."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Menonaktifkan SIM <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Tidak dapat menonaktifkan operator"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Terjadi error dan operator Anda tidak dapat dinonaktifkan."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Hapus SIM yang didownload ini?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Menghapus SIM ini akan menghapus layanan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> dari perangkat ini.\n\nLayanan untuk <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> tidak akan dibatalkan."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Hapus"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Menghapus SIM …"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Tidak dapat menghapus SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM ini tidak dapat dihapus karena terjadi error.\n\nMulai ulang perangkat, lalu coba lagi."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Hubungkan ke perangkat"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikasi <xliff:g id="APPNAME">%1$s</xliff:g> ingin menggunakan jaringan Wi-Fi sementara untuk terhubung ke perangkat"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Perangkat tidak ditemukan. Pastikan perangkat dihidupkan dan dapat tersambung ke jaringan."</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 3fc74f9..1fbb697 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Dagsetning og tími"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Stilla dagsetningu og tíma"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Velja dagsetningu, tíma, tímabelti og snið"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Nota tíma frá símkerfi"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Nota tímabelti frá símkerfi"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Nota sjálfgefið snið staðar"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 tíma snið"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Nota 24 tíma snið"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skjálás, fingrafar"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Skjálás"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Opnaðu símann á öruggan hátt með andliti eða fingrafari"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Þú getur líka skráð þig inn í forrit og staðfest greiðslu"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Stilla opnun með:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Andlitsopnun"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Auðveldaðu þér að taka símann úr lás"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC-vistfang tækis"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"MAC-vistfang af handahófi"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Slembiraðað MAC-vistfang (síðast notað)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-tala"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Upplýsingar um net"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Undirnetssía"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Sláðu inn gilt vistfang gáttar."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Sláðu inn gilt DNS-vistfang."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Sláðu inn lengd netforskeytis á bilinu 0–32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (nema því sé hnekkt með lokuðu DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (nema því sé hnekkt með lokuðu DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gátt"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Lengd netforskeytis"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Skjárinn kveikir á sér ef nýjar tilkynningar berast"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Sýna alltaf klukku og uppl."</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Aukin rafhlöðunotkun"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Feitletra texta"</string>
     <string name="title_font_size" msgid="570613010306330622">"Leturstærð"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Gera texta stærri eða minni"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Stillingar SIM-kortaláss"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Ekki uppsett – vinnusnið"</string>
     <string name="user_admin" msgid="4024553191395768119">"Stjórnandi"</string>
     <string name="user_you" msgid="3070562015202859996">"Þú (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Gælunafn"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Þú getur bætt við allt að <xliff:g id="USER_COUNT">%1$d</xliff:g> notendum"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Aðeins eigandi spjaldtölvunnar getur haft umsjón með notendum."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Aðeins eigandi símans getur haft umsjón með notendum."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Til baka"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Áfram"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Ljúka"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Taka mynd"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Velja mynd"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Velja mynd"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-kort"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-kort"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Ýttu til að athuga tæki"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Til að sjá hvað klukkan er og sjá tilkynningar og aðrar upplýsingar skaltu ýta á skjáinn."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Neyðarhnappur"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Ræstu neyðaraðgerð með því að ýta snöggt á aflrofann fimm sinnum."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Viðvörunarhljóð"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Sýna viðvörun áður en aðgerðir eru hafnar"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Neyðartengiliðir"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Fingrafar til að opna tilkynningar"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Lesa fingrafar"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Strjúktu niður á fingrafaraskynjaranum aftan á símanum til að skoða tilkynningarnar."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Slekkur á SIM-korti<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Ekki er hægt að gera símafyrirtæki óvirkt"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Eitthvað fór úrskeiðis og ekki var hægt að gera símafyrirtækið óvirkt."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Viltu eyða þessu sótta SIM-korti?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ef þessu SIM-korti er eytt verður þjónusta <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> fjarlægð úr þessu tæki.\n\nÞjónustu <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> verður ekki sagt upp."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Eyða"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Eyðir SIM-korti…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Ekki er hægt að eyða SIM-korti"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ekki er hægt að eyða þessu SIM-korti vegna villu.\n\nEndurræstu tækið og reyndu aftur."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Tengjast tæki"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Forritið <xliff:g id="APPNAME">%1$s</xliff:g> vill nota tímabundið Wi‑Fi net til að tengjast við tækið þitt"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Engin tæki fundust. Gakktu úr skugga um að kveikt sé á tækjunum og að hægt sé að tengjast við þau."</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index cac54e8..dda27de 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data e ora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Imposta data e ora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Imposta data, ora, fuso orario e formati"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Usa l\'ora fornita dalla rete"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Usa il fuso orario fornito dalla rete"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usa impostazioni internazionali predefinite"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formato 24 ore"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usa formato 24 ore"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Blocco schermo, impronta"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Blocco schermo"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Sblocca il telefono in sicurezza con il volto e l\'impronta"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Puoi anche accedere alle app e confermare pagamenti"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configura lo sblocco con:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Sblocco con il volto"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Sblocca il telefono con facilità"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Indirizzo MAC del dispositivo"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Indirizzo MAC casuale"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Indirizzo MAC casuale (ultimo usato)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Indirizzo IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Dettagli rete"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet mask"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Digita l\'indirizzo di un gateway valido."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Digita un indirizzo DNS valido."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Digita un prefisso di rete di 0-32 caratteri."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (a meno che venga sostituito da DNS privato)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (a meno che venga sostituito da DNS privato)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Lunghezza prefisso rete"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Quando lo schermo è scuro, si attiva per le nuove notifiche"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Mostra sempre ora e informazioni"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Maggiore utilizzo della batteria"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Testo in grassetto"</string>
     <string name="title_font_size" msgid="570613010306330622">"Dimensioni carattere"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Ingrandisci o riduci il testo"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Impostazioni blocco SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Non configurato - Profilo di lavoro"</string>
     <string name="user_admin" msgid="4024553191395768119">"Amministratore"</string>
     <string name="user_you" msgid="3070562015202859996">"Tu (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nickname"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Puoi aggiungere fino a <xliff:g id="USER_COUNT">%1$d</xliff:g> utenti"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Solo il proprietario del tablet può gestire gli utenti."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Solo il proprietario del telefono può gestire gli utenti."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Indietro"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Avanti"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Fine"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Scatta una foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Scegli un\'immagine"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Seleziona foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Schede SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Schede SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tocca per selezionare il dispositivo"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Per controllare l\'ora, le notifiche e altre informazioni, tocca lo schermo."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Pulsante di emergenza"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Avvia le azioni SOS di emergenza premendo rapidamente per 5 volte il tasto di accensione."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Suono di avviso"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Avvisa prima di iniziare le azioni"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contatti di emergenza"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Usa l\'impronta per le notifiche"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Usa l\'impronta"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Per controllare le notifiche, scorri verso il basso sul sensore di impronte sul retro del telefono."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Disattivazione SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Impossibile disattivare l\'operatore"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Si è verificato un problema; impossibile disattivare l\'operatore."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Resettare questa SIM scaricata?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Se resetti questa SIM, il servizio di <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> verrà rimosso da questo dispositivo.\n\nIl servizio di <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> non verrà annullato."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Resetta"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Reset della SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Impossibile resettare la SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Questa SIM non può essere resettata a causa di un errore.\n\nRiavvia il dispositivo e riprova."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connessione al dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'app <xliff:g id="APPNAME">%1$s</xliff:g> vorrebbe usare una rete Wi-Fi temporanea per connettersi al tuo dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nessun dispositivo trovato. Assicurati che i dispositivi siano accesi e disponibili per la connessione."</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 1698aed..8fabeff 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"תאריך ושעה"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"הגדרת תאריך ושעה"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"הגדרת תאריך, שעה, אזור זמן ופורמטים"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"לפי השעה שמספקת הרשת"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"לפי אזור הזמן שמספקת הרשת"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"לפי ברירת המחדל של הלוקאל"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"פורמט 24 שעות"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"פורמט 24 שעות"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"נעילת מסך, טביעת אצבע"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"נעילת מסך"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ביטול נעילת הטלפון באופן מאובטח באמצעות הפנים וטביעת האצבע"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"אפשר גם להיכנס לאפליקציות ולאשר תשלומים"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"הגדרת ביטול נעילה באמצעות:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"שחרור נעילה על ידי זיהוי פנים"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"איך מבטלים את נעילת הטלפון בקלות"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"‏כתובת MAC של המכשיר"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"‏כתובת MAC אקראית"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"‏כתובת MAC שנקבעה אקראית (היתה בשימוש לאחרונה)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"‏כתובת IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"פרטי הרשת"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"מסכת רשת משנה"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"הקלד כתובת שער חוקית."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"‏הקלד כתובת DNS חוקית."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"הקלד אורך לקידומת רשת בין 0 ו-32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"‏DNS 1 (אלא אם בוטל על ידי שרת DNS פרטי)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"‏DNS 2 (אלא אם בוטל על ידי שרת DNS פרטי)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"שער"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"אורך קידומת של רשת"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"‏Wi-Fi ישיר"</string>
@@ -1340,6 +1342,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"כשהמסך מוחשך, הוא יופעל כשיהיו התראות חדשות"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"הצגה תמידית של השעה והפרטים"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"שימוש מוגבר בסוללה"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"גודל גופן"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"הגדלה או הקטנה של גודל הטקסט"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"‏הגדרות נעילת כרטיס SIM"</string>
@@ -3118,7 +3122,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"לא מוגדר - פרופיל עבודה"</string>
     <string name="user_admin" msgid="4024553191395768119">"מנהל מערכת"</string>
     <string name="user_you" msgid="3070562015202859996">"את/ה (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"כינוי"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"אפשר להוסיף עד <xliff:g id="USER_COUNT">%1$d</xliff:g> משתמשים"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"רק הבעלים של הטאבלט יכול לנהל משתמשים."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"רק הבעלים של הטלפון יכול לנהל משתמשים."</string>
@@ -3238,9 +3241,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"הקודם"</string>
     <string name="wizard_next" msgid="3884832431439072471">"הבא"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"סיום"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"צילום תמונה"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"לבחירת תמונה"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"בחירת תמונה"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"‏כרטיסי SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"‏כרטיסי SIM"</string>
@@ -4635,10 +4635,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"הקשה לבדיקת המכשיר"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"כדי להתעדכן מה השעה, לבדוק התראות ולהציג מידע נוסף, צריך להקיש על המסך."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"לחצן מצוקה"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"כדי להפעיל את הפעולות למקרה חירום, יש ללחוץ על לחצן ההפעלה 5 פעמים במהירות."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"צליל אזהרה"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"תתקבל התראה לפני שהפעולות יתחילו"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"אנשי קשר במקרה חירום"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"החלקת טביעת אצבע לקריאת התראות"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"החלקה של טביעת אצבע"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"כדי לבדוק התראות יש להחליק כלפי מטה בחיישן טביעות האצבע שבחלק האחורי של הטלפון."</string>
@@ -5002,6 +5003,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‏מתבצע כיבוי של כרטיס ה-SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"לא ניתן להשבית את הספק"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"משהו השתבש ולא ניתן היה להשבית את הספק."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"‏למחוק את ה-SIM הזה שהורדת?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‏מחיקת כרטיס ה-SIM הזה מסירה את השירות של <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> מהמכשיר הזה.\n\nהשירות של <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> לא יבוטל."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"מחיקה"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"‏מתבצעת מחיקת SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‏לא ניתן למחוק את ה-SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‏עקב שגיאה, לא ניתן למחוק את ה-SIM הזה.\n\nצריך להפעיל מחדש את המכשיר ולנסות שוב."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"התחברות למכשיר"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏האפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> מבקשת להשתמש ברשת Wi-Fi זמנית כדי להתחבר למכשיר שלך"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"לא נמצאו מכשירים. יש לוודא שהמכשירים פועלים וזמינים לחיבור."</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 6b3722b..df192b8 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"日付と時刻"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"日時の設定"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"日付、時刻、タイムゾーン、フォーマットを設定する"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ネットワークの時刻を使用する"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ネットワークから提供されたタイムゾーンを使用する"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"言語 / 地域のデフォルトを使用する"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24時間表示"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24時間表示"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"画面ロック、指紋"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"画面ロック"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"顔認証と指紋認証でスマートフォンを安全にロック解除できます"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"アプリへのログイン、お支払いの承認もできます"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ロック解除方法を設定:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"顔認証"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"スマートフォンのロック解除が簡単になります"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"デバイスの MAC アドレス"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ランダム MAC アドレス"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ランダム MAC アドレス（前回使用したもの）"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP アドレス"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ネットワークの詳細"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"サブネット マスク"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"有効なゲートウェイアドレスを入力してください。"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"有効なDNSアドレスを入力してください。"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"ネットワークプレフィックス長は0～32で指定します。"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1（プライベート DNS でオーバーライドされる場合を除く）"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2（プライベート DNS でオーバーライドされる場合を除く）"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ゲートウェイ"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ネットワークプレフィックス長"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"画面が暗いときに新着の通知が届いた場合、画面を ON にします"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"時間と情報を常に表示"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"電池使用量が増えます"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"テキストを太字にする"</string>
     <string name="title_font_size" msgid="570613010306330622">"フォントサイズ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"テキストのサイズを変更します"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM カードロック設定"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"セットアップしていません - 仕事用プロファイル"</string>
     <string name="user_admin" msgid="4024553191395768119">"管理者"</string>
     <string name="user_you" msgid="3070562015202859996">"自分（<xliff:g id="NAME">%s</xliff:g>）"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ニックネーム"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"最大<xliff:g id="USER_COUNT">%1$d</xliff:g>人のユーザーを追加できます"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"ユーザーを管理できるのはタブレットの所有者のみです。"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"ユーザーを管理できるのはモバイルデバイスの所有者のみです。"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"戻る"</string>
     <string name="wizard_next" msgid="3884832431439072471">"次へ"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"終了"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"写真を撮る"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"画像を選択"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"写真を選択"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIMカード"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIMカード"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"デバイスをタップしてチェックする"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"時刻、通知などの情報を確認するには、画面をタップします。"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"パニックボタン"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"電源ボタンを 5 回すばやく押すと、SOS 緊急アクションが実行されます。"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"警告音"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"アクション実行前のアラート"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"緊急連絡先"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"指紋センサーをスワイプして通知を表示"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"指紋センサーのスワイプ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"スマートフォンの背面にある指紋認証センサーを下にスワイプして、通知を確認できます。"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM を OFF にしています<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"携帯通信会社の無効化エラー"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"エラーが発生したため、携帯通信会社を無効にできませんでした。"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"このダウンロード型 SIM を消去しますか？"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"この SIM を消去すると、このデバイスから <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> サービスが削除されます。\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> のサービスが解約されることはありません。"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"消去"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM を消去しています…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM を消去できません"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"エラーのため、この SIM を消去できません。\n\nデバイスを再起動してもう一度お試しください。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"デバイスに接続"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> アプリがデバイスに接続するために、Wi-Fi ネットワークを一時的に使用します"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"デバイスが見つかりません。デバイスの電源が入っており、接続が可能であることを確認してください。"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 073d256..9a3bc7c 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"თარიღი და დრო"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"თარიღისა და დროის დაყენება"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"თარიღის, დროის, დროის ზონის და ფორმატების დაყენება"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ქსელის მოწოდებული დროის გამოყენება"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ქსელის მოწოდებული სასაათო სარტყლის გამოყენება"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"დროის ავტომატურად დაყენება"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"სასაათო სარტყლის ავტომატურად დაყენება"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ლოკალის ნაგულისხმევი პარამეტრის გამოყენება"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-საათიანი ფორმატი"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-საათიანი ფორმატი"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ეკრანის დაბლოკვა, თითის ანაბეჭდი"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ეკრანის დაბლოკვა"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"უსაფრთხოდ განბლოკეთ ტელეფონი თქვენი სახით და თითის ანაბეჭდით"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"თქვენ ასევე შეგიძლიათ აპებში შესვლა და გადახდის დადასტურება"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"განბლოკვის შემდეგით დაყენება:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"სახით განბლოკვა"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"გახადეთ ტელეფონის განბლოკვა სუნთქვასავით მარტივი"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"მოწყობილობის MAC მისამართი"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"შემთხვევითი MAC მისამართი"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"შემთხვევითი MAC მისამართი (ბოლოს გამოყენებული)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP მისამართი"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ქსელის დეტალები"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ქვექსელის ნიღაბი"</string>
@@ -1030,10 +1032,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"შეიყვანეთ გეითვეის სწორი მისამართი."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"შეიყვანეთ სწორი DNS მისამართი."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"შეიყვანეთ ქსელის პრეფიქსი, რომლის სიგრძეა 0-დან 32-მდე."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (სანამ არ არის უგულებელყოფილი პირადი DNS-ის მიერ)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (სანამ არ არის უგულებელყოფილი პირადი DNS-ის მიერ)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"გეითვეი"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ქსელის პრეფიქსის სიგრძე"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"როცა ეკრანი მუქია, ის ჩაირთვება ახალი შეტყობინებებისთვის"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"ყოველთვის ჩანდეს დრო და ინფო"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ბატარეის მოხმარება გაიზრდება"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"მუქი ტექსტი"</string>
     <string name="title_font_size" msgid="570613010306330622">"შრიფტის ზომა"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ტექსტის გადიდება ან დაპატარავება"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM ბარათის დაბლოკვის პარამეტრები"</string>
@@ -3032,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"არ არის დაყენებული - სამუშაო პროფილი"</string>
     <string name="user_admin" msgid="4024553191395768119">"ადმინისტრატორი"</string>
     <string name="user_you" msgid="3070562015202859996">"თქვენ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"მეტსახელი"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"შეგიძლიათ დაამატოთ <xliff:g id="USER_COUNT">%1$d</xliff:g>-მდე მომხმარებელი"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"მომხმარებლების მართვა შეუძლია მხოლოდ ტაბლეტის მფლობელს."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"მომხმარებლების მართვა შეუძლია მხოლოდ ტელეფონის მფლობელს."</string>
@@ -3152,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"უკან"</string>
     <string name="wizard_next" msgid="3884832431439072471">"მომდევნო"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"დასრულება"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ფოტოს გადაღება"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"სურათის არჩევა"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ფოტოს არჩევა"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM ბარათები"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM ბარათები"</string>
@@ -4489,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"შეეხეთ მოწყობილობას შესამოწმებლად"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"დროის, შეტყობინებებისა და სხვა ინფორმაციის სანახავად შეეხეთ ეკრანს."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"პანიკის ღილაკი"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"მართავს <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"დაიწყეთ საგანგებო SOS მოქმედებები ჩართვის ღილაკზე სწრაფად 5-ჯერ დაჭერით."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"გამაფრთხილებელი ხმა"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"გაფრთხილება მოქმედებების დაწყებამდე"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"საგანგებო ვითარებისას საკონტაქტო პირები"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"თითის ანაბეჭდით გადაფურცვლა შეტყობინებების შესამოწმებლად"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ანაბეჭდით გადაფურცვლა"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"თქვენი შეტყობინებების შესამოწმებლად, ჩამოუსვით თითი თითის ანაბეჭდის სენსორს, რომელიც თქვენი ტელეფონის უკანა ნაწილზე მდებარეობს."</string>
@@ -4840,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"მიმდინარეობს SIM-ის გამორთვა<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"ოპერატორი ვერ გაითიშა"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ოპერატორი ვერ გაითიშა წარმოქმნილი შეფერხების გამო."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ამოიშალოს ეს ჩამოტვირთული SIM ბარათი?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ამ SIM ბარათის ამოშლა მოწყობილობიდან <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-ის სერვისს ამოიღებს.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-ის სერვისი არ გაუქმდება."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ამოშლა"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"მიმდინარეობს SIM ბარათის ამოშლა…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM ბარათი ვერ იშლება"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ეს SIM ბარათი ვერ იშლება შეცდომის გამო.\n\nგადატვირთეთ მოწყობილობა და ხელახლა ცადეთ."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"მოწყობილობასთან დაკავშირება"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> აპს სურს დროებითი Wi-Fi ქსელის გამოყენება თქვენს მოწყობილობასთან დასაკავშირებლად"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"მოწყობილობები ვერ მოიძებნა. დარწმუნდით, რომ მოწყობილობები ჩართულია და ხელმისაწვდომია დასაკავშირებლად."</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 84c15a5..772a628 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Күні мен уақыты"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Күні мен уақытын реттеу"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Күнін, уақытын, уақыт аймағын, форматтарды реттеу"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Желі уақытын пайдалану"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Желінің уақыт белдеуін пайдалану"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Жергілікті әдепкі параметрді пайдалану"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 сағаттық формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 сағаттық форматты қолдану"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Экранды құлыптау, саусақ ізі"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Экранды құлыптау"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Телефоныңыздың құлпын бет және саусақ ізі арқылы ашыңыз"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Қолданбаларға кіріп, төлеміңізді растауыңызға болады"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Құлыпты ашу әдісі:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face Unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Телефоныңыздың құлпын оңай ашыңыз"</string>
@@ -697,7 +700,7 @@
     <string name="bluetooth_quick_toggle_summary" msgid="5257744297562880017">"Bluetooth құрылғысын қосу"</string>
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
-    <string name="bluetooth_settings_summary" msgid="6805458703566046784">"Байланыстарды басқарып, құрылғы атауы мен табылу мүмкіндігін тағайындаңыз"</string>
+    <string name="bluetooth_settings_summary" msgid="6805458703566046784">"Байланыстарды басқару, құрылғының атауын және көріну мүмкіндігін реттеу"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысымен жұптау керек пе?"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth жұптау коды"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Жұптау кодын теріңіз, содан кейін «Оралу» немесе «Енгізу» түймесін басыңыз"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Құрылғының MAC мекенжайы"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Кездейсоқ MAC мекенжайы"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Кездейсоқ MAC мекенжайы (соңғы пайдаланылған)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP мекенжайы"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Желі деректері"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Қосалқы желі маскасы"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Жарамды торап мекенжайын теріңіз."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Жарамды DNS мекенжайын теріңіз."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Желі префиксінің ұзындығын 0 және 32 аралығында теріңіз"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (жеке DNS-пен ауыстырылмаса)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (жеке DNS-пен ауыстырылмаса)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Торап"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Желі префиксінің ұзындығы"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Жаңа хабарландырулар келгенде, экран қосылады."</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Уақыт пен ақпаратты көрсету"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Батарея заряды тезірек таусылады"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Қалың шртифтілі мәтін"</string>
     <string name="title_font_size" msgid="570613010306330622">"Қаріп өлшемі"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Мәтінді үлкейтеді немесе кішірейтеді"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM картасын құлыптау параметрлері"</string>
@@ -2528,7 +2531,7 @@
     <string name="power_phone" msgid="2768396619208561670">"Дыбыс қоңыраулары"</string>
     <string name="power_idle" product="tablet" msgid="4689321599298911021">"Планшет бос"</string>
     <string name="power_idle" product="default" msgid="9132502722499465252">"Күту режимі"</string>
-    <string name="power_unaccounted" msgid="2160811497426475703">"Әр түрлі"</string>
+    <string name="power_unaccounted" msgid="2160811497426475703">"Әртүрлі"</string>
     <string name="power_overcounted" msgid="3681101460287472876">"Артық есептелген"</string>
     <string name="usage_type_cpu" msgid="8544148642836549011">"Барлық CPU (орталық өңдеу бірлігі)"</string>
     <string name="usage_type_cpu_foreground" msgid="6120871498122604239">"CPU (орталық процессор) алғы шебі"</string>
@@ -2673,7 +2676,7 @@
     <string name="tts_sliders_title" msgid="6901146958648426181">"Сөйлеу жылдамдығы және екпін"</string>
     <string name="tts_engine_section_title" msgid="5115035218089228451">"Жүйе"</string>
     <string name="tts_install_voice_title" msgid="5133545696447933812">"Дауыс"</string>
-    <string name="tts_spoken_language" msgid="4652894245474520872">"Сөйлесу тілі"</string>
+    <string name="tts_spoken_language" msgid="4652894245474520872">"Дыбысталу тілі"</string>
     <string name="tts_install_voices_title" msgid="6505257816336165782">"Дауыстарды орнату"</string>
     <string name="tts_install_voices_text" msgid="902408506519246362">"Дауыстарды орнату үшін <xliff:g id="TTS_APP_NAME">%s</xliff:g> қолданбасына өту"</string>
     <string name="tts_install_voices_open" msgid="919034855418197668">"Қолданбаны ашу"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Орнатылмаған – жұмыс профилі"</string>
     <string name="user_admin" msgid="4024553191395768119">"Әкімші"</string>
     <string name="user_you" msgid="3070562015202859996">"Сіз (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Қысқа аты"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> пайдаланушыға дейін қоса аласыз"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Планшет иесі ғана пайдаланушыларды басқара алады."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Телефон иесі ғана пайдаланушыларды басқара алады."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Артқа"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Келесі"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Аяқтау"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Суретке түсіру"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Кескін таңдау"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Фотосурет таңдау"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM карталары"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM карталары"</string>
@@ -3467,7 +3466,7 @@
     <string name="asst_capability_prioritizer_title" msgid="1181272430009156556">"Бейімделетін хабарландырулар басымдығы"</string>
     <string name="asst_capability_prioritizer_summary" msgid="954988212366568737">"Маңыздылығы төмен хабарландыруларды автоматты түрде дыбыссыз режимге орнату"</string>
     <string name="asst_capability_ranking_title" msgid="312998580233257581">"Хабарландыруларды автоматты түрде сұрыптау"</string>
-    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Хабарландыруларды қатыстылығына қарай сұрыптау"</string>
+    <string name="asst_capability_ranking_summary" msgid="2293524677144599450">"Хабарландыруларды сәйкестігіне қарай сұрыптау"</string>
     <string name="asst_feedback_indicator_title" msgid="5169801869752395354">"Бейімделетін хабарландырулар туралы пікірлер"</string>
     <string name="asst_feedback_indicator_summary" msgid="5862082842073307900">"Хабарландыруларға жасалған түзетулерді көрсетеді және жүйеге пікір жіберуді ұсынады"</string>
     <string name="asst_capabilities_actions_replies_title" msgid="4392470465646394289">"Ұсынылған әрекеттер және жауаптар"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Құрылғыны тексеру үшін түртіңіз"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Уақытты, хабарландыруларды және басқа ақпаратты көру үшін экранды түртіңіз."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Үрейлендіргіш дабыл түймесі"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Қуат түймесін 5 рет жылдам басу арқылы төтенше жағдай әрекеттерін іске қосыңыз."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Хабарландыру дыбысы"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Әрекеттерді бастар алдындағы хабарландыру"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Төтенше жағдайға арналған контактілер"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Хабарландыруларды көру үшін саусақ ізін пайдалану"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Саусақ ізі сканері"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Хабарландыруларды көру үшін телефонның артындағы саусақ ізін оқу сканерін саусақпен төмен қарай сипап өтіңіз."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM картасы өшірілуде<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Оператор өшірілмеді"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Бірдеңеден қате кетті де, оператор өшірілмеді."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Бұл жүктеп алынған SIM картасы өшірілсін бе?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Бұл SIM картасының деректерін өшірсеңіз, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> қызметі бұл құрылғыдан жойылады.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> қызметінен бас тартылмайды."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Жою"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM тазартылуда…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM картасының деректері өшірілмеді"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Қатеге байланысты бұл SIM картасының деректерін өшіру мүмкін емес.\n\nҚұрылғыны қайта қосып, әрекетті қайталаңыз."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Құрылғыға қосылу"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> қолданбасы құрылғыңызға қосылу үшін уақытша Wi‑Fi желісін пайдаланғысы келеді."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Ешбір құрылғы табылмады. Құрылғылардың қосулы екенін, оларды жалғауға болатынын тексеріңіз."</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index d058d45..a0b8e93 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"កាល​បរិច្ឆេទ​ &amp; ពេលវេលា"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"កំណត់​កាលបរិច្ឆេទ និង​ពេលវេលា"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"កំណត់​កាលបរិច្ឆេទ ពេលវេលា តំបន់​ពេលវេលា &amp; ទ្រង់ទ្រាយ"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ប្រើ​ម៉ោង​ដែល​ផ្ដល់​ដោយ​បណ្ដាញ"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ប្រើ​ល្វែងម៉ោង​ដែល​ផ្ដល់​ដោយ​បណ្ដាញ"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ប្រើភាសា​លំនាំដើម"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"ប្រព័ន្ធ 24 ម៉ោង"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"ប្រើ​ប្រព័ន្ធ ២៤ ម៉ោង"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ការចាក់សោអេក្រង់ ស្នាមម្រាមដៃ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ការចាក់សោអេក្រង់"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ដោះសោទូរសព្ទរបស់អ្នកដោយសុវត្ថិភាព ដោយប្រើមុខ និងស្នាមម្រាមដៃរបស់អ្នក"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"អ្នកក៏អាច​ចូលកម្មវិធី ដើម្បីបញ្ជាក់​ការបង់ប្រាក់​បានផងដែរ"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"រៀបចំ​ការដោះសោ​ដោយប្រើ៖"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ដោះសោ​តាមទម្រង់មុខ"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ធ្វើឱ្យងាយស្រួលដោះសោទូរសព្ទរបស់អ្នកបំផុត"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"អាសយដ្ឋាន​ឧបករណ៍ MAC"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"អាសយដ្ឋាន MAC ចៃដន្យ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"អាសយដ្ឋាន MAC ចៃដន្យ (បានប្រើចុងក្រោយ)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"អាសយដ្ឋាន IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ព័ត៌មាន​បណ្ដាញ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"របាំងបណ្តាញរង"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"បញ្ចូល​អាសយដ្ឋាន​ច្រកចេញ​ចូល​ដែល​ត្រឹមត្រូវ"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"បញ្ចូល​អាសយដ្ឋាន DNS ដែល​ត្រឹមត្រូវ។"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"បញ្ចូល​ប្រវែង​បុព្វបទ​បណ្ដាញ​ចន្លោះ ០ និង ៣២។"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ប្រសិនបើមិនលុបពីលើដោយ DNS ឯកជន)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ប្រសិនបើមិនលុបពីលើដោយ DNS ឯកជន)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ច្រក​"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ប្រវែង​បុព្វបទ​បណ្ដាញ"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi ​ផ្ទាល់"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"នៅពេល​អេក្រង់​ងងឹត មុខងារនេះ​នឹងបើក​សម្រាប់ការ​ជូនដំណឹងថ្មីៗ"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"បង្ហាញម៉ោង និង​ព័ត៌មាន​ជានិច្ច"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ប្រើ​ថាមពលថ្ម​ច្រើនជាងមុន"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"អក្សរ​ដិត"</string>
     <string name="title_font_size" msgid="570613010306330622">"ទំហំពុម្ពអក្សរ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ធ្វើឲ្យអក្សរធំជាងមុន ឬតូចជាងមុន"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"កំណត់​ការ​ចាក់សោ​ស៊ីម​កាត"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"មិន​បាន​រៀបចំ - ប្រវត្តិរូប​ការងារ"</string>
     <string name="user_admin" msgid="4024553191395768119">"អ្នកគ្រប់គ្រង"</string>
     <string name="user_you" msgid="3070562015202859996">"អ្នក (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"សម្មតិនាម"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"អ្នកអាចបន្ថែមអ្នកប្រើរហូតដល់ <xliff:g id="USER_COUNT">%1$d</xliff:g> នាក់"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"មាន​តែ​ម្ចាស់​កុំព្យូទ័រ​បន្ទះ​ប៉ុណ្ណោះ​អាច​គ្រប់គ្រង​អ្នកប្រើ"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"មាន​តែ​ម្ចាស់​ទូរស័ព្ទ​ប៉ុណ្ណោះ​អាច​គ្រប់គ្រង​អ្នកប្រើ។"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ថយក្រោយ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"បន្ទាប់​"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"បញ្ចប់"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ថតរូប"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ជ្រើសរើស​រូបភាព"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ជ្រើស​រូបថត"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"ស៊ី​ម​កាត"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"ស៊ី​ម​កាត"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ចុចដើម្បី​ពិនិត្យមើល​ឧបករណ៍"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"ដើម្បី​ពិនិត្យមើល​ម៉ោង ការជូន​ដំណឹង និងព័ត៌មាន​ផ្សេងទៀត សូម​ចុចអេក្រង់​របស់អ្នក។"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ប៊ូតុង​បំភ័យ"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"ចាប់ផ្ដើម​សកម្មភាព​ហៅទូរសព្ទទៅ​សេវាសង្គ្រោះបន្ទាន់ ដោយចុច​ប៊ូតុងថាមពលឱ្យរហ័ស 5 ដង។"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"សំឡេងព្រមាន"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"ការជូនដំណឹង មុនពេល​ចាប់ផ្ដើមសកម្មភាព"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ទំនាក់ទំនងពេលមានអាសន្ន"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"អូសលើ​ឧបករណ៍ចាប់ស្នាមម្រាមដៃ​សម្រាប់​ការជូនដំណឹង"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"អូសស្នាមម្រាមដៃ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"ដើម្បីពិនិត្យមើលការជូនដំណឹងរបស់អ្នក សូមអូសចុះក្រោមនៅលើឧបករណ៍ចាប់ស្នាមម្រាមដៃ ដែលស្ថិតនៅផ្នែកខាងក្រោយទូរសព្ទរបស់អ្នក។"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"កំពុង​បិទស៊ីម<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"មិនអាច​បិទក្រុមហ៊ុន​សេវាទូរសព្ទ​បានទេ"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"មានអ្វីមួយ​ខុស​ប្រក្រតី ទើបមិនអាចបិទ​ក្រុមហ៊ុន​សេវាទូរសព្ទ​របស់អ្នកបាន។"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"លុប​ស៊ីមដែលបានទាញយក​នេះឬ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ការលុប​ស៊ីមនេះ​នឹងលុប​សេវាកម្ម <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ពីឧបករណ៍​នេះ។\n\nសេវាកម្ម​សម្រាប់ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> នឹង​មិនត្រូវបាន​បោះបង់ទេ។"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"លុប"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"កំពុង​លុបស៊ីម…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"មិនអាច​លុប​ស៊ីម​បានទេ"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"មិនអាចលុប​ស៊ីមនេះ​បានទេ​ ដោយសារមាន​បញ្ហា។\n\nសូមចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នក​ឡើងវិញ​ រួច​ព្យាយាម​ម្ដងទៀត។"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ភ្ជាប់​ឧបករណ៍"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"កម្មវិធី <xliff:g id="APPNAME">%1$s</xliff:g> ចង់ប្រើ​បណ្ដាញ Wi‑Fi បណ្ដោះអាសន្ន ដើម្បីភ្ជាប់ជាមួយ​ឧបករណ៍​របស់អ្នក"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"រកមិន​ឃើញ​ឧបករណ៍ទេ។ សូម​ប្រាកដថា​ឧបករណ៍​បានបើក និងអាច​ភ្ជាប់បាន។"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index e58fa17..6fbe41b 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"ದಿನಾಂಕ &amp; ಸಮಯ"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"ದಿನಾಂಕ, ಸಮಯ, ಸಮಯದ ವಲಯದ, &amp; ಸ್ವರೂಪಗಳನ್ನು ಹೊಂದಿಸಿ"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ನೆಟ್‌ವರ್ಕ್ ಒದಗಿಸಿದ ಸಮಯವನ್ನು ಬಳಸಿ"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ನೆಟ್‌ವರ್ಕ್ ಒದಗಿಸಲಾದ ಸಮಯವಲಯವನ್ನು ಬಳಸಿ"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ಸ್ಥಳೀಯ ಭಾಷೆ ಡೀಫಾಲ್ಟ್ ಬಳಸಿ"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑ಗಂಟೆಯ ಸ್ವರೂಪ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-ಗಂಟೆ ಫಾರ್ಮ್ಯಾಟ್‌‌ ಬಳಸಿ"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ಸ್ಕ್ರೀನ್ ಲಾಕ್, ಫಿಂಗರ್‌ಪ್ರಿಂಟ್"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ಪರದೆ ಲಾಕ್"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ನಿಮ್ಮ ಮುಖ ಮತ್ತು ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಮೂಲಕ ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"ನೀವು ಆ್ಯಪ್‌ಗಳಿಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ ಕೂಡ ಪಾವತಿಯನ್ನು ಖಚಿತಪಡಿಸಬಹುದು"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ಇದರೊಂದಿಗೆ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ಫೇಸ್ ಅನ್‌ಲಾಕ್"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ನಿಮ್ಮ ಫೋನ್ ಅನ್‌ಲಾಕ್ ಮಾಡುವುದಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ಸಾಧನದ MAC ವಿಳಾಸ"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ಯಾದೃಚ್ಛಿಕಗೊಳಿಸಿದ MAC ವಿಳಾಸ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ಯಾದೃಚ್ಛಿಕಗೊಳಿಸಿದ MAC ವಿಳಾಸ (lಕೊನೆಯದಾಗಿ ಬಳಸಿರುವುದು)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP ವಿಳಾಸ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ನೆಟ್‌ವರ್ಕ್‌ ವಿವರಗಳು"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ಸಬ್‌ನೆಟ್‌ ಮಾಸ್ಕ್‌"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"ಮಾನ್ಯವಾದ ಗೇಟ್‌ವೇ ವಿಳಾಸವನ್ನು ಟೈಪ್‌ ಮಾಡಿ."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"ಮಾನ್ಯವಾದ DNS ವಿಳಾಸವನ್ನು ಟೈಪ್‌ ಮಾಡಿ."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 ಮತ್ತು 32 ನಡುವಿನ ಉದ್ದದ ನೆಟ್‌ವರ್ಕ್‌ ಪೂರ್ವಪ್ರತ್ಯಯವನ್ನು ಟೈಪ್‌ ಮಾಡಿ."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ಖಾಸಗಿ DNS‌ ನಿಂದ ಅತಿಕ್ರಮಿಸದಿದ್ದರೆ)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ಖಾಸಗಿ DNS‌ ನಿಂದ ಅತಿಕ್ರಮಿಸದಿದ್ದರೆ)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ಗೇಟ್‌ವೇ"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ನೆಟ್‌ವರ್ಕ್‌ ಪೂರ್ವಪ್ರತ್ಯಯದ ಅಳತೆ"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi ಡೈರೆಕ್ಟ್"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"ಪರದೆಯು ಡಾರ್ಕ್ ಆಗಿದ್ದಾಗ, ಅದು ಹೊಸ ಅಧಿಸೂಚನೆಗಳಿಗಾಗಿ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"ಯಾವಾಗಲೂ ಸಮಯ &amp; ಮಾಹಿತಿ ತೋರಿಸಿ"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ಅಧಿಕ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"ಫಾಂಟ್ ಗಾತ್ರ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ಪಠ್ಯವನ್ನು ಸಣ್ಣದು ಅಥವಾ ದೊಡ್ಡದು ಮಾಡಿ"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"ಸಿಮ್‌ ಕಾರ್ಡ್ ಲಾಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
@@ -3032,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"ಹೊಂದಿಸಿಲ್ಲ - ಕೆಲಸದ ಪ್ರೊಫೈಲ್"</string>
     <string name="user_admin" msgid="4024553191395768119">"ನಿರ್ವಾಹಕ"</string>
     <string name="user_you" msgid="3070562015202859996">"ನೀವು (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ಅಡ್ಡಹೆಸರು"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"ನೀವು <xliff:g id="USER_COUNT">%1$d</xliff:g> ರವರೆಗೆ ಬಳಕೆದಾರರನ್ನು ಸೇರಿಸಬಹುದು"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"ಕೇವಲ ಟ್ಯಾಬ್ಲೆಟ್‌ಗಳ ಮಾಲೀಕರು ಬಳಕೆದಾರರನ್ನು ನಿರ್ವಹಿಸಬಹುದು."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"ಕೇವಲ ಫೋನ್‌ಗಳ ಮಾಲೀಕರು ಬಳಕೆದಾರರನ್ನು ನಿರ್ವಹಿಸಬಹುದು."</string>
@@ -3152,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ಹಿಂದೆ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ಮುಂದೆ"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"ಪೂರ್ಣಗೊಳಿಸು"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ಫೋಟೋವನ್ನು ಸೆರೆಹಿಡಿಯಿರಿ"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ಚಿತ್ರವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ಫೋಟೋ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ಗಳು"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ಗಳು"</string>
@@ -4489,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ಸಾಧನವನ್ನು ಪರಿಶೀಲಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"ಸಮಯ, ಅಧಿಸೂಚನೆಗಳು ಮತ್ತು ಇತರ ಮಾಹಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ಪ್ಯಾನಿಕ್ ಬಟನ್"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"ಪವರ್ ಬಟನ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ 5 ಬಾರಿ ಒತ್ತುವ ಮೂಲಕ ತುರ್ತು SOS ಆ್ಯಕ್ಷನ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿ."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"ಎಚ್ಚರಿಕೆಯ ಶಬ್ದ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"ಆ್ಯಕ್ಷನ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಎಚ್ಚರಿಕೆ ನೀಡಿ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ತುರ್ತು ಸಂಪರ್ಕಗಳು"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"ಅಧಿಸೂಚನೆಗಳಿಗಾಗಿ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್ನು ಸ್ವೈಪ್ ಮಾಡಿ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"ನಿಮ್ಮ ಅಧಿಸೂಚನೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು, ನಿಮ್ಮ ಫೋನ್ ಹಿಂಭಾಗದಲ್ಲಿನ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್‌ನಲ್ಲಿ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ."</string>
@@ -4840,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ಸಿಮ್ ಅನ್ನು ಆಫ್ ಮಾಡಲಾಗುತ್ತಿದೆ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"ವಾಹಕ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ ವಾಹಕವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಈ ಸಿಮ್ ಅನ್ನು ಅಳಿಸುವುದೇ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ಈ ಸಿಮ್ ಅನ್ನು ಅಳಿಸುವುದರಿಂದ, ಅದು ಈ ಸಾಧನದಿಂದ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ಸೇವೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ಗಾಗಿ ಇರುವ ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ಅಳಿಸಿ"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"ಸಿಮ್ ಅಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ಸಿಮ್ ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ದೋಷದ ಕಾರಣದಿಂದಾಗಿ ಈ ಸಿಮ್ ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ಕನೆಕ್ಟ್ ಮಾಡಲು ತಾತ್ಕಾಲಿಕ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸಲು <xliff:g id="APPNAME">%1$s</xliff:g> ಆ್ಯಪ್ ಬಯಸುತ್ತದೆ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ಯಾವುದೇ ಸಾಧನಗಳು ಕಂಡುಬಂದಿಲ್ಲ. ಸಾಧನಗಳನ್ನು ಆನ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಸಂಪರ್ಕಿಸಲು ಲಭ್ಯವಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ."</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 3b194e6..f2e94f9 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"날짜 및 시간"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"날짜 및 시간 설정"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"날짜, 시간, 표준시간대 및 형식 설정"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"네트워크 시간 사용"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"네트워크 시간대 사용"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"언어 기본값 사용"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24시간 형식"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24시간 형식 사용"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"화면 잠금, 지문"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"화면 잠금"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"얼굴과 지문으로 안전하게 휴대전화를 잠금 해제하세요"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"앱에 로그인하여 결제를 확인하는 방법도 있습니다."</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"설정할 잠금 해제 수단:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"얼굴인식 잠금해제"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"더욱 간편하게 휴대전화를 잠금 해제하세요"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"기기 MAC 주소"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"무작위 MAC 주소"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"무작위 MAC 주소(마지막으로 사용됨)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP 주소"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"네트워크 세부정보"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"서브넷 마스크"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"올바른 게이트웨이 주소를 입력하세요."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"올바른 DNS 주소를 입력하세요."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0에서 32 사이의 네트워크 접두어 길이를 입력해 주세요."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1(비공개 DNS가 우선 적용되지 않는 경우)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2(비공개 DNS가 우선 적용되지 않는 경우)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"게이트웨이"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"네트워크 접두어 길이"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"화면을 어둡게 설정한 경우 새 알림이 오면 절전 모드 자동 해제 기능을 사용 설정합니다."</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"시간 및 정보 항상 표시"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"배터리 사용량 증가"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"텍스트 굵게 표시"</string>
     <string name="title_font_size" msgid="570613010306330622">"글꼴 크기"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"텍스트를 확대 또는 축소"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM 카드 잠금 설정"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"설정되지 않음 - 직장 프로필"</string>
     <string name="user_admin" msgid="4024553191395768119">"관리자"</string>
     <string name="user_you" msgid="3070562015202859996">"나(<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"닉네임"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"사용자 <xliff:g id="USER_COUNT">%1$d</xliff:g>명까지 추가 가능"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"태블릿의 소유자만 사용자를 관리할 수 있습니다."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"휴대전화의 소유자만 사용자를 관리할 수 있습니다."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"뒤로"</string>
     <string name="wizard_next" msgid="3884832431439072471">"다음"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"완료"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"사진 찍기"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"이미지 선택"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"사진 선택"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM 카드"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM 카드"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"탭하여 기기 확인"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"시간, 알림, 기타 정보를 확인하려면 화면을 탭하세요."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"긴급 버튼"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"전원 버튼을 빠르게 5회 누르면 긴급 SOS 기능이 실행됩니다."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"알림 사운드"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"긴급 SOS 기능 실행 전에 알립니다."</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"비상 연락처"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"지문을 스와이프하여 알림 보기"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"지문 스와이프"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"알림을 확인하려면 휴대전화 뒷면의 지문 센서에서 아래로 스와이프합니다."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM을 사용 중지하는 중<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"이동통신사를 사용 중지할 수 없음"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"문제가 발생하여 이동통신사를 사용 중지하지 못했습니다."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"다운로드한 SIM을 삭제하시겠습니까?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"이 SIM을 삭제하면 기기에서 <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> 서비스가 삭제됩니다.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> 서비스는 취소되지 않습니다."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"삭제"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM 삭제 중…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM을 삭제할 수 없음"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"오류로 인해 SIM을 삭제할 수 없습니다.\n\n기기를 다시 시작하고 다시 시도해 보세요."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"기기에 연결"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> 앱에서 임시 Wi‑Fi 네트워크를 사용하여 기기에 연결하려고 합니다."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"기기가 없습니다. 기기가 켜져 있으며 연결 가능한지 확인하세요."</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 8090f50..7c4b021 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Күн жана убакыт"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Күн жана убакытын коюу"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Датаны, убакытты, саат алкагын, жана форматтарды тууралоо"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Тармактын убакыты колдонулсун"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Тармактын убакыт алкагы колдонулсун"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Демейки жергиликтүү форматты колдонуу"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 сааттык формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 сааттык форматты колдонуу"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Экранды кулпулоо, манжа изи"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Экран кулпусу"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Телефондун кулпусун жүзүңүз жана манжа изиңиз менен ачыңыз"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Колдонмолорго кирип, төлөмдү ырастай аласыз"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Кулпуну ачуу ыкмасын тандаңыз:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Жүзүнөн таанып ачуу"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Телефондун кулпусун оңой ачуу"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Түзмөктүн MAC дареги"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Туш келди MAC дареги"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Башаламан иретте түзүлгөн MAC дареги (акыркы)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP дарек"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Тармактын чоо-жайы"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Көмөкчү тармактын маскасы"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Жарактуу шлюз дарегин териңиз."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Жарактуу DNS дарегин териңиз."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Тармактын префикси 0дөн 32ге чейин болушу керек."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (Купуя DNS тарабынан өзгөртүлбөсө)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (Купуя DNS тарабынан өзгөртүлбөсө)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Шлюз"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Тармак префиксинин узуну"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Экран караңгы болуп турганда жаңы билдирме келсе, ал күйөт"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Убакыт жана маалымат ар дайым көрүнүп турсун"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Батарея тез отуруп калат"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Жоон текст"</string>
     <string name="title_font_size" msgid="570613010306330622">"Арип өлчөмү"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Текстти чоңойтуп же кичирейтесиз"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM картаны кулпулоо жөндөөлөрү"</string>
@@ -2173,8 +2176,8 @@
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Түшүндүм"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ыкчам баскычы"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Атайын мүмкүнчүлүктөр баскычы"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Экранды 2 манжаңыз менен өйдө сүрүңүз"</string>
-    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Экранды 3 манжаңыз менен өйдө сүрүңүз"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Экранды 2 манжа менен өйдө сүрүү"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Экранды 3 манжа менен өйдө сүрүү"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"Атайын мүмкүнчүлүктөр баскычын таптап коюңуз"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"Экрандын ылдый жагындагы атайын мүмкүнчүлүктөр баскычын <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> таптап коюңуз.\n\nБашка функцияга өтүү үчүн, Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"Экранды 2 манжаңыз менен ылдый жагынан өйдө көздөй сүрүңүз.\n\nБашка функцияга өтүү үчүн, 2 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Коюлган эмес – Жумуш профили"</string>
     <string name="user_admin" msgid="4024553191395768119">"Админ"</string>
     <string name="user_you" msgid="3070562015202859996">"Сиз (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Каймана аты"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> чейин колдонуучу кошсоңуз болот"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Планшеттин ээси гана колдонуучуларды башкара алат."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Телефондун ээси гана колдонуучуларды башкара алат."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Артка"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Кийинки"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Аяктоо"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Сүрөткө тартуу"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Сүрөт тандоо"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Сүрөт тандаңыз"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM карталар"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM карталар"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Түзмөктү текшерүү үчүн, басып коюу"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Убакытты, билдирмелерди жана башка маалыматты көрүү үчүн, экранды таптап коюңуз."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Сирена баскычы"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Күйгүзүү/өчүрүү баскычын 5 жолу катары менен басып, SOS аракеттерин иштетиңиз."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Эскертүү добушу"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Аракеттерди аткарып баштоодон мурда эскертүү"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Өзгөчө кырдаал байланыштары"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Билдирмелерди манжа изинин сенсору менен көрүү"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Манжа изинин сканери"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Билдирмелериңизди текшерүү үчүн, телефондун аркасындагы манжа изинин сенсорун ылдый сүртүп коюңуз"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-карта өчүрүлүүдө<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Байланыш оператору өчүрүлгөн жок"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Бир жерден ката кетти, байланыш операторуңуз өчүрүлгөн жок."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Бул жүктөлүп алынган SIM картадагы маалыматты тазалайсызбы?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Бул SIM картадагы маалыматты тазаласаңыз, түзмөктү <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> байланыш оператору тейлебей калат. Бирок \n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> байланыш операторунун тарифтик планы мурунку бойдон эле калат."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Тазалоо"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM карта тазаланууда…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM карта тазаланбай жатат"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ката кетти.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Түзмөккө туташуу"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> түзмөгүңүзгө убактылуу Wi‑Fi тармагы аркылуу туташканы жатат"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Түзмөктөр табылган жок. Түзмөктөр күйгүзүлүп, байланышууга даяр экенин текшериңиз."</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index e5c2e6a..4439834 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"ວັນທີ ແລະ ເວລາ"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"ຕັ້ງວັນທີ ແລະເວລາ"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"ຕັ້ງຄ່າວັນທີ, ເວລາ, ເຂດເວລາ &amp; ຮູບແບບ"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ໃຊ້ເວລາທີ່ລະບຸໂດຍເຄືອຂ່າຍ"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ໃຊ້ເຂດເວລາທີ່ລະບຸໂດຍເຄືອຂ່າຍ"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"ຕັ້ງເວລາອັດຕະໂນມັດ"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"ຕັ້ງເຂດເວລາອັດຕະໂນມັດ"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງສະຖານທີ່"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"ຮູບ​ແບບ​ເວ​ລາ 24 ຊົ່ວ​ໂມງ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"ໃຊ້ຮູບແບບ 24 ຊົ່ວໂມງ"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ການລັອກໜ້າຈໍ, ລາຍນິ້ວມື"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ການລັອກໜ້າຈໍ"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ປົດລັອກໂທລະສັບຂອງທ່ານໄດ້ຢ່າງປອດໄພດ້ວຍໃບໜ້າ ແລະ ລາຍນິ້ວມືທ່ານ"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"ທ່ານສາມາດເຂົ້າສູ່ລະບົບຫາແອັບ ແລະ ຢືນຢັນການຈ່າຍເງິນໄດ້ນຳ"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ຕັ້ງຄ່າການປົດລັອກດ້ວຍ:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ປົດລັອກດ້ວຍໜ້າ"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ປົດລັອກໂທລະສັບຂອງທ່ານໄດ້ຢ່າງງ່າຍດາຍ"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ທີ່ຢູ່ MAC ຂອງອຸປະກອນ"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ທີ່ຢູ່ MAC ທີ່ສຸ່ມມາ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ທີ່ຢູ່ MAC ທີ່ສຸ່ມມາແລ້ວ (ໃຊ້ຫຼ້າສຸດ)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"ທີ່ຢູ່ IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ລາຍລະອຽດເຄືອຂ່າຍ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet Mask"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"ເມື່ອໜ້າຈໍມືດ, ມັນຈະຖືກເປີດໃຊ້ສຳລັບການແຈ້ງເຕືອນໃໝ່"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"ສະແດງເວລາ ແລະ ຂໍ້ມູນຕະຫຼອດ"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ເພີ່ມການນຳໃຊ້ແບັດເຕີຣີ"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"ຂໍ້ຄວາມຕົວໜາ"</string>
     <string name="title_font_size" msgid="570613010306330622">"ຂະໜາດຕົວອັກສອນ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ເຮັດໃຫ້ຂໍ້ຄວາມໃຫຍ່ຂຶ້ນ ຫຼື ນ້ອຍລົງ"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"ການຕັ້ງຄ່າການລັອກ SIM ກາດ"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"​ບໍ່​ໄດ້​ຕິດ​ຕັ້ງ - ​ໂປຣ​ໄຟລ໌​ບ່ອນ​ເຮັດ​ວຽກ"</string>
     <string name="user_admin" msgid="4024553191395768119">"ຜູ້​ຄວບ​ຄຸມ"</string>
     <string name="user_you" msgid="3070562015202859996">"ທ່ານ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ຊື່ຫຼິ້ນ"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"ທ່ານ​ສາ​ມາດ​ເພີ່ມ​ຜູ້​ໃຊ້​ໄດ້​ເຖິງ <xliff:g id="USER_COUNT">%1$d</xliff:g> ຄົນ"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"ສະເພາະເຈົ້າຂອງແທັບເລັດທີ່ສາມາດຈັດການຜູ່ໃຊ້ໄດ້."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"ສະເພາະເຈົ້າຂອງໂທລະສັບທີ່ສາມາດຈັດການຜູ່ໃຊ້ໄດ້."</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ກັບຄືນ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ຕໍ່ໄປ"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"ແລ້ວໆ"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ຖ່າຍຮູບ"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ເລືອກຮູບ"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ເລືອກຮູບ"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM ກາດ"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM ກາດ"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ແຕະເພື່ອກວດສອບອຸປະກອນ"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"ເພື່ອກວດສອບເວລາ, ການແຈ້ງເຕືອນ ແລະ ຂໍ້ມູນອື່ນໆ, ໃຫ້ແຕະໃສ່ໜ້າຈໍຂອງທ່ານ."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ປຸ່ມສັນຍານເຕືອນໄພ"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"ຈັດການໂດຍ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"ເລີ່ມຄຳສັ່ງ SOS ສຸກເສີນໂດຍການກົດປຸ່ມເປີດປິດໄວໆ 5 ເທື່ອ."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"ສຽງຄຳເຕືອນ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"ແຈ້ງເຕືອນກ່ອນເລີ່ມຄຳສັ່ງ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ລາຍຊື່ຜູ້ຕິດຕໍ່ສຸກເສີນ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"ປັດລາຍນິ້ວມືສຳລັບການແຈ້ງເຕືອນ"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ປັດລາຍນິ້ວມື"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"ເພື່ອກວດເບິ່ງການແຈ້ງເຕືອນຂອງທ່ານ, ໃຫ້ເລື່ອນລົງໃສ່ເຊັນເຊີນລາຍນິ້ວມືທີ່ຢູ່ຫຼັງໂທລະສັບຂອງທ່ານ."</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ກຳລັງປິດ SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"ບໍ່ສາມາດປິດການຳໃຊ້ຜູ້ໃຫ້ບໍລິການ"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ ແລະ ບໍ່ສາມາດປິດການນຳໃຊ້ຜູ້ໃຫ້ບໍລິການຂອງທ່ານໄດ້."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ລຶບ SIM ທີ່ດາວໂຫລດມາແລ້ວນີ້ອອກບໍ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ການລຶບ SIM ນີ້ຈະລຶບບໍລິການ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ອອກຈາກອຸປະກອນນີ້.\n\nຈະບໍ່ຍົກເລີກບໍລິການສຳລັບ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ລຶບ"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"ກຳລັງລຶບ SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້ເນື່ອງຈາກມີຂໍ້ຜິດພາດ.\n\nກະລຸນາຣີສະຕາດອຸປະກອນຂອງທ່ານແລ້ວລອງໃໝ່."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ເຊື່ອມຕໍ່ຫາອຸປະກອນ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"ແອັບ <xliff:g id="APPNAME">%1$s</xliff:g> ຕ້ອງການໃຊ້ເຄືອຂ່າຍ Wi‑Fi ຊົ່ວຄາວເພື່ອເຊື່ອມຕໍ່ຫາອຸປະກອນຂອງທ່ານ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ບໍ່ພົບອຸປະກອນ. ກະລຸນາກວດສອບວ່າເປີດອຸປະກອນແລ້ວ ແລະ ສາມາດເຊື່ອມຕໍ່ໄດ້."</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 571dac6..45b6df4 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data ir laikas"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Nustatyti datą ir laiką"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Nustatyti datą, laiką, laiko juostą ir formatus"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Naudoti tinklo pateiktą laiką"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Naudoti tinklo pateiktą laiko juostą"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Naudoti numatytuosius lokalės nustatymus"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 val. formatas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Naudoti 24 val. formatą"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekrano užraktas, piršto antspaudas"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Ekrano užraktas"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Saugiai atrakinkite telefoną veidu ir kontroliniu kodu"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Galite prisijungti prie programų ir patvirtinti mokėjimą"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Nustatyti atrakinimą naudojant:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Atrakinimas pagal veidą"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Palengvinkite telefono atrakinimą"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Įrenginio MAC adresas"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Atsitiktinis MAC adresas"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Atsitiktinai parinktas MAC adresas (pastarasis)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP adresas"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Išsami tinklo info."</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Potinklio kaukė"</string>
@@ -1338,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Tamsus ekranas įjungiamas gavus naujų pranešimų"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Visada rodyti laiką ir inform."</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Naudojama daugiau akumuliatoriaus energijos"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Pusjuodis tekstas"</string>
     <string name="title_font_size" msgid="570613010306330622">"Šrifto dydis"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Padidinkite arba sumažinkite tekstą"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM kort. užrakto nust."</string>
@@ -3116,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nenustatytas – darbo profilis"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administratorius"</string>
     <string name="user_you" msgid="3070562015202859996">"Jūs (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Slapyvardis"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Galite pridėti iki <xliff:g id="USER_COUNT">%1$d</xliff:g> naudotoj."</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Tik planšetinio kompiuterio savininkas gali tvarkyti naudotojus."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Tik telefono savininkas gali tvarkyti naudotojus."</string>
@@ -3236,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Atgal"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Kitas"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Užbaigti"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Fotografuoti"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Pasirinkti vaizdą"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Pasirinkti nuotrauką"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kortelės"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kortelės"</string>
@@ -4633,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Palieskite, kad patikrintumėte įrenginį"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Norėdami sužinoti laiką, peržiūrėti pranešimus ir kitą informaciją, palieskite ekraną."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Pavojaus signalo mygtukas"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Pradėkite pagalbos iškvietimo kritiniu atveju veiksmus penkis kartus greitai paspausdami maitinimo mygtuką."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Įspėjamasis garsas"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Įspėti prieš pradedant veiksmus"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kritinės padėties kontaktai"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Perbraukimas piršto antspaudo jutikliu norint peržiūrėti pranešimus"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Perbr. kontr. k. jutikliu"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Jei norite patikrinti pranešimus, perbraukite žemyn piršto antspaudo jutikliu telefono užpakalinėje dalyje."</string>
@@ -5000,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Išjungiama SIM kortelė<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Nepavyksta išjungti operatoriaus"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Kažkas nepavyko, todėl operatorius nebuvo išjungtas."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Ištrinti šią atsisiųstą SIM kortelę?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ištrynus šią SIM kortelę bus pašalintos „<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>“ paslaugos iš šio įrenginio.\n\n„<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>“ paslaugos nebus atšauktos."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ištrinti"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Ištrinama SIM kortelė…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nepavyko ištrinti SIM kortelės"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Šios SIM kortelės negalima ištrinti dėl klaidos.\n\nPaleiskite įrenginį iš naujo ir bandykite dar kartą."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Prijungimas prie įrenginio"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Programa „<xliff:g id="APPNAME">%1$s</xliff:g>“ nori naudoti laikiną „Wi‑Fi“ tinklą, kad galėtų prisijungti prie jūsų įrenginio"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nerasta jokių įrenginių. Įsitikinkite, kad įrenginiai įjungti ir prie jų galima prisijungti."</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 7560115..bbc3874 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -256,8 +256,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datums un laiks"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Datuma un laika iestatīšana"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Iestatīt datumu, laiku, laika joslu un formātus"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Izmantot tīklā sniegto laiku"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Izmantot tīkla nodrošināto laika joslu"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Izmantot lokalizācijas noklusējuma vērtību"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 stundu formāts"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Izmantot 24 stundu formātu"</string>
@@ -324,7 +326,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekrāna bloķēšana, pirksta nospiedums"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Ekrāna bloķēšana"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Droša tālruņa atbloķēšana ar seju un pirksta nospiedumu"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Varat arī pierakstīties lietotnēs un apstiprināt maksājumus"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Iestatiet sensorus, ar ko atbloķēt."</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Autorizācija pēc sejas"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Atvieglot tālruņa atbloķēšanu"</string>
@@ -1033,6 +1036,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Ierīces MAC adrese"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Nejauši atlasīta MAC adrese"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Nejauši atlasīta MAC adrese (pēdējā izmantotā)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP adrese"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Dati par tīklu"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Apakštīkla maska"</string>
@@ -1050,10 +1054,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Ierakstiet derīgu vārtejas adresi."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Ierakstiet derīgu sistēmas DNS adresi."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Ierakstiet tīkla prefiksa garumu diapazonā 0–32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ja vien to neignorē privātā DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ja vien to neignorē privātā DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Vārteja"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Tīkla prefiksa garums"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1320,6 +1322,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kad ekrāns ir tumšs, tas tiek ieslēgts, saņemot jaunus paziņojumus"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Vienmēr rādīt laiku un inform."</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Palielināts akumulatora lietojums"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Teksts treknrakstā"</string>
     <string name="title_font_size" msgid="570613010306330622">"Fonta lielums"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Palielināt vai samazināt tekstu"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM kartes bloķēšanas iestatījumi"</string>
@@ -3075,7 +3078,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Darba profils — nav iestatīts"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrators"</string>
     <string name="user_you" msgid="3070562015202859996">"Jūs (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Segvārds"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Varat pievienot līdz pat <xliff:g id="USER_COUNT">%1$d</xliff:g> lietotājiem."</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Lietotājus var pārvaldīt tikai planšetdatora īpašnieks."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Lietotājus var pārvaldīt tikai tālruņa īpašnieks."</string>
@@ -3195,9 +3197,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Atpakaļ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Tālāk"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Pabeigt"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Uzņemt fotoattēlu"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Izvēlēties attēlu"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Atlasīt fotoattēlu"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kartes"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kartes"</string>
@@ -4562,10 +4561,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Ierīces paziņojumu pārbaude pieskaroties"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Lai skatītu laiku, paziņojumus un citu informāciju, pieskarieties ekrānam."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Trauksmes poga"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Sākt ārkārtas palīdzības darbības, ja piecreiz strauji nospiežat barošanas pogu."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Brīdinājuma signāls"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Brīdināt pirms darbību sākšanas."</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Ārkārtas kontaktpersonas"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Ziņu skatīšana ar pirksta nospiedumu"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Nospiedumu skeneris"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Lai skatītu paziņojumus, velciet uz leju pār pirksta nospieduma sensoru tālruņa aizmugurē."</string>
@@ -4921,6 +4921,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Notiek SIM kartes izslēgšana<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Mobilo sakaru operatoru nevar atspējot"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Radās kļūda, un mobilo sakaru operatoru nevarēja atspējot."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Vai dzēst šo lejupielādēto SIM karti?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Izdzēšot šo SIM karti, operatora “<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>” pakalpojumi tiek noņemti no šīs ierīces.\n\nOperatora “<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>” pakalpojumi netiks atcelti."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Dzēst"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Notiek SIM kartes dzēšana…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nevar izdzēst SIM karti"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Šo SIM karti nevar izdzēst, jo radās kļūda.\n\nRestartējiet ierīci un mēģiniet vēlreiz."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Savienojuma izveide ar ierīci"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Lietotne <xliff:g id="APPNAME">%1$s</xliff:g> vēlas izmantot pagaidu Wi‑Fi tīklu, lai izveidotu savienojumu ar jūsu ierīci."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nav atrasta neviena ierīce. Ierīcēm ir jābūt ieslēgtām un pieejamām savienojuma izveidei."</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 5c5252f2..8edea4f 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Датум и време"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Постави датум и време"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Постави датум, време, временска зона и формати"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Користи време од мрежата"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Користи часовна зона од мрежата"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Користи локален стандард"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Формат од 24 часа"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Користи 24-часовен формат"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Заклучување екран, отпечаток"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Заклучување екран"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Отклучувајте го телефонот безбедно со лицето и отпечаток"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Може да се најавувате на апликации и да потврдувате плаќања"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Поставете отклучување со:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Отклучување со лик"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Лесно отклучувајте го телефонот"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC-адреса на уредот"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Рандомизирана MAC-адреса"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Рандомизирана MAC-адреса (последно користена)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-адреса"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Детали за мрежата"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Подмрежна маска"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Внеси важечка адреса на капија."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Внеси важечка адреса на DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Внесете мрежен префикс со должина од 0 до 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (освен ако не се отфрли од Приватен DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (освен ако не се отфрли од Приватен DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Портал"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Должина на мрежен префикс"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Кога екранот е темен, се вклучува за нови известувања"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Секогаш прикажи време и инфо."</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Зголемено користење на батеријата"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Текст во болд"</string>
     <string name="title_font_size" msgid="570613010306330622">"Големина на фонт"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Намалете го или зголемете го текстот"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Поставки на заклучување на SIM картичка"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Не е поставен – Работен профил"</string>
     <string name="user_admin" msgid="4024553191395768119">"Администратор"</string>
     <string name="user_you" msgid="3070562015202859996">"Вие (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Прекар"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Може да додадете најмногу <xliff:g id="USER_COUNT">%1$d</xliff:g> корисници"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Само сопственикот на таблетот може да управува со корисниците."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Само сопственикот на телефонот може да управува со корисниците."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Назад"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Следно"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Заврши"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Фотографирајте"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Изберете слика"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Избери фотографија"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-картички"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-картички"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Допрете за да го проверите уредот"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"За да ги проверите времето, известувањата и другите информации, допрете го екранот."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Копче за паника"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Започнете ги SOS-дејствата за итни случаи со брзо притискање на копчето за вклучување 5 пати."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Предупредувачки звук"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Предупреди пред да ги започнеш дејствата"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Контакти за итни случаи"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Повлечете отпечаток за известувања"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Повлечете отпечаток"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"За да ги проверите известувањата, повлечете надолу на сензорот за отпечатоци на задната страна на телефонот."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Се исклучува SIM-картичката<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Не може да се оневозможи операторот"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Нешто тргна наопаку и не можеше да се оневозможи операторот."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Да се избрише преземената SIM-картичка?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ако ја избришете SIM-картичкава, услугата на <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ќе се отстрани од уредов.\n\nУслугата за <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> нема да се откаже."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Избриши"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Се брише SIM-картичката…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не може да се избрише SIM-картичката"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Оваа SIM-картичка не може да се избрише поради грешка.\n\nРестартирајте го уредот и обидете се повторно."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Поврзување со уредот"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Апликацијата <xliff:g id="APPNAME">%1$s</xliff:g> сака да користи привремена Wi‑Fi мрежа за да се поврзе со уредот"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Не се најдени уреди. Уверете се дека уредите се вклучени и достапни за поврзување."</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 206344c..78e7af9 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"തീയതിയും സമയവും"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"തീയതിയും സമയവും സജ്ജീകരിക്കുക"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"തീയതി, സമയം, സമയ മേഖല, ഫോർമാറ്റുകൾ എന്നിവ സജ്ജീകരിക്കുക"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"നെറ്റ്‌വർക്ക് സമയം ഉപയോഗിക്കൂ"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"നെറ്റ്‌വർക്ക് നൽകുന്ന സമയ മേഖല ഉപയോഗിക്കുക"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ഡിഫോൾട്ട് ഭാഷ ഉപയോഗിക്കുക"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 മണിക്കൂർ ഫോർമാറ്റ്"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-മണി. ഫോർമാറ്റ് ഉപയോഗിക്കൂ"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"സ്‌ക്രീൻ ലോക്കും ഫിംഗർപ്രിന്റും"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"സ്ക്രീൻ ലോക്ക്"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"മുഖവും ഫിംഗർപ്രിന്റും ഉപയോഗിച്ച് സുരക്ഷിതമായി അൺലോക്ക് ചെയ്യൂ"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"ആപ്പുകളിൽ സൈൻ ഇൻ ചെയ്യാനും പേയ്മെന്റുകൾ സ്ഥിരീകരിക്കാനുമാകും"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ഇതുപയോഗിച്ച് അൺലോക്ക് ചെയ്യുക:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"മുഖം തിരിച്ചറിഞ്ഞുള്ള അൺലോക്ക്"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ഫോൺ അൺലോക്ക് ചെയ്യുന്നത് എളുപ്പമാക്കൂ"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ഉപകരണ MAC വിലാസം"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ക്രമരഹിതമാക്കിയ MAC വിലാസം"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ക്രമരഹിതമായ MAC വിലാസം (അവസാനം ഉപയോഗിച്ചത്)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP വിലാസം"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"നെറ്റ്‌വർക്ക് വിശദാംശങ്ങൾ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"സബ്‌നെറ്റ് മാസ്‌ക്"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"സാധുവായ ഗേറ്റ്‌വേ വിലാസം ടൈപ്പുചെയ്യുക."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"സാധുവായ DNS വിലാസം ടൈപ്പുചെയ്യുക."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0, 30 എന്നിവയ്‌ക്കിടയിലുള്ള ഒരു നെറ്റ്‌വർക്ക് പ്രിഫി‌ക്സ് ദൈർഘ്യം ടൈപ്പുചെയ്യുക."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (സ്വകാര്യ DNS അസാധുവാക്കിയില്ലെങ്കിൽ)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (സ്വകാര്യ DNS അസാധുവാക്കിയില്ലെങ്കിൽ)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ഗേറ്റ്‌വേ"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"നെറ്റ്‌വർക്ക് പ്രിഫിക്‌സ് ദൈർഘ്യം"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi ഡയറക്‌ട്"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"സ്ക്രീൻ ഓഫായിരിക്കുന്ന സമയത്ത്, പുതിയ അറിയിപ്പുകൾ വരുമ്പോൾ, ഇത് സ്ക്രീൻ ഓണാക്കുന്നു"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"സമയവും വിവരവും എപ്പോഴും കാണിക്കുക"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ഉയർന്ന ബാറ്ററി ഉപയോഗം"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"ബോൾഡ് ടെക്സ്റ്റ്"</string>
     <string name="title_font_size" msgid="570613010306330622">"ഫോണ്ട് വലുപ്പം"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ടെക്സ്റ്റ് ചെറുതോ വലുതോ ആക്കുക"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"സിം കാർഡ് ലോക്ക് ക്രമീകരണങ്ങൾ"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"സജ്ജീകരിച്ചിട്ടില്ല - ഔദ്യോഗിക പ്രൊഫൈൽ"</string>
     <string name="user_admin" msgid="4024553191395768119">"അഡ്‌മിന്‍"</string>
     <string name="user_you" msgid="3070562015202859996">"നിങ്ങൾ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"വിളിപ്പേര്"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> ഉപയോക്താക്കളെ വരെ നിങ്ങൾക്ക് ചേർക്കാം"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"ടാബ്‌ലെറ്റ് ഉടമയ്‌ക്ക് മാത്രമേ ഉപയോക്താക്കളെ നിയന്ത്രിക്കാനാകൂ."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"ഫോൺ ഉടമയ്‌ക്ക് മാത്രമേ ഉപയോക്താക്കളെ നിയന്ത്രിക്കാനാകൂ."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"മടങ്ങുക"</string>
     <string name="wizard_next" msgid="3884832431439072471">"അടുത്തത്"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"പൂര്‍ത്തിയാക്കുക"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ഒരു ഫോട്ടോ എടുക്കുക"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ഒരു ചിത്രം തിരഞ്ഞെടുക്കുക"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ഫോട്ടോ തിരഞ്ഞെടുക്കുക"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"സിം കാർഡുകൾ"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"സിം കാർഡുകൾ"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ഉപകരണം പരിശോധിക്കാൻ, ടാപ്പ് ചെയ്യുക"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"സമയവും അറിയിപ്പുകളും മറ്റ് വിവരങ്ങളും പരിശോധിക്കാൻ, നിങ്ങളുടെ സ്ക്രീനിൽ ടാപ്പ് ചെയ്യുക."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"പാനിക് ബട്ടൺ"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"പവർ ബട്ടൺ വേഗത്തിൽ 5 പ്രാവശ്യം അമർത്തുന്നതിലൂടെ അടിയന്തര SOS പ്രവർത്തനങ്ങൾ ആരംഭിക്കുക."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"മുന്നറിയിപ്പ് ശബ്‌ദം"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"പ്രവർത്തനങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ് അറിയിക്കുക"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"അടിയന്തര കോൺടാക്റ്റുകൾ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"അറിയിപ്പുകൾക്ക് ഫിംഗർപ്രിന്റ് സ്വൈപ്പ് ചെയ്യുക"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ഫിംഗർപ്രിന്റ് സ്വൈപ്പ്"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"അറിയിപ്പുകൾ പരിശോധിക്കാൻ ഫോണിന്‍റെ പിൻവശത്തുള്ള ഫിംഗർപ്രിന്റ് സെൻസറിൽ താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"സിം ഓഫാക്കുന്നു<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"സേവനദാതാവിനെ പ്രവർത്തനരഹിതമാക്കാനാകുന്നില്ല"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"എന്തോ കുഴപ്പം സംഭവിച്ചതിനാൽ നിങ്ങളുടെ സേവനദാതാവിനെ പ്രവർത്തനരഹിതമാക്കാനായില്ല."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ഡൗൺലോഡ് ചെയ്‌ത ഈ സിം മായ്ക്കണോ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ഈ സിം മായ്ക്കുന്നതിലൂടെ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> സേവനം ഈ ഉപകരണത്തിൽ നിന്ന് നീക്കം ചെയ്യപ്പെടും.\n\n <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"മായ്ക്കുക"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"സിം മായ്ക്കുന്നു…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"സിം മായ്ക്കാനാകില്ല"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ഒരു പിശക് കാരണം ഈ സിം മായ്ക്കാനാവില്ല.\n\nനിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ഉപകരണത്തിലേക്ക് കണക്റ്റ് ചെയ്യുക"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"നിങ്ങളുടെ ഉപകരണത്തിലേക്ക് കണക്‌റ്റ് ചെയ്യുന്നതിന് താൽക്കാലിക വെെഫെെ നെറ്റ്‌വർക്ക് ഉപയോഗിക്കാൻ <xliff:g id="APPNAME">%1$s</xliff:g> ആപ്പ് താൽപ്പര്യപ്പെടുന്നു"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ഉപകരണങ്ങളൊന്നും കണ്ടെത്തിയില്ല. ഉപകരണം ഓണാണെന്നും കണക്റ്റ് ചെയ്യാൻ ലഭ്യമാണെന്നും ഉറപ്പാക്കുക."</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index a50ec63..54a9916 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Огноо &amp; цаг"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Огноо болон цагийг тохируулах"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Огноо, цаг, цагийн бүс &amp; форматуудыг тохируулах"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Сүлжээнээс олгосон цагийг ашиглах"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Сүлжээнээс олгосон цагийн бүсийг ашиглах"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Бүс нутгийн өгөгдмөлийг ашиглах"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 цагийн формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 цагийн формат ашиглах"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Дэлгэцийн түгжээ, хурууны хээ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Дэлгэцийн түгжээ"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Утасныхаа түгжээг царай, хурууны хээгээр аюулгүй тайлаарай"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Та мөн аппуудад нэвтэрч, төлбөрөө баталгаажуулах боломжтой"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Түгжээ тайлахыг дараахаар тохируулаарай:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Царайгаар тайлах"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Утасны түгжээгээ тайлахыг хурдан болгоорой"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Төхөөрөмжийн MAC хаяг"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Санамсаргүй сонгосон MAC хаяг"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Санамсаргүй байдлаар эмхэлсэн MAC хаягууд (сүүлд ашигласан)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP хаяг"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Сүлжээний мэдээлэл"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet маск"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Зөв гарцын хаяг оруулна уу."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Зөв DNS хаяг оруулна уу."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 болон 32 хооронд урттай сүлжээний угтварыг бичнэ үү."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (Хувийн DNS-с дараагүй бол)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (Хувийн DNS-с дараагүй бол)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Гарц"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Сүлжээний угтварын урт"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Шууд"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Дэлгэц бараан үед энэ нь шинэ мэдэгдэл ирэхэд асдаг"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Цаг, мэдээллийг үргэлж үзүүлэх"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Сайжруулсан батарей ашиглалт"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Тод текст"</string>
     <string name="title_font_size" msgid="570613010306330622">"Фонтын хэмжээ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Текстийг том эсвэл жижиг болгох"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM картын түгжээний тохиргоо"</string>
@@ -1708,7 +1711,7 @@
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Өөрийн сүлжээнии холболтуудыг удирдахад <xliff:g id="NEW_APP">%1$s</xliff:g>-г <xliff:g id="CURRENT_APP">%2$s</xliff:g>-н оронд ашиглах уу?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Сүлжээний холболтуудыг удирдахад <xliff:g id="NEW_APP">%s</xliff:g>-г ашиглах уу?"</string>
     <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Тодорхойгүй SIM оператор"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>-д мэдэгдэж буй хангалтын вэбсайт алга"</string>
+    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>-д мэдэгдэж буй хангалтын вебсайт алга"</string>
     <string name="mobile_insert_sim_card" msgid="3639245241283948038">"SIM карт оруулаад дахин эхлүүлнэ үү"</string>
     <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Интернэтэд холбогдоно уу"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Саяхны байршлын хүсэлтүүд"</string>
@@ -2705,7 +2708,7 @@
     <string name="user_certificate" msgid="6897024598058566466">"VPN; апликейшн хэрэглэгчийн сертификат"</string>
     <string name="wifi_certificate" msgid="8461905432409380387">"Wi‑Fi сертификат"</string>
     <string name="ca_certificate_warning_title" msgid="7951148441028692619">"Таны өгөгдөл хувийнх биш болно"</string>
-    <string name="ca_certificate_warning_description" msgid="3386740654961466569">"Вэб сайт, апп болон VPN нь шифрлэхэд зориулж CA сертификатыг ашигладаг. Зөвхөн итгэдэг байгууллагаасаа CA сертификатыг суулгана уу. \n\n Хэрэв та CA сертификат суулгавал сертификатын өмчлөгч нь таны зочилдог вэб сайтууд эсвэл таны ашигладаг аппуудаас нууц үг эсвэл кредит картын дэлгэрэнгүй мэдээлэл зэрэг таны өгөгдөлд, хэдий таны өгөгдөл кодчилогдсон байсан ч, хандах боломжтой байна."</string>
+    <string name="ca_certificate_warning_description" msgid="3386740654961466569">"Вебсайт, апп болон VPN нь шифрлэхэд зориулж CA сертификатыг ашигладаг. Зөвхөн итгэдэг байгууллагаасаа CA сертификатыг суулгана уу. \n\n Хэрэв та CA сертификат суулгавал сертификатын өмчлөгч нь таны зочилдог вебсайтууд эсвэл таны ашигладаг аппуудаас нууц үг эсвэл кредит картын дэлгэрэнгүй мэдээлэл зэрэг таны өгөгдөлд, хэдий таны өгөгдөл кодчилогдсон байсан ч, хандах боломжтой байна."</string>
     <string name="certificate_warning_dont_install" msgid="3794366420884560605">"Бүү суулга"</string>
     <string name="certificate_warning_install_anyway" msgid="4633118283407228740">"Ямар ч тохиолдолд суулгах"</string>
     <string name="cert_not_installed" msgid="6725137773549974522">"Сертификатыг суулгаагүй"</string>
@@ -2875,8 +2878,8 @@
     <string name="data_usage_app_restrict_dialog" msgid="5534272311979978297">"Зөвхөн мобайл сүлжээ байгаа тохиолдолд энэ функц далд датанаас шалтгаалдаг апп-н ажиллагааг зогсоож болно.\n\nТа апп доторх тохиргооноос илүү тохиромжтой дата ашиглалтын хяналтыг олж болно."</string>
     <string name="data_usage_restrict_denied_dialog" msgid="8599940395497268584">"Арын датаг мобайл датаны хязгаарыг тохируулсны дараа хязгаарлах боломжтой."</string>
     <string name="data_usage_auto_sync_on_dialog_title" msgid="2048411447974361181">"Өгөгдлийг автоматаар синк хийхийг асаах уу?"</string>
-    <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="6387714350903085918">"Таны вэб дээр өөрийн бүртгэлд оруулсан бүх өөрчлөлт таны таблет руу автоматаар хуулагдах болно.\n\nЗарим бүртгэл нь таны таблет дээр оруулсан аливаа өөрчлөлтийг мөн автоматаар вэб рүү хуулж болно. Google бүртгэл ийм маягаар ажилладаг."</string>
-    <string name="data_usage_auto_sync_on_dialog" product="default" msgid="6457107552266187107">"Таны вэб дээрээс бүртгэлдээ оруулсан бүх өөрчлөлт автоматаар таны утсанд хуулагдах болно.\n\nЗарим бүртгэл нь таны утсан дээрээс оруулсан өөрчлөлтийг вэб рүү автоматаар хуулж болно. Google бүртгэл ингэж ажилладаг."</string>
+    <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="6387714350903085918">"Таны веб дээр өөрийн бүртгэлд оруулсан бүх өөрчлөлт таны таблет руу автоматаар хуулагдах болно.\n\nЗарим бүртгэл нь таны таблет дээр оруулсан аливаа өөрчлөлтийг мөн автоматаар веб рүү хуулж болно. Google бүртгэл ийм маягаар ажилладаг."</string>
+    <string name="data_usage_auto_sync_on_dialog" product="default" msgid="6457107552266187107">"Таны веб дээрээс бүртгэлдээ оруулсан бүх өөрчлөлт автоматаар таны утсанд хуулагдах болно.\n\nЗарим бүртгэл нь таны утсан дээрээс оруулсан өөрчлөлтийг веб рүү автоматаар хуулж болно. Google бүртгэл ингэж ажилладаг."</string>
     <string name="data_usage_auto_sync_off_dialog_title" msgid="1783917145440587470">"Автоматаар өгөгдлийг синк хийхийг унтраах уу?"</string>
     <string name="data_usage_auto_sync_off_dialog" msgid="6523112583569674837">"Энэ нь дата болон зайны цэнэг ашиглалтыг хэмнэх боловч та сүүлийн үеийн мэдээллийг цуглуулахын тулд бүртгэл бүрийг гараар синк хийх шаардлагатай болно. Мөн шинэчлэлт хийгдсэн үед танд мэдэгдэл ирэхгүй."</string>
     <string name="data_usage_cycle_editor_title" msgid="2019035830921480941">"Ашиглалтын циклийг шинэчлэх огноо"</string>
@@ -3007,12 +3010,12 @@
       <item quantity="one">Сертификатад итгэх, эсвэл устгах</item>
     </plurals>
     <plurals name="ssl_ca_cert_info_message_device_owner" formatted="false" msgid="2788832560436163252">
-      <item quantity="other"><xliff:g id="MANAGING_DOMAIN_1">%s</xliff:g> сертификатын эрхийг таны төхөөрөмжид суулгасан бөгөөд үүнд имэйл, апп, аюулгүй вэб хуудас зэрэг таны төхөөрөмжийн сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭдгээр сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
-      <item quantity="one"><xliff:g id="MANAGING_DOMAIN_0">%s</xliff:g> сертификатын эрхийг таны төхөөрөмжид суулгасан бөгөөд тэдгээрт имэйл, апп, аюулгүй вэб хуудас зэрэг таны төхөөрөмжийн сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭнэ сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
+      <item quantity="other"><xliff:g id="MANAGING_DOMAIN_1">%s</xliff:g> сертификатын эрхийг таны төхөөрөмжид суулгасан бөгөөд үүнд имэйл, апп, аюулгүй веб хуудас зэрэг таны төхөөрөмжийн сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭдгээр сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
+      <item quantity="one"><xliff:g id="MANAGING_DOMAIN_0">%s</xliff:g> сертификатын эрхийг таны төхөөрөмжид суулгасан бөгөөд тэдгээрт имэйл, апп, аюулгүй веб хуудас зэрэг таны төхөөрөмжийн сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭнэ сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
     </plurals>
     <plurals name="ssl_ca_cert_info_message" formatted="false" msgid="3989916958347169622">
-      <item quantity="other"><xliff:g id="MANAGING_DOMAIN_1">%s</xliff:g> сертификатын эрхийг таны ажлын профайлд суулгасан бөгөөд үүнд имэйл, апп, аюулгүй вэб хуудас зэрэг таны ажлын сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭдгээр сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
-      <item quantity="one"><xliff:g id="MANAGING_DOMAIN_0">%s</xliff:g> сертификатын эрхийг таны ажлын профайлд суулгасан бөгөөд тэдгээрт имэйл, апп, аюулгүй вэб хуудас зэрэг таны төхөөрөмжийн сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭнэ сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
+      <item quantity="other"><xliff:g id="MANAGING_DOMAIN_1">%s</xliff:g> сертификатын эрхийг таны ажлын профайлд суулгасан бөгөөд үүнд имэйл, апп, аюулгүй веб хуудас зэрэг таны ажлын сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭдгээр сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
+      <item quantity="one"><xliff:g id="MANAGING_DOMAIN_0">%s</xliff:g> сертификатын эрхийг таны ажлын профайлд суулгасан бөгөөд тэдгээрт имэйл, апп, аюулгүй веб хуудас зэрэг таны төхөөрөмжийн сүлжээний үйл ажиллагааг удирдах зөвшөөрлийг олгоно.\n\nЭнэ сертификатын талаарх дэлгэрэнгүй мэдээлэл авахын тулд админтайгаа холбоо барина уу.</item>
     </plurals>
     <string name="ssl_ca_cert_warning_message" msgid="4374052724815563051">"Гуравдагч талын этгээд таны имэйл, апп-ууд болон аюулгүй вебсайтууд гэх мэтийг оруулан таны сүлжээний үйл ажиллагааг хянах боломжтой.\n\nТаны төхөөрөмж дээр суулгасан итгэмжлэгдсэн жуухын тусламжтайгаар ингэх боломжтой."</string>
     <plurals name="ssl_ca_cert_settings_button" formatted="false" msgid="125941406175485894">
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Тохируулаагүй - Ажлын профайл"</string>
     <string name="user_admin" msgid="4024553191395768119">"Админ"</string>
     <string name="user_you" msgid="3070562015202859996">"Та (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Хоч"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Та <xliff:g id="USER_COUNT">%1$d</xliff:g> хүртэлх хэрэглэгч нэмж болно"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Зөвхөн таблетын эзэмшигч л хэрэглэгчдийг удирдаж болно."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Зөвхөн утасны эзэмшигч л хэрэглэгчдийг удирдаж болно."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Буцах"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Дараагийн"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Дуусгах"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Зураг авах"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Зураг сонгох"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Зураг сонгох"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"СИМ карт"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"СИМ карт"</string>
@@ -3996,7 +3995,7 @@
     <string name="assistant_security_warning_disagree" msgid="1539182108068356410">"Зөвшөөрөхгүй"</string>
     <string name="choose_voice_input_title" msgid="4855506199101586943">"Дууны оролтыг сонгох"</string>
     <string name="default_browser_title" msgid="8342074390782390458">"Хөтөч апп"</string>
-    <string name="default_browser_title_none" msgid="4691907418284764833">"Үндсэн вэб хөтөч байхгүй"</string>
+    <string name="default_browser_title_none" msgid="4691907418284764833">"Үндсэн веб хөтөч байхгүй"</string>
     <string name="default_phone_title" msgid="7616730756650803827">"Гар утасны апп"</string>
     <string name="default_app" msgid="445053777504688596">"(Үндсэн)"</string>
     <string name="system_app" msgid="1863291702508355041">"(Систем)"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Төхөөрөмжийг шалгахын тулд товшино уу"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Цаг, мэдэгдэл болон бусад мэдээллийг шалгахын тулд дэлгэцээ товшино уу."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Түгшүүрийн товчлуур"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Асаах товчыг 5 удаа хурдан дарж, яаралтай тусламжийн SOS үйлдлийг эхлүүлээрэй."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Сануулгын дуу"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Үйлдлийг эхлүүлэхийн өмнө сэрэмжлүүлнэ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Яаралтай тусламжийн үед холбоо барих харилцагчид"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Мэдэгдэл харах бол хурууны хээгээ шударна уу"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Хурууны хээгээр шудрах"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Мэдэгдлээ шалгахын тулд утасныхаа арын хурууны хээ мэдрэгчийг доош шударна уу."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-г унтрааж байна<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Оператор компанийг идэвхгүй болгох боломжгүй"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Алдаа гарсан тул таны оператор компанийг идэвхгүй болгож чадсангүй."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Энэ татаж авсан СИМ-г устгах уу?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Энэ СИМ-г устгаснаар <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-н үйлчилгээг энэ төхөөрөмжөөс хасна.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Устгах"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"СИМ-г устгаж байна…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"СИМ-г устгаж чадсангүй"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Энэ СИМ-г алдааны улмаас устгаж чадсангүй.\n\nТөхөөрөмжөө дахин эхлүүлээд, дахин оролдоно уу."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Төхөөрөмжид холбох"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> апп таны төхөөрөмжид холбогдохын тулд түр зуурын Wi-Fi сүлжээ ашиглах хүсэлтэй байна"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Төхөөрөмж олдсонгүй. Төхөөрөмжүүдийг асаалттай бөгөөд холбогдох боломжтой эсэхийг нь шалгана уу."</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 1f37cd8..437770b 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -237,7 +237,7 @@
     <string name="settings_shortcut" msgid="8548239727871847171">"सेटिंग्ज शॉर्टकट"</string>
     <string name="airplane_mode" msgid="3196085857882526817">"विमान मोड"</string>
     <string name="wireless_networks_settings_title" msgid="8557542379234105369">"वायरलेस आणि नेटवर्क"</string>
-    <string name="radio_controls_summary" msgid="9028430178697624501">"Wi‑Fi, Bluetooth, विमान मोड, मोबाईल नेटवर्क आणि VPN व्यवस्थापित करा"</string>
+    <string name="radio_controls_summary" msgid="9028430178697624501">"Wi‑Fi, Bluetooth, विमान मोड, मोबाइल नेटवर्क आणि VPN व्यवस्थापित करा"</string>
     <string name="cellular_data_summary" msgid="6551434804367912367">"मोबाइल नेटवर्कवर डेटा वापराला अनुमती द्या"</string>
     <string name="allow_data_usage_title" msgid="2645963379925196671">"रोमिंग करताना डेटा वापरास अनुमती द्या"</string>
     <string name="roaming" msgid="3055365654530847985">"रोमिंग"</string>
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"तारीख आणि वेळ"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"तारीख आणि वेळ सेट करा"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"तारीख, वेळ, टाइम झोन आणि स्वरूपने सेट करा"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"नेटवर्कने पुरवलेली वेळ वापरा"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"नेटवर्कने पुरवलेला टाइमझोन वापरा"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"लोकॅल डीफॉल्ट वापरा"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑तास स्वरूप"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"२४ तास फॉरमॅट वापरा"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"स्क्रीन लॉक, फिंगरप्रिंट"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"स्क्रीन लॉक"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"तुमचा चेहरा व फिंगरप्रिंटने तुमचा फोन सुरक्षितपणे अनलॉक करा"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"तुम्ही अ‍ॅप्समध्ये साइन इन करूनदेखील पेमेंट निश्चित करू शकता"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"यासोबत अनलॉक सेट करा:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"फेस अनलॉक"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"तुमचा फोन अनलॉक करणे अत्यंत सोपे करा"</string>
@@ -425,7 +428,7 @@
     <string name="cancel_lock_screen_dialog_button_label" msgid="1801132985957491690">"रद्द करा"</string>
     <string name="security_settings_fingerprint_enroll_find_sensor_title" msgid="886085239313346000">"सेन्सरला स्पर्श करा"</string>
     <string name="security_settings_fingerprint_enroll_find_sensor_message" msgid="6160543980992596286">"ते तुमच्या फोनच्या मागील भागावर आहे. तुमची तर्जनी वापरा."</string>
-    <string name="security_settings_fingerprint_enroll_find_sensor_content_description" msgid="3065850549419750523">"डिव्हाइस आणि फिंगरप्रिंट सेंसर स्थानासह चित्रे"</string>
+    <string name="security_settings_fingerprint_enroll_find_sensor_content_description" msgid="3065850549419750523">"डिव्हाइस आणि फिंगरप्रिंट सेन्सर स्थानासह चित्रे"</string>
     <string name="security_settings_fingerprint_enroll_dialog_name_label" msgid="7298812463228440333">"नाव"</string>
     <string name="security_settings_fingerprint_enroll_dialog_ok" msgid="4074335979239208021">"ठीक आहे"</string>
     <string name="security_settings_fingerprint_enroll_dialog_delete" msgid="6027141901007342389">"हटवा"</string>
@@ -860,7 +863,7 @@
     <string name="wifi_menu_p2p" msgid="5234165837732940385">"वाय-फाय डिरेक्ट"</string>
     <string name="wifi_menu_scan" msgid="3498653582115656526">"स्कॅन करा"</string>
     <string name="wifi_menu_advanced" msgid="1940919392030994019">"प्रगत"</string>
-    <string name="wifi_menu_configure" msgid="352423980467311427">"कॉन्फिगर करा"</string>
+    <string name="wifi_menu_configure" msgid="352423980467311427">"कॉंफिगर करा"</string>
     <string name="wifi_menu_connect" msgid="7824796427932811078">"नेटवर्कवर कनेक्ट करा"</string>
     <string name="wifi_menu_remember" msgid="8639523871321603112">"नेटवर्क लक्षात ठेवा"</string>
     <string name="wifi_menu_forget" msgid="6557142984528657361">"नेटवर्क विसरा"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"डिव्हाइसचा MAC ॲड्रेस"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"रँडमाइझ केलेला MAC पत्ता"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"रँडमाइझ केलेला MAC ॲड्रेस (शेवटी वापरला गेला होता)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP पत्ता"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"नेटवर्क तपशील"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"सबनेट मास्क"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"वैध गेटवे पत्ता टाइप करा."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"वैध DNS पत्ता टाइप करा."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 आणि 32 दरम्यान नेटवर्क उपसर्ग लांबी टाइप करा."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (खाजगी DNS ओव्हरराइड करेपर्यंत)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (खाजगी DNS ओव्हरराइड करेपर्यंत)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"गेटवे"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"नेटवर्क उपसर्ग लांबी"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"वाय-फाय डिरेक्ट"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"स्क्रीन गडद असल्यास, नवीन सूचनांसाठी ती सुरू होते"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"वेळ आणि माहिती कायम दाखवा"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"वाढलेला बॅटरी वापर"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"फॉंट आकार"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"मजकूर आणखी लहान-मोठा करा"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"सिम कार्ड लॉक सेटिंग्ज"</string>
@@ -1387,7 +1391,7 @@
     <string name="status_data_network_type" msgid="3689772955330665876">"मोबाइल डेटा नेटवर्क प्रकार"</string>
     <string name="status_voice_network_type" msgid="8700356693062562884">"मोबाइल व्हॉइस नेटवर्क प्रकार"</string>
     <string name="status_latest_area_info" msgid="8288488664620741734">"ऑपरेटर माहिती"</string>
-    <string name="status_data_state" msgid="525196229491743487">"मोबाईल नेटवर्क स्थिती"</string>
+    <string name="status_data_state" msgid="525196229491743487">"मोबाइल नेटवर्क स्थिती"</string>
     <string name="status_esim_id" msgid="5158916796362809133">"EID"</string>
     <string name="status_service_state" msgid="1693424422121058791">"सेवा स्थिती"</string>
     <string name="status_signal_strength" msgid="7644525712554444359">"सिग्नल स्ट्रेंथ"</string>
@@ -1698,7 +1702,7 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"तुमच्या मोबाइल डेटा कनेक्शन किंवा वाय-फाय द्वारे इतर डिव्हाइसना इंटरनेट पुरवण्यासाठी हॉटस्पॉट आणि टेदरिंगचा वापर करा. जवळपासच्या डिव्हाइससह आशय शेअर करण्यासाठी अ‍ॅप्स हॉटस्पॉटदेखील तयार करू शकतात."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"मदत"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"मोबाइल नेटवर्क"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"मोबाईल योजना"</string>
+    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"मोबाइल योजना"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS अ‍ॅप"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS अ‍ॅप बदलायचा?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> च्याऐवजी <xliff:g id="NEW_APP">%1$s</xliff:g> ला तुमचा SMS अ‍ॅप म्हणून वापराय?"</string>
@@ -1735,7 +1739,7 @@
     <string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"ब्लूटूथ स्कॅनिंग"</string>
     <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"ब्लूटूथ बंद असले, तरीही अ‍ॅप्स आणि सेवांना जवळपासची डिव्हाइस कधीही स्कॅन करण्याची अनुमती द्या. याचा वापर उदाहरणार्थ, स्थान आधारित वैशिष्ट्ये आणि सेवा सुधारण्यासाठी केला जाऊ शकतो."</string>
     <string name="managed_profile_location_services" msgid="8172092734138341880">"ऑफिससाठीच्या स्थान सेवा"</string>
-    <string name="location_network_based" msgid="5247042890080021887">"वाय-फाय आणि मोबाईल नेटवर्क स्थान"</string>
+    <string name="location_network_based" msgid="5247042890080021887">"वाय-फाय आणि मोबाइल नेटवर्क स्थान"</string>
     <string name="location_neighborhood_level" msgid="3668890550358558267">"आपल्या स्थानाचा अधिक जलद अंदाज घेण्यासाठी ॲप्सना Google ची स्थान सेवा वापरू द्या. अनामित स्थान डेटा संकलित केला जाईल आणि Google कडे पाठविला जाईल."</string>
     <string name="location_neighborhood_level_wifi" msgid="6227393490651891977">"वाय-फाय द्वारे निर्धारित केलेले स्थान"</string>
     <string name="location_gps" msgid="8783616672454701134">"GPS उपग्रह"</string>
@@ -2381,7 +2385,7 @@
     <string name="print_restart" msgid="4424096106141083945">"रीस्टार्ट"</string>
     <string name="print_cancel" msgid="7611266511967568501">"रद्द करा"</string>
     <string name="print_job_summary" msgid="277210060872032969">"<xliff:g id="PRINTER">%1$s</xliff:g>\n<xliff:g id="TIME">%2$s</xliff:g>"</string>
-    <string name="print_configuring_state_title_template" msgid="2887013172492183045">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> कॉन्फिगर करत आहे"</string>
+    <string name="print_configuring_state_title_template" msgid="2887013172492183045">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> कॉंफिगर करत आहे"</string>
     <string name="print_printing_state_title_template" msgid="7367513245156603431">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> प्रिंट करत आहे"</string>
     <string name="print_cancelling_state_title_template" msgid="9094795458159980190">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> रद्द करत आहे"</string>
     <string name="print_failed_state_title_template" msgid="4751695809935404505">"प्रिंटर एरर <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
@@ -2417,7 +2421,7 @@
     <string name="battery_stats_flashlight_on_label" msgid="1621027969559427783">"फ्लॅशलाइट सुरू"</string>
     <string name="battery_stats_wifi_running_label" msgid="6461551370010379049">"वाय-फाय"</string>
     <string name="battery_stats_wake_lock_label" msgid="8115041205778441548">"सक्रिय"</string>
-    <string name="battery_stats_phone_signal_label" msgid="679649411998679555">"मोबाईल नेटवर्क सिग्नल"</string>
+    <string name="battery_stats_phone_signal_label" msgid="679649411998679555">"मोबाइल नेटवर्क सिग्नल"</string>
     <!-- no translation found for battery_stats_last_duration (3088100394725340600) -->
     <skip />
     <string name="awake" msgid="5405871714019268978">"डिव्हाइस ॲक्टिव्हेट होण्याची वेळ"</string>
@@ -2538,9 +2542,9 @@
     <string name="usage_type_wifi_running" msgid="5573404832197356206">"वाय-फाय चालत आहे"</string>
     <string name="usage_type_phone" product="tablet" msgid="4527092861928972130">"टॅबलेट"</string>
     <string name="usage_type_phone" product="default" msgid="4149330237181984782">"फोन"</string>
-    <string name="usage_type_data_send" msgid="4375755152437282184">"मोबाईल पॅकेट पाठविली"</string>
-    <string name="usage_type_data_recv" msgid="7821924049621005218">"मोबाईल पॅकेट प्राप्त झाली"</string>
-    <string name="usage_type_radio_active" msgid="1876069445855950097">"मोबाईल रेडिओ सक्रिय"</string>
+    <string name="usage_type_data_send" msgid="4375755152437282184">"मोबाइल पॅकेट पाठविली"</string>
+    <string name="usage_type_data_recv" msgid="7821924049621005218">"मोबाइल पॅकेट प्राप्त झाली"</string>
+    <string name="usage_type_radio_active" msgid="1876069445855950097">"मोबाइल रेडिओ सक्रिय"</string>
     <string name="usage_type_data_wifi_send" msgid="6154038607322769558">"वाय-फाय पॅकेट पाठविली"</string>
     <string name="usage_type_data_wifi_recv" msgid="4821128213012023100">"वाय-फाय पॅकेट प्राप्त झाली"</string>
     <string name="usage_type_audio" msgid="1100651355357912864">"ऑडिओ"</string>
@@ -2851,7 +2855,7 @@
     <string name="data_usage_label_background" msgid="8862781660427421859">"पार्श्वभूमी"</string>
     <string name="data_usage_app_restricted" msgid="312065316274378518">"प्रतिबंधित"</string>
     <string name="data_usage_disable_mobile" msgid="6183809500102606801">"मोबाइल डेटा बंद करायचा?"</string>
-    <string name="data_usage_disable_mobile_limit" msgid="1370147078938479538">"मोबाईल डेटा मर्यादा सेट करा"</string>
+    <string name="data_usage_disable_mobile_limit" msgid="1370147078938479538">"मोबाइल डेटा मर्यादा सेट करा"</string>
     <string name="data_usage_disable_4g_limit" msgid="3084868504051520840">"4G डेटा मर्यादा सेट करा"</string>
     <string name="data_usage_disable_3g_limit" msgid="8867555130268898044">"2G-3G डेटा मर्यादा सेट करा"</string>
     <string name="data_usage_disable_wifi_limit" msgid="7222459951785404241">"वाय-फाय डेटा मर्यादा सेट करा"</string>
@@ -2860,9 +2864,9 @@
     <string name="data_usage_tab_mobile" msgid="952231704205870928">"मोबाइल"</string>
     <string name="data_usage_tab_4g" msgid="3265237821331861756">"4G"</string>
     <string name="data_usage_tab_3g" msgid="6111070409752123049">"2G-3G"</string>
-    <string name="data_usage_list_mobile" msgid="3738130489722964291">"मोबाईल"</string>
+    <string name="data_usage_list_mobile" msgid="3738130489722964291">"मोबाइल"</string>
     <string name="data_usage_list_none" msgid="2091924522549134855">"काहीही नाही"</string>
-    <string name="data_usage_enable_mobile" msgid="1996943748103310201">"मोबाईल डेटा"</string>
+    <string name="data_usage_enable_mobile" msgid="1996943748103310201">"मोबाइल डेटा"</string>
     <string name="data_usage_enable_3g" msgid="2818189799905446932">"2G-3G डेटा"</string>
     <string name="data_usage_enable_4g" msgid="1526584080251993023">"4G डेटा"</string>
     <string name="data_roaming_enable_mobile" msgid="5745287603577995977">"रोमिंग"</string>
@@ -2871,9 +2875,9 @@
     <string name="data_usage_app_settings" msgid="5693524672522122485">"अ‍ॅप सेटिंग्ज"</string>
     <string name="data_usage_app_restrict_background" msgid="5728840276368097276">"पार्श्वभूमीवरील डेटा"</string>
     <string name="data_usage_app_restrict_background_summary" msgid="2997942775999602794">"पार्श्वभूमीमध्‍ये मोबाइल डेटाचा वापर सुरू करा"</string>
-    <string name="data_usage_app_restrict_background_summary_disabled" msgid="8213268097024597864">"या ॲपसाठी पार्श्वभूमीवरील डेटा प्रतिबंधित करताना प्रथम मोबाईल डेटा मर्यादा सेट करा."</string>
+    <string name="data_usage_app_restrict_background_summary_disabled" msgid="8213268097024597864">"या ॲपसाठी पार्श्वभूमीवरील डेटा प्रतिबंधित करताना प्रथम मोबाइल डेटा मर्यादा सेट करा."</string>
     <string name="data_usage_app_restrict_dialog_title" msgid="5383874438677899255">"पार्श्वभूमीवरील डेटा प्रतिबंधित करायचा?"</string>
-    <string name="data_usage_app_restrict_dialog" msgid="5534272311979978297">"जेव्हा फक्त मोबाईल नेटवर्क उपलब्ध असतात तेव्हा या वैशिष्ट्यामुळे पार्श्वभूमी डेटावर अवलंबून असलेला अ‍ॅप कार्य करणे थांबवते.\n\nतुम्ही अ‍ॅप मध्ये उपलब्ध असलेल्या सेटिंग्जमध्ये अधिक योग्य डेटा वापर नियंत्रणे शोधू शकता."</string>
+    <string name="data_usage_app_restrict_dialog" msgid="5534272311979978297">"जेव्हा फक्त मोबाइल नेटवर्क उपलब्ध असतात तेव्हा या वैशिष्ट्यामुळे पार्श्वभूमी डेटावर अवलंबून असलेला अ‍ॅप कार्य करणे थांबवते.\n\nतुम्ही अ‍ॅप मध्ये उपलब्ध असलेल्या सेटिंग्जमध्ये अधिक योग्य डेटा वापर नियंत्रणे शोधू शकता."</string>
     <string name="data_usage_restrict_denied_dialog" msgid="8599940395497268584">"तुम्ही मोबाइल डेटा मर्यादा सेट करता तेव्हाच पार्श्वभूमीवरील डेटा प्रतिबंधित करणे शक्य आहे."</string>
     <string name="data_usage_auto_sync_on_dialog_title" msgid="2048411447974361181">"डेटाचे ऑटो-सिंक सुरू करायचे?"</string>
     <string name="data_usage_auto_sync_on_dialog" product="tablet" msgid="6387714350903085918">"तुम्ही वेबवरून आपल्या खात्यामध्ये कोणतेही बदल करता ते आपल्या टॅब्लेटवर स्वयंचलितपणे कॉपी केले जातील.\n\nकाही खाती तुम्ही टॅब्लेटवर करता ते कोणतेही बदल स्वयंचलितपणे वेबवर देखील कॉपी करू शकतात. Google खाते याप्रकारे कार्य करते."</string>
@@ -2902,7 +2906,7 @@
     <string name="data_usage_total_during_range_mobile" product="default" msgid="3183594094081558193">"<xliff:g id="RANGE">%2$s</xliff:g>: आपल्या फोनच्या मापनाप्रमाणे सुमारे <xliff:g id="TOTAL">%1$s</xliff:g> वापरले. आपल्या वाहकाच्या डेटा वापराची गणना भिन्न असू शकते."</string>
     <string name="data_usage_metered_title" msgid="6421347352444253058">"नेटवर्क प्रतिबंध"</string>
     <string name="data_usage_metered_body" msgid="1206840367501998582">"पार्श्वभूमीवरील डेटा प्रतिबंधित असताना मीटर केलेली नेटवर्क मोबाइल नेटवर्कप्रमाणे वापरली जातात. मोठ्‍या डाउनलोडसाठी ही नेटवर्क वापरण्‍यापूर्वी अ‍ॅप्‍सकडून चेतावणी मिळू शकते."</string>
-    <string name="data_usage_metered_mobile" msgid="3514227339274396401">"मोबाईल नेटवर्क"</string>
+    <string name="data_usage_metered_mobile" msgid="3514227339274396401">"मोबाइल नेटवर्क"</string>
     <string name="data_usage_metered_wifi" msgid="4807465959110473407">"मीटर केलेली वाय-फाय नेटवर्क"</string>
     <string name="data_usage_metered_wifi_disabled" msgid="4664158157415362613">"मीटर केलेली नेटवर्क निवडण्‍यासाठी, वाय-फाय सुरू करा."</string>
     <string name="data_usage_metered_auto" msgid="1560514082131687116">"स्वयंचलित"</string>
@@ -3033,7 +3037,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"सेट केलेले नाही - कार्य प्रोफाईल"</string>
     <string name="user_admin" msgid="4024553191395768119">"ॲडमिन"</string>
     <string name="user_you" msgid="3070562015202859996">"तुम्ही (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"टोपणनाव"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"तुम्ही सुमारे <xliff:g id="USER_COUNT">%1$d</xliff:g> वापरकर्ते जोडू शकता"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"केवळ टॅब्लेटचा मालक वापरकर्त्यांना व्यवस्थापित करु शकतो."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"केवळ फोनचा मालक वापरकर्त्यांना व्यवस्थापित करु शकतो."</string>
@@ -3140,8 +3143,8 @@
     <string name="user_restrictions_controlled_by" msgid="2821526006742851624">"<xliff:g id="APP">%1$s</xliff:g> द्वारे नियंत्रित"</string>
     <string name="app_sees_restricted_accounts" msgid="3526008344222566318">"हा अ‍ॅप आपल्या खात्यांमध्ये प्रवेश करु शकतो"</string>
     <string name="app_sees_restricted_accounts_and_controlled_by" msgid="8338520379923447143">"हा अ‍ॅप आपल्‍या खात्यांमध्‍ये प्रवेश करू शकतो. <xliff:g id="APP">%1$s</xliff:g> द्वारे नियंत्रित"</string>
-    <string name="restriction_wifi_config_title" msgid="2630656989926554685">"वाय-फाय आणि मोबाईल"</string>
-    <string name="restriction_wifi_config_summary" msgid="920419010472168694">"वाय-फाय आणि मोबाईल सेटिंग्जच्या सुधारणेस अनुमती द्या"</string>
+    <string name="restriction_wifi_config_title" msgid="2630656989926554685">"वाय-फाय आणि मोबाइल"</string>
+    <string name="restriction_wifi_config_summary" msgid="920419010472168694">"वाय-फाय आणि मोबाइल सेटिंग्जच्या सुधारणेस अनुमती द्या"</string>
     <string name="restriction_bluetooth_config_title" msgid="220586273589093821">"ब्लूटूथ"</string>
     <string name="restriction_bluetooth_config_summary" msgid="7558879931011271603">"ब्लूटूथ जोडण्या आणि सेटिंग्जच्या सुधारणेस अनुमती द्या"</string>
     <string name="restriction_nfc_enable_title" msgid="525512312298242911">"NFC"</string>
@@ -3153,9 +3156,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"परत"</string>
     <string name="wizard_next" msgid="3884832431439072471">"पुढील"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"समाप्‍त"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"फोटो काढा"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"इमेज निवडा"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"फोटो निवडा"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"सिम कार्ड"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"सिम कार्ड"</string>
@@ -4288,7 +4288,7 @@
     <string name="set_data_limit" msgid="9010326815874642680">"डेटा मर्यादा सेट करा"</string>
     <string name="data_limit" msgid="8731731657513652363">"डेटा मर्यादा"</string>
     <string name="data_usage_template" msgid="3822452362629968010">"<xliff:g id="ID_1">%1$s</xliff:g> दरम्यान <xliff:g id="ID_2">%2$s</xliff:g> वापरले"</string>
-    <string name="configure" msgid="1499586749829665889">"कॉन्फिगर करा"</string>
+    <string name="configure" msgid="1499586749829665889">"कॉंफिगर करा"</string>
     <string name="data_usage_other_apps" msgid="5649047093607329537">"वापरामध्ये समाविष्‍ट केलेली इतर अ‍ॅप्स"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="3316296488378947221">
       <item quantity="other">डेटा सेव्हर सुरू असताना <xliff:g id="COUNT">%1$d</xliff:g> अ‍ॅप्सना अनिर्बंध डेटा वापरण्याची अनुमती दिली</item>
@@ -4405,9 +4405,9 @@
     <string name="dark_theme_slice_subtitle" msgid="5555724345330434268">"बॅटरी लाइफ वाढवण्यात मदत करते"</string>
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"द्रुत सेटिंग्ज डेव्हलपर टाइल"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb ऑथोरायझेशन टाइमआउट बंद करा"</string>
-    <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"डीफॉल्ट (सात दिवस) किंवा वापरकर्ता-कॉन्फिगर केलेल्या (किमान एक दिवस) वेळेमध्ये पुन्हा कनेक्ट न केलेल्या सिस्टमसाठी adb ऑथोरायझेशन ऑटोमॅटिक मागे घेणे बंद करा."</string>
+    <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"डीफॉल्ट (सात दिवस) किंवा वापरकर्ता-कॉंफिगर केलेल्या (किमान एक दिवस) वेळेमध्ये पुन्हा कनेक्ट न केलेल्या सिस्टमसाठी adb ऑथोरायझेशन ऑटोमॅटिक मागे घेणे बंद करा."</string>
     <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"विनस्कोप ट्रेस"</string>
-    <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"सेंसर बंद आहेत"</string>
+    <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"सेन्सर बंद आहेत"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"कार्य प्रोफाइल सेटिंग्ज"</string>
     <string name="managed_profile_contact_search_title" msgid="7685402733942182110">"संपर्क शोध"</string>
     <string name="managed_profile_contact_search_summary" msgid="2771343453017731940">"कॉलर आणि संपर्कांना ओळखण्यासाठी आपल्या संस्थेनुसार संपर्क शोधांची अनुमती द्या"</string>
@@ -4490,10 +4490,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"डिव्हाइस तपासण्यासाठी टॅप करा"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"वेळ, सूचना आणि इतर माहिती तपासण्यासाठी तुमच्या स्क्रीनवर टॅप करा."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"पॅनिक बटण"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"पॉवर बटण झटपट पाच वेळा दाबून आणीबाणी SOS क्रिया सुरू करा."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"चेतावणीचा आवाज"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"क्रिया सुरू करण्याआधी सूचित करा"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"आणीबाणी संपर्क"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"सूचनांसाठी फिंगरप्रिंट स्वाइप करा"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"फिंगरप्रिंट स्वाइप करा"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"तुमच्या सूचना तपासण्यासाठी, तुमच्या फोनच्या पाठीमागे फिंगरप्रिंट सेन्सरवर खाली स्वाइप करा."</string>
@@ -4515,7 +4516,7 @@
     <string name="domain_url_section_title" msgid="9028890472923474958">"इंस्टॉल केलेली अ‍ॅप्स"</string>
     <string name="automatic_storage_manager_activation_warning" msgid="170508173207142665">"तुमचा स्टोरेज आता स्टोरेज व्यवस्थापक व्यवस्थापित करत आहे"</string>
     <string name="account_for_section_header" msgid="7466759342105251096">"<xliff:g id="USER_NAME">%1$s</xliff:g> साठी खाती"</string>
-    <string name="configure_section_header" msgid="3126887329521705210">"कॉन्फिगर करा"</string>
+    <string name="configure_section_header" msgid="3126887329521705210">"कॉंफिगर करा"</string>
     <string name="auto_sync_account_title" msgid="1070908045600374254">"अ‍ॅप डेटा आपोआप सिंक करा"</string>
     <string name="auto_sync_personal_account_title" msgid="3544275021920818595">"वैयक्तिक डेटा स्वयंचलितपणे संकालित करा"</string>
     <string name="auto_sync_work_account_title" msgid="6060310415978781885">"कार्य डेटा स्वयंचलितपणे संकालित करा"</string>
@@ -4841,6 +4842,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"सिम बंद करत आहे<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"वाहक बंद करू शकत नाही"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"काहीतरी गडबड झाली आणि तुमचा वाहक बंद करता आला नाही."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"हे डाउनलोड केलेले सिम मिटवायचे?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"हे सिम मिटवल्याने या डिव्हाइसवरून <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> सेवा काढली जाते.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ची सेवा रद्द केली जाणार नाही."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"मिटवा"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"सिम मिटवत आहे…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"सिम मिटवू शकत नाही"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"हे सिम एका एररमुळे मिटवता येत नाही.\n\nतुमचे डिव्हाइस रीस्टार्ट करा आणि पुन्हा प्रयत्न करा."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"डिव्हाइसशी कनेक्ट करा"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"तुमच्या डिव्हाइसशी कनेक्ट करण्यासाठी <xliff:g id="APPNAME">%1$s</xliff:g> ॲपला तात्पुरते वाय-फाय नेटवर्क वापरायचे आहे"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"डिव्हाइस सापडले नाही. डिव्हाइस सुरू केली आहेत आणि ती कनेक्ट करण्यासाठी उपलब्ध आहेत याची खात्री करा."</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 1d83369..371cf29 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Tarikh &amp; masa"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Tetapkan tarikh dan masa"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Tetapkan tarikh, masa, zon masa, &amp; format"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Gnakan masa diberikan rngkaian"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Gunakan zon waktu yang diberikan oleh rangkaian"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gunakan tetapan lalai tempat peristiwa"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Format 24 jam"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gunakan format 24 jam"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kunci skrin, cap jari"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Kunci skrin"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Buka kunci telefon dengan selamat dengan wajah dan cap jari"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Anda boleh mendaftar masuk ke apl dan mengesahkan pembayaran"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Sediakan pembukaan kunci dengan:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Wajah buka kunci"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Mudahkan pembukaan kunci telefon"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Alamat MAC peranti"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Alamat MAC terawak"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Alamat MAC terawak (terakhir digunakan)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Alamat IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Butiran rangkaian"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Tapisan subrangkaian"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Taipkan alamat gerbang yang sah."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Taipkan alamat DNS yang sah."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Sila taip awalan rgkaian yg pjgnya antara 0 &amp; 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (melainkan dibatalkan oleh DNS Peribadi)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (melainkan dibatalkan oleh DNS Peribadi)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Get laluan"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Panjang awalan rangkaian"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Apabila skrin gelap, skrin akan dihidupkan untuk pemberitahuan baharu"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Sentiasa papar masa &amp; maklumat"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Penggunaan bateri bertambah"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Teks Huruf Tebal"</string>
     <string name="title_font_size" msgid="570613010306330622">"Saiz fon"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Besarkan atau kecilkan teks"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Tetapan kunci kad SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Tidak disediakan - Profil kerja"</string>
     <string name="user_admin" msgid="4024553191395768119">"Pentadbir"</string>
     <string name="user_you" msgid="3070562015202859996">"Anda (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nama samaran"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Anda boleh menambahkan sehingga <xliff:g id="USER_COUNT">%1$d</xliff:g> pengguna"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Hanya pemilik tablet boleh menguruskan pengguna."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Hanya pemilik telefon boleh menguruskan pengguna."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Kembali"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Seterusnya"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Selesai"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Ambil foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Pilih imej"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Pilih foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Kad SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Kad SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Ketik untuk memeriksa peranti"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Untuk menyemak masa, pemberitahuan dan maklumat lain, ketik skrin anda."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Butang panik"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Mulakan tindakan SOS kecemasan dengan menekan butang kuasa dengan cepat sebanyak 5 kali."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Bunyi amaran"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Beri amaran sebelum memulakan tindakan"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Orang hubungan kecemasan"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Leret cap jari untuk pemberitahuan"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Leret cap jari"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Untuk menyemak pemberitahuan, leret ke bawah pada penderia cap jari di bahagian belakang telefon anda."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Mematikan SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Tidak dapat melumpuhkan pembawa"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Kesilapan telah berlaku dan pembawa anda tidak dapat dilumpuhkan."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Padamkan SIM yang dimuat turun ini?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Pemadaman SIM ini akan mengalih keluar perkhidmatan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> daripada peranti ini.\n\nPerkhidmatan <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> tidak akan dibatalkan."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Padam"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Memadamkan SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Tidak dapat memadamkan SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM ini tidak dapat dipadamkan disebabkan ralat.\n\nMulakan semula peranti anda, kemudian cuba lagi."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Sambung ke peranti"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Apl <xliff:g id="APPNAME">%1$s</xliff:g> mahu menggunakan rangkaian Wi-Fi sementara untuk menyambung ke peranti anda"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Tiada peranti ditemui. Pastikan peranti dihidupkan dan tersedia untuk menyambung."</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index ebcf951..32901b5 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"ရက်စွဲနှင့် အချိန်"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"ရက်စွဲနှင့် အချိန် သတ်မှတ်ရန်"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"ရက်စွဲ အချိန် အချိန်ဇုန်နှင့် ပုံစံများအား သတ်မှတ်ရန်"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ကွန်ရက်က ပြသောအချိန် သုံးပါ"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ကွန်ရက်က ဖော်ပြထားသောအချိန်ဇုန်ကို သုံးရန်"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"အသုံးပြုမည့် ဒေသဘာသာစကား၏စနစ်ကို သုံးရန်"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"၂၄-နာရီပုံစံ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"၂၄-နာရီပုံစံကို အသုံးပြုမည်"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ဖန်သားပြင် လော့ခ်ချခြင်း၊ လက်ဗွေ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ဖန်သားပြင် လော့ခ်ချခြင်း"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"သင့်ဖုန်းကို မျက်နှာ၊ လက်ဗွေတို့ဖြင့် လုံခြုံစွာဖွင့်လိုက်ပါ"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"အက်ပ်များသို့လက်မှတ်ထိုးဝင်ပြီး ပေးချေမှုကို အတည်ပြုနိုင်သည်"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"လော့ခ်ဖွင့်ခြင်း သတ်မှတ်ရန်-"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"မျက်နှာမှတ် သော့ဖွင့်ခြင်း"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ဖုန်းကို အလွယ်ဖွင့်ရန်"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"စက်ပစ္စည်း MAC လိပ်စာ"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ကျပန်းလုပ်ထားသည့် MAC လိပ်စာ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ကျပန်းလုပ်ထားသော MAC လိပ်စာ (နောက်ဆုံးသုံးထားသည့်)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"အိုင်ပီလိပ်စာ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ကွန်ရက် အသေးစိတ်များ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet ကွင်းဆက်နံပါတ်"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"ခိုင်လုံသောဝင်ပေါက် (gateway)လိပ်စာကို ရိုက်ထည့်ပါ"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"ခိုင်လုံသော DNS လိပ်စာကို ရိုက်ထည့်ပါ"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"၀နှင့်၃၂အရှည်ရှိသော ကွန်ယက်အစပြုနံပတ်ကိုထည့်ပါ"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (သီးသန့် DNS အစားထိုးခြင်း မရှိပါက)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (သီးသန့် DNS အစားထိုးခြင်း မရှိပါက)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ဝင်ပေါက် (gateway)"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ကွန်ရက် အစပြုဂဏန်း၏အရှည်"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"တိုက်ရိုက် Wi-Fi"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"ဖန်သားပြင်မှောင်နေသည့်အခါ ၎င်းက အကြောင်းကြားချက်အသစ်များအတွက် ပွင့်ပေးသည်"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"အချိန်နှင့် အချက်အလက်အမြဲပြရန်"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ဘက်ထရီ အသုံးပြုမှု များလာသည်"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"စာလုံးထူ စာသား"</string>
     <string name="title_font_size" msgid="570613010306330622">"စာလုံးအရွယ်အစား"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"စာလုံးကို ပိုကြီးအောင် သို့မဟုတ် ပိုသေးအောင်ပြုလုပ်ပါ"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"ဆင်းမ်ကဒ် လော့ခ်ဆက်တင်များ"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"အလုပ် ပရိုဖိုင် - မသတ်မှတ်ရသေး"</string>
     <string name="user_admin" msgid="4024553191395768119">"စီမံခန့်ခွဲသူ"</string>
     <string name="user_you" msgid="3070562015202859996">"သင် (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"နာမည်ဝှက်"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"သင် အသုံးပြုသူ <xliff:g id="USER_COUNT">%1$d</xliff:g> ယောက်အထိ ပေါင်းထည့်နိုင်သည်။"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"တက်ဘလက်၏ ပိုင်ရှင်သာ သုံးစွဲသူများကို စီမံခန့်ခွဲနိုင်သည်"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"ဖုန်း၏ ပိုင်ရှင်သာ သုံးစွဲသူများကို စီမံခန့်ခွဲနိုင်သည်"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"နောက်သို့"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ရှေ့သို့"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"ပြီးပြီ"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ဓာတ်ပုံရိုက်ရန်"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ပုံရွေးရန်"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ဓာတ်ပုံ ရွေးရန်"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"ဆင်းမ် ကဒ်များ"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"ဆင်းမ် ကဒ်များ"</string>
@@ -3864,8 +3863,8 @@
     <string name="suggestion_button_close" msgid="6865170855573283759">"ပိတ်ရန်"</string>
     <string name="device_feedback" msgid="5351614458411688608">"ဤကိရိယာအတွက် အကြံပြုချက် ပို့ရန်"</string>
     <string name="restr_pin_enter_admin_pin" msgid="4435410646541671918">"စီမံခန့်ခွဲသူ၏ ပင်နံပါတ်ကို ထည့်ပါ"</string>
-    <string name="switch_on_text" msgid="5664542327776075105">"ဖွင့်ထား၏"</string>
-    <string name="switch_off_text" msgid="1315547447393646667">"ပိတ်ထားသည်"</string>
+    <string name="switch_on_text" msgid="5664542327776075105">"ဖွင့်ရန်"</string>
+    <string name="switch_off_text" msgid="1315547447393646667">"ပိတ်ရန်"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"အက်ပ်ပင်ထိုးခြင်း"</string>
     <string name="screen_pinning_description" msgid="6927147836599784578">"အက်ပ်ပင်ထိုးခြင်းသည် လက်ရှိအက်ပ်ကို ပင်မဖြုတ်မချင်း မြင်ကွင်းထဲတွင် ဆက်ထားခွင့်ပြုသည်။ ဥပမာအားဖြင့် ဤဝန်ဆောင်မှုသည် ယုံကြည်စိတ်ချရသည့် မိတ်ဆွေတစ်ဦးအား ဂိမ်းတစ်ခုခုကို ကစားခွင့်ပြုသည်။ \n\nအက်ပ်တစ်ခုကို ပင်ထိုးထားသည့်အခါ ပင်ထိုးထားသည့်အက်ပ်သည် အခြားအက်ပ်များကို ဖွင့်နိုင်ပြီး ကိုယ်ရေးကိုယ်တာဒေတာများကို အသုံးပြုခွင့်ရှိနိုင်ပါသည်။ \n\nအက်ပ်ပင်ထိုးခြင်းကို အသုံးပြုရန်- 	\n၁။	အက်ပ်ပင်ထိုးခြင်းကို ဖွင့်ပါ 	\n၂။	အနှစ်ချုပ်ကို ဖွင့်ပါ 	\n၃။	မျက်နှာပြင်ထိပ်ဘက်ရှိ အက်ပ်သင်္ကေတကို တို့ပြီး \'ပင်ထိုးရန်\' ကို နှိပ်ပါ"</string>
     <string name="screen_pinning_guest_user_description" msgid="4772752097527490014">"အက်ပ်ပင်ထိုးခြင်းသည် လက်ရှိအက်ပ်ကို ပင်မဖြုတ်မချင်း မြင်ကွင်းထဲတွင် ဆက်ထားခွင့်ပြုသည်။ ဥပမာ ယုံကြည်စိတ်ချရသည့် မိတ်ဆွေတစ်ဦးအား ဂိမ်းတစ်ခုခုကစားခွင့်ပြုရန် ဤဝန်ဆောင်မှုကို သုံးနိုင်သည်။ \n\nအက်ပ်တစ်ခုကို ပင်ထိုးသည့်အခါ ၎င်းက အခြားအက်ပ်များကို ဖွင့်နိုင်ပြီး ကိုယ်ရေးကိုယ်တာဒေတာများကို အသုံးပြုနိုင်သည်။ \n\nသင့်စက်ကို တစ်စုံတစ်ယောက်နှင့် လုံခြုံစွာမျှဝေလိုပါက ဧည့်သည်အသုံးပြုသူကို သုံးကြည့်ပါ။ \n\nအက်ပ်ပင်ထိုးခြင်းကို အသုံးပြုရန်- 	\n၁။	အက်ပ်ပင်ထိုးခြင်းကို ဖွင့်ပါ 	\n၂။	အနှစ်ချုပ်ကို ဖွင့်ပါ 	\n၃။	ဖန်သားပြင်ထိပ်ရှိ အက်ပ်သင်္ကေတကို တို့ပြီး \'ပင်ထိုးရန်\' ကို နှိပ်ပါ"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"စက်ပစ္စည်းကို စစ်ဆေးရန် တို့ပါ"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"အချိန်၊ အကြောင်းကြားချက်များနှင့် အခြားအချက်အလက်များကို စစ်ဆေးရန် သင့်ဖန်သားပြင်ကို တို့ပါ။"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ကြောက်လန့်လျှင်နှိပ်ရန် ခလုတ်"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"\'ဖွင့်ပိတ်ခလုတ်\' ကို ၅ ကြိမ် အမြန်နှိပ်ခြင်းဖြင့် အရေးပေါ် SOS လုပ်ဆောင်ချက်များကို စတင်ပါ။"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"သတိပေးသံ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"လုပ်ဆောင်ချက်များ မစတင်မီ သတိပေးသည်"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"အရေးပေါ်အခြေအနေတွင် ဆက်သွယ်ရမည့်သူများ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"သတိပေးချက်အတွက် လက်ဗွေပွတ်ဆွဲပါ"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"လက်ဗွေပွတ်ဆွဲခြင်း"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"အကြောင်းကြားချက်များကို ကြည့်ရန် ဖုန်း၏ နောက်ကျောဘက်ရှိ လက်ဗွေ အာရုံခံကိရိယာပေါ်တွင် အောက်သို့ ပွတ်ဆွဲပါ။"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"\'ဆင်းမ်ကဒ်\' ပိတ်နေသည်<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"ဝန်ဆောင်မှုပေးသူကို ပိတ်မရပါ"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"တစ်ခုခုမှားယွင်းသွားပါ၍ သင့်ဝန်ဆောင်မှုပေးသူကို ပိတ်မရခဲ့ပါ။"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ဒေါင်းလုဒ်လုပ်ထားသော ဤဆင်းမ်ကို ဖျက်လိုသလား။"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ဤဆင်းမ်ကို ဖျက်ခြင်းဖြင့် ဤစက်ပစ္စည်းမှ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ဝန်ဆောင်မှုကို ဖယ်ရှားပါမည်။\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> အတွက် ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ဖျက်ရန်"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"ဆင်းမ်ကို ဖျက်နေသည်…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ဆင်းမ်ကို ဖျက်၍မရပါ"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"အမှားအယွင်းရှိနေသောကြောင့် ဤဆင်းမ်ကို ဖျက်၍မရပါ။\n\nသင့်စက်ပစ္စည်းကို ပြန်စပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"စက်နှင့် ချိတ်ဆက်ခြင်း"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"သင့်စက်နှင့် ချိတ်ဆက်ရန် <xliff:g id="APPNAME">%1$s</xliff:g> အက်ပ်က ယာယီ Wi‑Fi ကွန်ရက်ကို အသုံးပြုလိုသည်"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"မည်သည့်စက်မျှ မတွေ့ပါ။ စက်များဖွင့်ထားပြီး ချိတ်ဆက်နိုင်ခြင်း ရှိမရှိ စစ်ဆေးပါ။"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 9c0e5ca..6aba00d 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Dato og klokkeslett"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Angi dato og klokkeslett"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Angi dato, klokkeslett, tidssone og formater"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Bruk nettverkets klokkeslett"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Bruk nettverkets tidssone"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Bruk lokal standard"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-timers format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Bruk 24-timers format"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skjermlås, fingeravtrykk"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Skjermlås"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Sikker opplåsing av telefonen med ansikt og fingeravtrykk"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Du kan også logge på apper og bekrefte betalinger"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Konfigurer opplåsing med:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Ansiktslås"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Gjør det enkelt å låse opp telefonen"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Enhetens MAC-adresse"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Tilfeldig valgt MAC-adresse"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Tilfeldiggjort MAC-adresse (sist brukt)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-adresse"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Nettverksdetaljer"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Nettverksmaske"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Angi en gyldig gateway-adresse."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Angi en gyldig DNS-adresse."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Angi lengde for nettverksprefiks mellom 0 og 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (med mindre det overstyres av privat DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (med mindre det overstyres av privat DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Nettverksprefiks-lengde"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Når skjermen er mørk, slås den på for nye varsler"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Vis alltid tidspunkt og info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Økt batteribruk"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Fet tekst"</string>
     <string name="title_font_size" msgid="570613010306330622">"Skriftstørrelse"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Gjør teksten større eller mindre"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Innstillinger for SIM-kort-lås"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Ikke konfigurert – arbeidsprofil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Du (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Kallenavn"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Du kan legge til opptil <xliff:g id="USER_COUNT">%1$d</xliff:g> brukere"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Bare eieren av nettbrettet kan administrere brukere."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Bare eieren av telefonen kan administrere brukere."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Tilbake"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Neste"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Fullfør"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Ta et bilde"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Velg et bilde"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Velg bildet"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-kort"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-kort"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Trykk for å sjekke enheten"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Trykk på skjermen for å sjekke klokkeslettet, varsler og annen informasjon."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panikknapp"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Start nødhandlingene ved å trykke raskt fem ganger på av/på-knappen."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Varsellyd"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Varsle før handlingene startes"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Nødkontakter"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Sveip fingersensoren for varsler"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Sveip på fingersensoren"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Sjekk varsler ved å sveipe ned på fingeravtrykksensoren på baksiden av telefonen."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Slår av SIM-kort <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Kan ikke slå av operatøren"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Noe gikk galt, og enheten kunne ikke slå av operatøren."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Vil du slette dette nedlastede SIM-kortet?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Hvis du tømmer dette SIM-kortet, fjernes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-tjenesten fra denne enheten.\n\nTjenesten for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> blir ikke kansellert."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Slett"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Sletter SIM-kortet …"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kan ikke slette SIM-kortet"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Dette SIM-kortet kan ikke slettes, på grunn av en feil.\n\nStart enheten på nytt og prøv igjen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Koble til enheten"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Appen <xliff:g id="APPNAME">%1$s</xliff:g> vil bruke et midlertidig Wi-Fi-nettverk for å koble til enheten din"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Fant ingen enheter. Sørg for at enhetene er slått på og tilgjengelige for tilkobling."</string>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 4af2b52..be3fba4 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -244,7 +244,7 @@
     <item msgid="2766022553327609913">"SMS पढ्नुहोस्"</item>
     <item msgid="167775364051357284">"SMS लेख्नुहोस्"</item>
     <item msgid="3397583039407928979">"SMS प्राप्त गर्नुहोस्"</item>
-    <item msgid="3658964859478786980">"आपतकालीन SMS प्राप्त गर्नुहोस्"</item>
+    <item msgid="3658964859478786980">"आपत्‌कालीन SMS प्राप्त गर्नुहोस्"</item>
     <item msgid="7975129014728281140">"MMS प्राप्त गर्नुहोस्"</item>
     <item msgid="404809195686849835">"WAP push प्राप्त गर्नुहोस्"</item>
     <item msgid="5167716820004184705">"SMS पठाउनुहोस्"</item>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index c39d799..6270be5 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -34,7 +34,7 @@
     <string name="header_category_system" msgid="1665516346845259058">"प्रणाली"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"सेवामा"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"सेवा उपलब्ध छैन"</string>
-    <string name="radioInfo_service_emergency" msgid="6838935881091760942">"आपतकालीन कल मात्र"</string>
+    <string name="radioInfo_service_emergency" msgid="6838935881091760942">"आपत्‌कालीन कल मात्र"</string>
     <string name="radioInfo_service_off" msgid="6184928420860868571">"रेडियो निष्क्रिय छ"</string>
     <string name="radioInfo_roaming_in" msgid="8892550453644088692">"रोमिङ"</string>
     <string name="radioInfo_roaming_not" msgid="3137594549464975054">"रोमिङमा छैन"</string>
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"मिति र समय"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"मिति र समय सेट गर्नुहोस्"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"मिति, समय, समय क्षेत्र र प्रारुपहरू सेट गर्नुहोस्"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"नेटवर्कप्रदत्त समय प्रयोग गर्नु"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"नेटवर्कप्रदत्त समय क्षेत्र प्रयोग गर्नुहोस्"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"लोकेलको पूर्वनिर्धारित सेटिङ प्रयोग गर्नुहोस्"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"२४ घण्टे ढाँचामा"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"२४-घण्टे ढाँचा प्रयोग गर्नुहोस्"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"स्क्रिन लक, फिंगरप्रिन्ट"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"स्क्रिन लक"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"अनुहार तथा फिंगरप्रिन्ट प्रयोग गरी आफ्नो फोन अनलक गर्नुहोस्"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"तपाईं एपमा साइन इन गर्न र भुक्तानी पुष्टि गर्न पनि सक्नुहुन्छ"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"यसमार्फत अनलक सेटअप गर्नुहोस्:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"फेस अनलक"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"सहज तरिकाले आफ्नो फोन अनलक गर्नुहोस्"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"यन्त्रको MAC ठेगाना"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"अनियमित बनाइएको MAC ठेगाना"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"र्‍यान्डमाइज्ड MAC ठेगाना (पछिल्लो पटक प्रयोग गरिएको)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP ठेगाना"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"नेटवर्कको विवरण"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"सबनेट मास्क"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"एउटा मान्य गेटवे ठेगाना टाइप गर्नुहोस्।"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"एउटा मान्य DNS ठेगाना टाइप गर्नुहोस्।"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"नेटवर्क प्रेफिक्सको लम्बाइ ० देखि ३२का बीच टाइप गर्नुहोस्।"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (निजी DNS ले ओभरराइड नगरुन्जेल)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (निजी DNS ले ओभरराइड नगरुन्जेल))"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"गेटवे"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"नेटवर्क उपसर्ग लम्बाइ"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-fi Direct"</string>
@@ -1109,8 +1111,8 @@
     <string name="wifi_calling_mode_wifi_only_summary" msgid="3155660680014892641">"Wi‑Fi मार्फत कल गर्नुहोस्। 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_2" msgid="3487475808574416183"></string>
-    <string name="emergency_address_title" msgid="3490633500025717573">"आपतकालीन ठेगाना"</string>
-    <string name="emergency_address_summary" msgid="3022628750270626473">"तपाईंले Wi‑Fi मार्फत आपतकालीन कल गर्दा उक्त ठेगानालाई तपाईंको स्थानको रूपमा प्रयोग गरिन्छ"</string>
+    <string name="emergency_address_title" msgid="3490633500025717573">"आपत्‌कालीन ठेगाना"</string>
+    <string name="emergency_address_summary" msgid="3022628750270626473">"तपाईंले Wi‑Fi मार्फत आपत्‌कालीन कल गर्दा उक्त ठेगानालाई तपाईंको स्थानको रूपमा प्रयोग गरिन्छ"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"DNS का सुविधाहरूबारे "<annotation id="url">"थप जान्नुहोस्"</annotation></string>
     <string name="private_dns_mode_on" msgid="8878679071975375696">"सक्रिय गर्नुहोस्"</string>
     <string name="wifi_calling_pref_managed_by_carrier" msgid="129524064888622179">"सेवा प्रदायकद्वारा व्यवस्थापन गरिएको सेटिङ"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"स्क्रिन अफ भएका बेला नयाँ सूचना प्राप्त हुँदा स्क्रिन अन हुन्छ"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"समय र जानकारी सधैँ देखाइयोस्"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ब्याट्री बढी खपत हुने"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"फन्ट आकार"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"पाठ सन्देश अझ ठुलो वा सानो पार्नुहोस्"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM कार्ड लक सेटिङहरू"</string>
@@ -1447,9 +1451,9 @@
     <string name="storage_menu_rename" msgid="8549835371429159336">"पुन: नामाकरण गर्नुहोस्"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"माउन्ट गर्नुहोस्"</string>
     <string name="storage_menu_unmount" msgid="8171552487742912282">"निकाल्नुहोस्"</string>
-    <string name="storage_menu_format" msgid="5454870642788909443">"फरम्याट गर्नुहोस्"</string>
-    <string name="storage_menu_format_public" msgid="5567214442727034630">"पोर्टेबल रूपमा फरम्याट गर्नुहोस्"</string>
-    <string name="storage_menu_format_private" msgid="3208326980027382079">"आन्तरिक रूपमा फरम्याट गर्नुहोस्"</string>
+    <string name="storage_menu_format" msgid="5454870642788909443">"फर्म्याट गर्नुहोस्"</string>
+    <string name="storage_menu_format_public" msgid="5567214442727034630">"पोर्टेबल रूपमा फर्म्याट गर्नुहोस्"</string>
+    <string name="storage_menu_format_private" msgid="3208326980027382079">"आन्तरिक रूपमा फर्म्याट गर्नुहोस्"</string>
     <string name="storage_menu_migrate" msgid="2196088149560070193">"डेटा सार्नुहोस्"</string>
     <string name="storage_menu_forget" msgid="5154017890033638936">"बिर्सनुहोस्"</string>
     <string name="storage_menu_set_up" msgid="4401074025612064744">"सेटअप गर्नुहोस्"</string>
@@ -1476,14 +1480,14 @@
     <string name="storage_mount_failure" msgid="3667915814876418011">"<xliff:g id="NAME">%1$s</xliff:g> लाई माउन्ट गर्न सकेन"</string>
     <string name="storage_unmount_success" msgid="6406298575402936148">"<xliff:g id="NAME">%1$s</xliff:g> सुरक्षित तवरले निकालिएको छ"</string>
     <string name="storage_unmount_failure" msgid="3796912279003790607">"<xliff:g id="NAME">%1$s</xliff:g> सुरक्षित तवरले निकाल्न सकिएन"</string>
-    <string name="storage_format_success" msgid="3028114521294256851">"<xliff:g id="NAME">%1$s</xliff:g> फरम्याट गरियो"</string>
-    <string name="storage_format_failure" msgid="2042691589726261987">"<xliff:g id="NAME">%1$s</xliff:g> फरम्याट गर्न सकिएन"</string>
+    <string name="storage_format_success" msgid="3028114521294256851">"<xliff:g id="NAME">%1$s</xliff:g> फर्म्याट गरियो"</string>
+    <string name="storage_format_failure" msgid="2042691589726261987">"<xliff:g id="NAME">%1$s</xliff:g> फर्म्याट गर्न सकिएन"</string>
     <string name="storage_rename_title" msgid="5911285992205282312">"भण्डारण पुन: नामाकरण गर्नुहोस्"</string>
     <string name="storage_dialog_unmounted" msgid="1187960789775910051">"यो <xliff:g id="NAME_0">^1</xliff:g> सुरक्षित रूपमा निकालियो, तर अझै पनि उपलब्ध छ। \n\n यो <xliff:g id="NAME_1">^1</xliff:g> प्रयोग गर्न, तपाईँले पहिला यो माउन्ट गर्नुपर्छ।"</string>
     <string name="storage_dialog_unmountable" msgid="1761107904296941687">"यो <xliff:g id="NAME_0">^1</xliff:g> बिग्रिएको छ। \n\n यो <xliff:g id="NAME_1">^1</xliff:g> प्रयोग गर्न, तपाईँले पहिले यसलाई सेटअप गर्नुहोस्।"</string>
     <string name="storage_dialog_unsupported" msgid="7787241928013470089">"यो यन्त्रले यो <xliff:g id="NAME_0">^1</xliff:g> लाई समर्थन गर्दैन। \n\n यस यन्त्रसँग यो <xliff:g id="NAME_1">^1</xliff:g> प्रयोग गर्न, तपाईँले पहिला यो सेटअप गर्नुपर्छ।"</string>
     <string name="storage_internal_format_details" msgid="8922023528848861812">"ढाँचामा मिलाएपछि, तपाईँले यसलाई <xliff:g id="NAME_0">^1</xliff:g> अन्य यन्त्रहरूमा प्रयोग गर्न सक्नुहुन्छ। \n\nयसका <xliff:g id="NAME_1">^1</xliff:g> सबै डेटा मेटिनेछन्। पहिले ब्याकअप राख्ने बारे विचार गर्नुहोस्। \n\n"<b>"फोटो तथा अन्य मिडिया ब्याकअप गर्नुहोस्"</b>" \n यस यन्त्रमा वैकल्पिक भण्डारण गर्न आफ्नो मिडिया फाइलहरू सार्नुहोस्, वा USB केबल प्रयोग गरी कम्प्युटरको स्थानान्तरण गर्नुहोस्। \n\n"<b>"एपहरू ब्याकअप गर्नुहोस्"</b>" \n यसमा <xliff:g id="NAME_6">^1</xliff:g> भण्डारित सबै एपहरू हटाइने छन् र तिनका डेटा मेटिनेछन्। यी एपहरू राख्न, यस यन्त्रमा वैकल्पिक भण्डारण गर्न तिनीहरूलाई सार्नुहोस्।"</string>
-    <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"जब तपाईं <xliff:g id="NAME_0">^1</xliff:g> लाई निकाल्नुहुन्छ, यसमा भएका एपहरू चल्न छोड्नेछन्, र पुनः नघुसाएसम्म त्यसमा भएका मिडिया फाइलहरू उपलब्ध हुने छैनन्।"</b>\n\n"यो <xliff:g id="NAME_1">^1</xliff:g> यस यन्त्रमा मात्र काम गर्ने हिसाबले फरम्याट गरिएको छ। यो अन्य कुनैमा काम गर्ने छैन।"</string>
+    <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"जब तपाईं <xliff:g id="NAME_0">^1</xliff:g> लाई निकाल्नुहुन्छ, यसमा भएका एपहरू चल्न छोड्नेछन्, र पुनः नघुसाएसम्म त्यसमा भएका मिडिया फाइलहरू उपलब्ध हुने छैनन्।"</b>\n\n"यो <xliff:g id="NAME_1">^1</xliff:g> यस यन्त्रमा मात्र काम गर्ने हिसाबले फर्म्याट गरिएको छ। यो अन्य कुनैमा काम गर्ने छैन।"</string>
     <string name="storage_internal_forget_details" msgid="5606507270046186691">"<xliff:g id="NAME">^1</xliff:g> मा भएका एपहरू, तस्बिरहरु, र डेटाको प्रयोग गर्न, यसलाई पुन: घुसाउनुहोस्।\n\nवैकल्पिक रूपमा, यन्त्र उपलब्ध नभएको खण्डमा यस भण्डारणलाई भुल्नको लागि रोज्न सक्नुहुनेछ।\n\nयदि तपाईँले भुल्ने विकल्प रोज्नु हुन्छ भने, यन्त्रमा भएका सम्पूर्ण डेटा सदाको लागि नष्ट हुनेछ।\n\nतपाईँले पछि पनि एपहरू पुन: स्थापना गर्न सक्नुहुन्छ तर यस यन्त्रमा भण्डारण भएका डेटा नष्ट हुनेछ।"</string>
     <string name="storage_internal_forget_confirm_title" msgid="379238668153099015">"<xliff:g id="NAME">^1</xliff:g> भुल्नुभयो?"</string>
     <string name="storage_internal_forget_confirm" msgid="5752634604952674123">"यो <xliff:g id="NAME">^1</xliff:g> मा भण्डारण गरिएका सबै एपहरू, फोटोहरू, र डेटा सधैंका लागि नष्ट हुनेछन्।"</string>
@@ -1505,8 +1509,8 @@
     <string name="storage_wizard_init_internal_summary" msgid="2283798331883929674">"यस यन्त्रमा मात्र कुनै पनि चिज, एप र फोटोहरू  भण्डारण गर्नाका लागि। यसलाई ढाँचा मिलाउन आवश्यक हुन्छ जसले अर्का यन्त्रहरूसँग काम गर्नबाट रोक्छ।"</string>
     <string name="storage_wizard_format_confirm_title" msgid="4898014527956178762">"आन्तरिक भण्डारणको रुपमा ढाँचा गर्नुहोस्"</string>
     <string name="storage_wizard_format_confirm_body" msgid="5514665245241830772">"यो सुरक्षित बनाउन यसलाई <xliff:g id="NAME_0">^1</xliff:g> ढाँचा बनाउन आवश्यकता छ। \n\nढाँचामा मिलाएपछि, यो यन्त्रमा यसले <xliff:g id="NAME_1">^1</xliff:g> मात्र काम गर्ने छ। \n\n"<b>" ढाँचा मिलाउँदा <xliff:g id="NAME_2">^1</xliff:g> मा हालैका भण्डारित सबै डेटा मेटिन्छ।"</b>" डेटा गुमाउनुपर्ने बाट जोगिन, यसको ब्याकअप राख्ने बारे विचार गर्नुहोस्।"</string>
-    <string name="storage_wizard_format_confirm_public_title" msgid="649252654496577680">"पोर्टेबल भण्डारणका रूपमा फरम्याट गर्नुहोस्"</string>
-    <string name="storage_wizard_format_confirm_public_body" msgid="6219883780307218266">"यसको लागि <xliff:g id="NAME_0">^1</xliff:g> फरम्याट गर्न आवश्यक छ।\n\n"<b>"फरम्याट गर्दा <xliff:g id="NAME_1">^1</xliff:g> भण्डार गरिएका सबै डेटा नष्ट हुनेछ।"</b>"डेटा जोगाउन ब्याकअप गर्ने बारे बिचार गर्नुहोस्।"</string>
+    <string name="storage_wizard_format_confirm_public_title" msgid="649252654496577680">"पोर्टेबल भण्डारणका रूपमा फर्म्याट गर्नुहोस्"</string>
+    <string name="storage_wizard_format_confirm_public_body" msgid="6219883780307218266">"यसको लागि <xliff:g id="NAME_0">^1</xliff:g> फर्म्याट गर्न आवश्यक छ।\n\n"<b>"फर्म्याट गर्दा <xliff:g id="NAME_1">^1</xliff:g> भण्डार गरिएका सबै डेटा नष्ट हुनेछ।"</b>"डेटा जोगाउन ब्याकअप गर्ने बारे बिचार गर्नुहोस्।"</string>
     <string name="storage_wizard_format_confirm_next" msgid="4412063054982084056">"ढाँचा मेटाउनुहोस्"</string>
     <string name="storage_wizard_format_progress_title" msgid="9170393018855949774">"<xliff:g id="NAME">^1</xliff:g> ढाँचा मिलाइदै ..."</string>
     <string name="storage_wizard_format_progress_body" msgid="1044024044955390417">"<xliff:g id="NAME">^1</xliff:g> फर्म्याट भइरहेको बेला यसलाई नहटाउनुहोस्।"</string>
@@ -1923,7 +1927,7 @@
     <string name="sort_order_frequent_notification" msgid="4063700985742284794">"प्रायःजसो प्रयोग हुने"</string>
     <string name="show_running_services" msgid="8666008279959853318">"चालु सेवाहरू देखाउनुहोस्"</string>
     <string name="show_background_processes" msgid="5682856012453562151">"केस गरिएका प्रक्रियाहरू"</string>
-    <string name="default_emergency_app" msgid="1929974800666613803">"आपतकालीन एप"</string>
+    <string name="default_emergency_app" msgid="1929974800666613803">"आपत्‌कालीन एप"</string>
     <string name="reset_app_preferences" msgid="8861758340732716573">"अनुप्रयोगका प्राथमिकताहरू रिसेट गर्नुहोस् रिसेट गर्नुहोस्"</string>
     <string name="reset_app_preferences_title" msgid="8935136792316050759">"अनुप्रयोगका अनुप्रयोगका प्राथमिकताहरू रिसेट गर्ने हो?"</string>
     <string name="reset_app_preferences_desc" msgid="6509978724602405805">"यस कार्यले निम्न सुविधाहरूका सबै प्राथमिकताहरूलाई रिसेट गर्ने छ:\n\n"<li>"असक्षम पारिएका अनुप्रयोगहरू"</li>\n<li>"असक्षम पारिएका अनुप्रयोगसम्बन्धी सूचनाहरू"</li>\n<li>"कारबाहीका लागि पूर्वनिर्धारित अनुप्रयोगहरू"</li>\n<li>"अनुप्रयोगका लागि पृष्ठभूमिका डेटासम्बन्धी बन्देजहरू"</li>\n<li>"अनुमतिसम्बन्धी सबै बन्देजहरू"</li>\n\n"तपाईं एपको कुनै पनि डेटा गुमाउनु हुने छैन।"</string>
@@ -2155,7 +2159,7 @@
     <string name="accessibility_preference_magnification_summary" msgid="2875518904115896888">"स्क्रिनमा जुम इन गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="2207048420669939150">"जुम गर्न ३ पटक ट्याप गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_navbar_short_summary" msgid="4885018322430052037">"जुम गर्न बटनमा ट्याप गर्नुहोस्"</string>
-    <string name="accessibility_screen_magnification_summary" msgid="2023126829553044999">"सामग्री अझ स्पष्ट रूपमा हेर्न स्क्रिनमा द्रुत रूपमा जुम इन गर्नुहोस्।&lt;br/&gt;&lt;br/&gt; &lt;b&gt;जुम इन गर्न:&lt;/b&gt;&lt;br/&gt; १. सर्टकट प्रयोग गरेर म्याग्निफिकेसन सुविधा सक्रिय गर्नुहोस्&lt;br/&gt; २. स्क्रिनमा ट्याप गर्नुहोस्&lt;br/&gt; ३. स्क्रिनमा सामग्री यताउता सार्न २ औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; ४. जुम समायोजन गर्न २ औँलाले पिन्च गर्नुहोस्&lt;br/&gt; ५. सर्टकट प्रयोग गरेर म्याग्निफिकेसन सुविधा निष्क्रिय पार्नुहोस्&lt;br/&gt;&lt;br/&gt;&lt;b&gt;केही समयका लागि जुम इन गर्न:&lt;/b&gt;&lt;br/&gt; १. सर्टकट प्रयोग गरेर म्याग्निफिकेसन सुविधा सक्रिय गर्नुहोस्&lt;br/&gt; २. स्क्रिनमा कतै केही बेरसम्म छोइराख्नुहोस्&lt;br/&gt; ३. स्क्रिनमा सामग्री यताउता सार्न औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; ४. म्याग्निफिकेसन सुविधा निष्क्रिय पार्न औँला उठाउनुहोस्"</string>
+    <string name="accessibility_screen_magnification_summary" msgid="2023126829553044999">"सामग्री अझ स्पष्ट रूपमा हेर्न स्क्रिनमा द्रुत रूपमा जुम इन गर्नुहोस्।&lt;br/&gt;&lt;br/&gt; &lt;b&gt;जुम इन गर्न:&lt;/b&gt;&lt;br/&gt; १. सर्टकट प्रयोग गरेर म्याग्निफिकेसन सुविधा सक्रिय गर्नुहोस्&lt;br/&gt; २. स्क्रिनमा ट्याप गर्नुहोस्&lt;br/&gt; ३. स्क्रिनमा सामग्री यताउता सार्न २ औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; ४. जुम समायोजन गर्न २ औँलाले पिन्च गर्नुहोस्&lt;br/&gt; ५. सर्टकट प्रयोग गरेर म्याग्निफिकेसन सुविधा निष्क्रिय पार्नुहोस्&lt;br/&gt;&lt;br/&gt;&lt;b&gt;केही समयका लागि जुम इन गर्न:&lt;/b&gt;&lt;br/&gt; १. सर्टकट प्रयोग गरेर म्याग्निफिकेसन सुविधा सक्रिय गर्नुहोस्&lt;br/&gt; २. स्क्रिनमा कतै केही बेरसम्म टच एण्ड होल्ड गर्नुहोस्&lt;br/&gt; ३. स्क्रिनमा सामग्री यताउता सार्न औँलाले ड्र्याग गर्नुहोस्&lt;br/&gt; ४. म्याग्निफिकेसन सुविधा निष्क्रिय पार्न औँला उठाउनुहोस्"</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_pager" msgid="8461939455728454061">"<xliff:g id="NUM_PAGES">%2$d</xliff:g> मध्ये <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> औँ पृष्ठ"</string>
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"खोल्नका लागि पहुँचसम्बन्धी बटनको प्रयोग गर्नुहोस्"</string>
@@ -2176,9 +2180,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"२ वटा औँलाले माथितिर स्वाइप गर्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"३ वटा औँलाले माथितिर स्वाइप गर्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="4796192466943479849">"पहुँच बटनमा ट्याप गर्नुहोस्"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"आफ्नो स्क्रिनको फेदमा रहेको पहुँचको बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान पहुँच बटन छोइराख्नुहोस्।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"२ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान २ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा छोइराख्नुहोस्।"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"३ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान ३ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा छोइराख्नुहोस्।"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="5606196352833449600">"आफ्नो स्क्रिनको फेदमा रहेको पहुँचको बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान पहुँच बटन टच एण्ड होल्ड गर्नुहोस्।"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture" msgid="8292555254353761635">"२ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान २ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा टच एण्ड होल्ड गर्नुहोस्।"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"३ वटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान ३ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा टच एण्ड होल्ड गर्नुहोस्।"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"भोल्युम कुञ्जीहरू थिचिरहनुहोस्"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"भोल्युम कुञ्जीहरू थिचिराख्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"दुवै भोल्युम बटन थिचिराख्नुहोस्"</string>
@@ -2909,7 +2913,7 @@
     <string name="data_usage_metered_yes" msgid="4262598072030135223">"शुल्क लाग्ने"</string>
     <string name="data_usage_metered_no" msgid="1685828958417926268">"सशुल्क प्रावधान तय नगरिसकिएको"</string>
     <string name="data_usage_disclaimer" msgid="3271450299386176770">"वाहक डेटा लेखाकृत गर्ने तपाईँको उपकरणबाट फरक हुन सक्छ।"</string>
-    <string name="cryptkeeper_emergency_call" msgid="8369322820475703306">"आपतकालीन कल"</string>
+    <string name="cryptkeeper_emergency_call" msgid="8369322820475703306">"आपत्‌कालीन कल"</string>
     <string name="cryptkeeper_return_to_call" msgid="3857250752781151232">"कलमा फर्किनुहोस्"</string>
     <string name="vpn_name" msgid="3806456074909253262">"नाम"</string>
     <string name="vpn_type" msgid="5533202873260826663">"प्रकार"</string>
@@ -3032,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"सेट भएको छैन - कार्य प्रोफाइल"</string>
     <string name="user_admin" msgid="4024553191395768119">"प्रशासक"</string>
     <string name="user_you" msgid="3070562015202859996">"तपाईं (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"उपनाम"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"तपाईँले <xliff:g id="USER_COUNT">%1$d</xliff:g> जना प्रयोगकर्ता सम्म थप्न सक्नुहुनेछ"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"ट्याब्लेटको मालिकले मात्र प्रयोगकर्ताहरूलाई व्यवस्थापन गर्न सक्छ।"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"केवल फोनको धनीले मात्र प्रयोगकर्ता व्यवस्थापन गर्न सक्छ"</string>
@@ -3064,7 +3067,7 @@
     <string name="user_enable_calling_confirm_message" msgid="4924965198409050155">"कल इतिहासमा यो प्रयोगकर्ता सँग साझेदारी गरिने छ।"</string>
     <string name="user_enable_calling_and_sms_confirm_title" msgid="4041510268838725520">"फोन कल तथा SMS सक्षम गर्ने हो?"</string>
     <string name="user_enable_calling_and_sms_confirm_message" msgid="367792286597449922">"कल र SMS इतिहास यो प्रयोगकर्तासँग साझेदारी गरिने छ।"</string>
-    <string name="emergency_info_title" msgid="8233682750953695582">"आपतकालीन सूचना"</string>
+    <string name="emergency_info_title" msgid="8233682750953695582">"आपत्‌कालीन सूचना"</string>
     <string name="emergency_info_summary" msgid="8463622253016757697">"<xliff:g id="USER_NAME">%1$s</xliff:g> का बारेमा जानकारी र सम्पर्क ठेगानाहरू"</string>
     <string name="application_restrictions" msgid="276179173572729205">"एपहरू र सामग्री अनुमति दिनुहोस्"</string>
     <string name="apps_with_restrictions_header" msgid="5277698582872267931">"प्रतिबन्धको साथ एपहरू"</string>
@@ -3108,7 +3111,7 @@
     <string name="call_manager_title" msgid="3397433159509629466">"प्रबन्धक कल"</string>
     <!-- no translation found for call_manager_summary (2558839230880919191) -->
     <skip />
-    <string name="cell_broadcast_settings" msgid="2416980110093867199">"आपत्कालीन वायरलेस अलर्टहरू"</string>
+    <string name="cell_broadcast_settings" msgid="2416980110093867199">"आपत्‌कालीन वायरलेस अलर्टहरू"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"सञ्जाल संचालकहरू"</string>
     <string name="access_point_names" msgid="5768430498022188057">"बिन्दु नामहरूमा पहुँच"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="6624700245232361149">"VoLTE"</string>
@@ -3152,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"पछाडि जानुहोस्"</string>
     <string name="wizard_next" msgid="3884832431439072471">"अर्को"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"समाप्त गर्नुहोस्"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"फोटो खिच्नुहोस्"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"कुनै फोटो छनौट गर्नुहोस्"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"फोटो छान्नुहोस्"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"सिम कार्ड"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM कार्डहरू"</string>
@@ -3572,7 +3572,7 @@
     <string name="important_bubble" msgid="7911698275408390846">"महत्त्वपूर्ण वार्तालापहरू बबलमा देखाइयोस्"</string>
     <string name="important_conversation_behavior_summary" msgid="1845064084071107732">"महत्त्वपूर्ण वार्तालापहरू पुल डाउन सेडका सिरानमा देखिन्छन्। तपाईं वार्तालापहरूलाई बबलका रूपमा देखिने र बाधा नपुर्‍याउनुहोस् नामक मोड निष्क्रिय पार्ने गरी सेट गर्न पनि सक्नुहुन्छ।"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"महत्त्वपूर्ण तथा संशोधित वार्तालापहरू यहाँ देखिने छन्"</string>
-    <string name="conversation_onboarding_summary" msgid="2484845363368486941">"तपाईंले कुनै वार्तालापलाई महत्त्वपूर्ण भनी चिन्ह लगाउनुभयो वा वार्तालापहरूमा अन्य कुनै परिवर्तनहरू गर्नुभयो भने तिनीहरू यहाँ देखिने छन्। \n\nवार्तालापसम्बन्धी सेटिङ परिवर्तन गर्न: \nस्क्रिनको सिरानबाट तलतिर स्वाइप गरेर पुल डाउन सेड खोल्नुहोस्, त्यसपछि कुनै वार्तालापमा छोइराख्नुहोस्।"</string>
+    <string name="conversation_onboarding_summary" msgid="2484845363368486941">"तपाईंले कुनै वार्तालापलाई महत्त्वपूर्ण भनी चिन्ह लगाउनुभयो वा वार्तालापहरूमा अन्य कुनै परिवर्तनहरू गर्नुभयो भने तिनीहरू यहाँ देखिने छन्। \n\nवार्तालापसम्बन्धी सेटिङ परिवर्तन गर्न: \nस्क्रिनको सिरानबाट तलतिर स्वाइप गरेर पुल डाउन सेड खोल्नुहोस्, त्यसपछि कुनै वार्तालापमा टच एण्ड होल्ड गर्नुहोस्।"</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>
@@ -3619,9 +3619,9 @@
     <string name="no_notification_listeners" msgid="2839354157349636000">"कुनै स्थापित एपहरूले सूचना पहुँच अनुरोध गरेका छैनन्।"</string>
     <string name="notification_access_detail_switch" msgid="46386786409608330">"सूचनामाथि पहुँच राख्न दिनुहोस्"</string>
     <string name="notification_assistant_security_warning_title" msgid="2972346436050925276">"<xliff:g id="SERVICE">%1$s</xliff:g> लाई सूचनामाथि पहुँच राख्ने अनुमति दिने हो?"</string>
-    <string name="notification_assistant_security_warning_summary" msgid="7362924206925040510">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> ले सम्पर्क ठेगानामा रहेको नाम र तपाईंले प्राप्त गर्नुभएका पाठ सन्देशहरू जस्ता व्यक्तिगत जानकारीलगायत सबै सूचनाहरू पढ्न सक्ने छ। यो अनुप्रयोगले सूचनाहरू हटाउन वा सूचनामा रहेका बटनहरू प्रयोग गरी फोन उठाउने जस्ता विभिन्न कार्यहरू गर्न सक्छ। \n\nयसले यो एपलाई बाधा नपुऱ्याउनुहोस् नामक मोड सक्रिय गर्ने वा निष्क्रिय पार्ने र सम्बन्धित सेटिङ परिवर्तन गर्ने क्षमता पनि प्रदान गर्ने छ।"</string>
+    <string name="notification_assistant_security_warning_summary" msgid="7362924206925040510">"<xliff:g id="NOTIFICATION_ASSISTANT_NAME">%1$s</xliff:g> ले सम्पर्क ठेगानामा रहेको नाम र तपाईंले प्राप्त गर्नुभएका टेक्स्ट म्यासेजहरू जस्ता व्यक्तिगत जानकारीलगायत सबै सूचनाहरू पढ्न सक्ने छ। यो अनुप्रयोगले सूचनाहरू हटाउन वा सूचनामा रहेका बटनहरू प्रयोग गरी फोन उठाउने जस्ता विभिन्न कार्यहरू गर्न सक्छ। \n\nयसले यो एपलाई बाधा नपुऱ्याउनुहोस् नामक मोड सक्रिय गर्ने वा निष्क्रिय पार्ने र सम्बन्धित सेटिङ परिवर्तन गर्ने क्षमता पनि प्रदान गर्ने छ।"</string>
     <string name="notification_listener_security_warning_title" msgid="5791700876622858363">"<xliff:g id="SERVICE">%1$s</xliff:g> का लागि सूचना पहुँच अनुमति दिने हो?"</string>
-    <string name="notification_listener_security_warning_summary" msgid="1658213659262173405">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ले सम्पर्क ठेगानामा रहेको नाम र तपाईंले प्राप्त गर्नुभएका पाठ सन्देशहरू जस्ता व्यक्तिगत जानकारीलगायत सबै सूचनाहरू पढ्न सक्ने छ। यो अनुप्रयोगले सूचनाहरू हटाउन वा सूचनामा रहेका बटनहरू प्रयोग गरी फोन उठाउने जस्ता विभिन्न कार्यहरू गर्न सक्छ। \n\nयसले यो एपलाई बाधा नपुऱ्याउनुहोस् नामक मोड सक्रिय गर्ने वा निष्क्रिय पार्ने र सम्बन्धित सेटिङ परिवर्तन गर्ने क्षमता पनि प्रदान गर्ने छ।"</string>
+    <string name="notification_listener_security_warning_summary" msgid="1658213659262173405">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> ले सम्पर्क ठेगानामा रहेको नाम र तपाईंले प्राप्त गर्नुभएका टेक्स्ट म्यासेजहरू जस्ता व्यक्तिगत जानकारीलगायत सबै सूचनाहरू पढ्न सक्ने छ। यो अनुप्रयोगले सूचनाहरू हटाउन वा सूचनामा रहेका बटनहरू प्रयोग गरी फोन उठाउने जस्ता विभिन्न कार्यहरू गर्न सक्छ। \n\nयसले यो एपलाई बाधा नपुऱ्याउनुहोस् नामक मोड सक्रिय गर्ने वा निष्क्रिय पार्ने र सम्बन्धित सेटिङ परिवर्तन गर्ने क्षमता पनि प्रदान गर्ने छ।"</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"यदि तपाईं <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> का लागि सूचना सम्बन्धी पहुँचलाई निष्क्रिय पार्नुहुन्छ भने बाधा नपुर्याउनुहोस् सम्बन्धी पहुँच पनि निष्क्रिय हुन सक्छ।"</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"निष्क्रिय पार्नुहोस्"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"रद्द गर्नुहोस्"</string>
@@ -4489,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"यन्त्रको जाँच गर्न ट्याप गर्नुहोस्"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"समय, सूचना र अन्य जानकारी हेर्न आफ्नो यन्त्रको स्क्रिनमा ट्याप गर्नुहोस्।"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"खतराको सङ्केत दिन प्रयोग हुने बटन"</string>
-    <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"द्रुत रूपमा ५ पटक पावर बटन थिचेर आपत्कालीन उद्धार सेवामा सम्पर्क गर्नुहोस्"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
+    <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"द्रुत रूपमा ५ पटक पावर बटन थिचेर आपत्‌कालीन उद्धार सेवामा सम्पर्क गर्नुहोस्"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"चेतावनी दिने आवाज"</string>
-    <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"आपत्कालीन उद्धार सेवाहरूमा सम्पर्क गर्नुअघि अलर्ट जारी गर्नुहोस्"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"आपत्‌कालीन सम्पर्क सूचीमा व्यक्तिहरू"</string>
+    <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"आपत्‌कालीन उद्धार सेवाहरूमा सम्पर्क गर्नुअघि अलर्ट जारी गर्नुहोस्"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"सूचनाहरू प्राप्त गर्न फिंगरप्रिन्ट स्वाइप गर्नुहोस्"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"फिंगरप्रिन्ट स्वाइप गर्नु"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"अफ्ना सूचनाहरूको जाँच गर्न आफ्नो फोनको पछाडिको भागमा रहेको फिंगरप्रिन्ट सेन्सरमा तलतिर स्वाइप गर्नुहोस्।"</string>
@@ -4840,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM अफ गरिँदै<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"मोबाइल सेवा प्रदायक असक्षम पार्न सकिएन"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"केही चिज गडबड भयो र तपाईंको मोबाइल सेवा प्रदायक असक्षम पार्न सकिएन।"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"डाउनलोड गरिएको यो SIM मेटाउने हो?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"तपाईंले यो SIM मेटाउनुभयो भने यस यन्त्रबाट <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> सेवा हटाइने छ।\n\n <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> को सेवा भने रद्द गरिने छैन।"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"मेट्नुहोस्"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM मेटाइँदै…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM मेटाउन सकिएन"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"कुनै त्रुटि भएका कारण यो SIM मेटाउन सकिएन।\n\nआफ्नो यन्त्र रिस्टार्ट गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"यन्त्रमा कनेक्ट गरियोस्"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> एप तपाईंको यन्त्रमा कनेक्ट हुन कुनै अस्थायी Wi‑Fi नेटवर्क प्रयोग गर्न चाहन्छ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"कुनै पनि यन्त्र फेला परेन। यन्त्रहरू सक्रिय हुनुका साथै जडान गर्नका लागि उपलब्ध भएको कुरा सुनिश्चित गर्नुहोस्।"</string>
@@ -4909,7 +4916,7 @@
     <string name="automatic_system_heap_dump_summary" msgid="4060846186592886986">"Android प्रणालीले अत्यधिक मेमोरी प्रयोग गर्दा यसका लागि स्वतः हिप डम्प समावेश गर्नुहोस्"</string>
     <string name="wifi_disconnect_button_text" msgid="5698154296678571998">"विच्छेद गर्नुहोस्"</string>
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"आपताकालीन कल"</string>
-    <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"तपाईंको सेवा प्रदायकले Wi‑Fi मार्फत आपतकालीन कल गर्ने सुविधा समर्थन गदैन। \nअपतकालीन कल गर्नका लागि उक्त यन्त्रले स्वतः सेलुलर नेटवर्क प्रयोग गर्छ।\n सेलुलर नेटवर्कको कभरेज राम्रो भएका क्षेत्रमा मात्र अपतकालीन कल गर्न सम्भव हुन्छ।"</string>
+    <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"तपाईंको सेवा प्रदायकले Wi‑Fi मार्फत आपत्‌कालीन कल गर्ने सुविधा समर्थन गदैन। \nअपतकालीन कल गर्नका लागि उक्त यन्त्रले स्वतः सेलुलर नेटवर्क प्रयोग गर्छ।\n सेलुलर नेटवर्कको कभरेज राम्रो भएका क्षेत्रमा मात्र अपतकालीन कल गर्न सम्भव हुन्छ।"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"कलको गुणस्तर सुधार्न Wi‑Fi प्रयोग गरी कल गर्नुहोस्"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"आगमन MMS सन्देश"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS सन्देश पठाउन सकिएन"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index e65e280..0f33d77 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum en tijd"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Datum en tijd instellen"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Datum, tijd, tijdzone en notaties instellen"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Netwerktijd gebruiken"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Netwerktijdzone gebruiken"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Standaardinstelling voor land gebruiken"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑uursnotatie"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-uurs klok gebruiken"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Schermvergrendeling, vingerafdruk"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Schermvergrendeling"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Ontgrendel je telefoon veilig met je gezicht en vingerafdruk"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Je kunt ook inloggen bij apps en betalingen bevestigen"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Ontgrendelen instellen met:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Ontgrendelen via gezichtsherkenning"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Telefoon ontgrendelen makkelijker maken"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC-adres van apparaat"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Willekeurig MAC-adres"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Willekeurig herschikt MAC-adres (laatst gebruikt)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-adres"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Netwerkgegevens"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnetmasker"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Voer een geldig gateway-adres in."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Voer een geldig DNS-adres in."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Typ een netwerkprefix van 0-32 tekens."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (tenzij overschreven door privé-DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (tenzij overschreven door privé-DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Lengte van netwerkprefix"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wifi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Als het scherm donker is, wordt het ingeschakeld bij nieuwe meldingen"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Altijd tijd en info weergeven"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Hoger batterijgebruik"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Vetgedrukte tekst"</string>
     <string name="title_font_size" msgid="570613010306330622">"Lettergrootte"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Tekst groter of kleiner maken"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Instellingen simkaartvergrendeling"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Niet ingesteld - Werkprofiel"</string>
     <string name="user_admin" msgid="4024553191395768119">"Beheerder"</string>
     <string name="user_you" msgid="3070562015202859996">"Jij (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Bijnaam"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Je kunt maximaal <xliff:g id="USER_COUNT">%1$d</xliff:g> gebruikers toevoegen"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Alleen de eigenaar van de tablet kan gebruikers beheren."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Alleen de eigenaar van de telefoon kan gebruikers beheren."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Terug"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Volgende"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Voltooien"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Een foto maken"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Een afbeelding kiezen"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Foto selecteren"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Simkaarten"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Simkaarten"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tik om apparaat te controleren"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Tik op je scherm om de tijd, meldingen en andere informatie te bekijken."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Paniekknop"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Start de SOS-acties voor noodgevallen door snel vijf keer op de aan/uit-knop te drukken."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Waarschuwingsgeluid"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Waarschuwingsgeluid voordat de acties worden gestart"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contacten voor noodgevallen"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Over vingerafdruksensor swipen voor meldingen"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Over vingerafdruk swipen"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Als je je meldingen wilt bekijken, swipe je omlaag over de vingerafdruksensor achter op je telefoon."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Simkaart uitschakelen<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Kan provider niet uitschakelen"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Er is iets misgegaan. Je provider kan niet worden uitgeschakeld."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Deze gedownloade simkaart wissen?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Als deze simkaart wordt gewist, wordt de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-service van dit apparaat verwijderd.\n\nDe service voor <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> wordt niet geannuleerd."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Wissen"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Simkaart wissen…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kan simkaart niet wissen"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Door een fout kan deze simkaart niet worden gewist.\n\nStart je apparaat opnieuw op en probeer het nogmaals."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Verbinding maken met apparaat"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"De app <xliff:g id="APPNAME">%1$s</xliff:g> wil een tijdelijk wifi-netwerk gebruiken om verbinding te maken met je apparaat."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Geen apparaten gevonden. Zorg dat apparaten zijn ingeschakeld en beschikbaar zijn voor verbinding."</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index aaf49d7..c9b6b03 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"ତାରିଖ ଓ ସମୟ"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"ତାରିଖ ଓ ସମୟ ସେଟ କରନ୍ତୁ"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"ତାରିଖ, ସମୟ, ସମୟ ଅଞ୍ଚଳ, ଓ ଫର୍ମାଟ୍‌ ସେଟ୍‌ କରନ୍ତୁ"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ନେଟ୍‌ୱର୍କ ପ୍ରଦତ୍ତ ସମୟ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ନେଟ୍‌ୱର୍କ ପ୍ରଦତ୍ତ ସମୟ କ୍ଷେତ୍ର ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ଡିଫଲ୍ଟ ସ୍ଥାନର ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑ଘଣ୍ଟିଆ ଫର୍ମାଟ୍‌"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-ଘଣ୍ଟିଆ ଫର୍ମାଟ ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ସ୍କ୍ରିନ୍‌ ଲକ୍‌, ଟିପଚିହ୍ନ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ସ୍କ୍ରିନ୍‌ ଲକ୍‌"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ଆପଣଙ୍କ ଚେହେରା ଓ ଟିପଚିହ୍ନ ସହ ନିଜର ଫୋନକୁ ସୁରକ୍ଷିତ ଭାବେ ଅନଲକ କର"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"ଆପଣ ଆପ୍ସରେ ସାଇନ୍ ଇନ୍ କରି ପେମେଣ୍ଟ ମଧ୍ୟ ସୁନିଶ୍ଚିତ କରିପାରିବେ"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ଏହା ସହ ଅନଲକ୍ ସେଟ୍ ଅପ୍ କରନ୍ତୁ:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ଫେସ୍ ଅନଲକ୍"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ଆପଣଙ୍କ ଫୋନ୍ ଅନଲକ୍ କରିବା ସହଜ କରନ୍ତୁ"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ଡିଭାଇସ୍‌ର MAC ଠିକଣା"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ରେଣ୍ଡମାଇଜ୍ ହୋଇଥିବା MAC ଠିକଣା"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ରେଣ୍ଡମାଇଜ୍ ହୋଇଥିବା MAC ଠିକଣା (ଗତଥର ବ୍ୟବହାର ହୋଇଛି)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP ଠିକଣା"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ନେଟୱାର୍କ୍ ବିବରଣୀ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ସବ୍‌ନେଟ୍‌ ମାସ୍କ"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"ଏକ ମାନ୍ୟ ଗେଟ୍‌ୱେ ଠିକଣା ଟାଇପ୍‌ କରନ୍ତୁ"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"ଏକ ବୈଧ DNS ଠିକଣା ଟାଇପ୍‌ କରନ୍ତୁ।"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 ଓ 32 ମଧ୍ୟରେ ଏକ ନେଟୱାର୍କ ପ୍ରିଫିକ୍ସ ଦୌର୍ଘ୍ୟ ଟାଇପ୍‌ କରନ୍ତୁ।"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ବ୍ୟକ୍ତିଗତ DNS ଦ୍ୱାରା ଓଭରରିଡେନ୍ ହୋଇନଥିଲେ)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ବ୍ୟକ୍ତିଗତ DNS ଦ୍ୱାରା ଓଭରରିଡେନ୍ ହୋଇନଥିଲେ)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ଗେଟ୍‌ୱେ"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ନେଟୱାର୍କ ପ୍ରିଫିକ୍ସ ଦୈର୍ଘ୍ୟ"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"ୱାଇ-ଫାଇ ଡାଇରେକ୍ଟ"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"ଯେତେବେଳେ ସ୍କ୍ରିନ ଗାଢ଼ ହୁଏ, ନୂଆ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପାଇଁ ଏହା ଚାଲୁ ହୋଇଥାଏ"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"ସର୍ବଦା ସମୟ ଏବଂ ସୂଚନା ଦେଖାନ୍ତୁ"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ବ୍ୟାଟେରୀ ବ୍ୟବହାରରେ ବୃଦ୍ଧି"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"ଫଣ୍ଟ ସାଇଜ୍"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ଟେକ୍ସଟ୍‌କୁ ବଡ଼ କିମ୍ୱା ଛୋଟ କରନ୍ତୁ"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM କାର୍ଡ ଲକ୍‌ ସେଟିଙ୍ଗ"</string>
@@ -3032,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"ସେଟ୍‌ ଅପ୍‌ ହୋଇନାହିଁ - କାର୍ଯ୍ୟ ପ୍ରୋଫାଇଲ୍‌"</string>
     <string name="user_admin" msgid="4024553191395768119">"ଆଡ୍‌ମିନ୍‌"</string>
     <string name="user_you" msgid="3070562015202859996">"ଆପଣ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ଡାକନାମ"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"ଆପଣ <xliff:g id="USER_COUNT">%1$d</xliff:g> ଜଣ ପର୍ଯ୍ୟନ୍ତ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ଯୋଡ଼ିପାରିବେ"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"କେବଳ ଟାବ୍‌ଲେଟ୍‌ର ମାଲିକ ହିଁ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପରିଚାଳନା କରିପାରିବେ।"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"କେବଳ ଫୋନ୍‌ର ମାଲିକ ଉପଯୋଗକର୍ତ୍ତାଙ୍କୁ ପରିଚାଳନା କରିପାରିବେ।"</string>
@@ -3152,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ପଶ୍ଚାତ୍"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ପରବର୍ତ୍ତୀ"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"ସମାପ୍ତ"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ଗୋଟିଏ ଫଟୋ ଉଠାନ୍ତୁ"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ଗୋଟିଏ ଛବି ବାଛନ୍ତୁ"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ଫଟୋ ବାଛନ୍ତୁ:"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM କାର୍ଡ"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"ସିମ୍‌ କାର୍ଡଗୁଡ଼ିକ"</string>
@@ -4489,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ଡିଭାଇସ୍ ଯାଞ୍ଚ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"ସମୟ, ବିଜ୍ଞପ୍ତି, ଏବଂ ଅନ୍ୟ ସୂଚନାର ଯାଞ୍ଚ କରିବା ପାଇଁ, ଆପଣଙ୍କ ସ୍କ୍ରିନ୍‌କୁ ଟାପ୍ କରନ୍ତୁ।"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ପ୍ୟାନିକ୍ ବଟନ୍"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"ଶୀଘ୍ର 5 ଥର ପାୱାର ବଟନକୁ ଦବାଇ ଜରୁରୀକାଳୀନ SOS କାର୍ଯ୍ୟଗୁଡ଼ିକ ଆରମ୍ଭ କରନ୍ତୁ।"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"ଚେତାବନୀ ସାଉଣ୍ଡ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"କାର୍ଯ୍ୟ ଆରମ୍ଭ କରିବା ପୂର୍ବରୁ ଆଲର୍ଟ କରନ୍ତୁ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ଜରୁରୀକାଳୀନ ଯୋଗାଯୋଗଗୁଡ଼ିକ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"ବିଜ୍ଞପ୍ତି ପାଇଁ ଟିପଚିହ୍ନ ସ୍ୱାଇପ୍‌ କରନ୍ତୁ"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ଟିପଚିହ୍ନ ସ୍ୱାଇପ୍‌ କରନ୍ତୁ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଦେଖିବା ପାଇଁ, ନିଜ ଫୋନ୍‌ ପଛପଟେ ଥିବା ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ସେନ୍ସର୍‌ ଉପରେ ଆଙ୍ଗୁଠି ରଖି ତଳକୁ ସ୍ୱାଇପ୍‌ କରନ୍ତୁ।"</string>
@@ -4840,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM ବନ୍ଦ କରାଯାଉଛି<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"ମୋବାଇଲ କମ୍ପାନୀକୁ ଅକ୍ଷମ କରାଯାଇପାରିବ ନାହିଁ"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"କିଛି ତ୍ରୁଟି ହୋଇଥିବାରୁ ଆପଣଙ୍କ ମୋବାଇଲ କମ୍ପାନୀକୁ ଅକ୍ଷମ କରାଯାଇପାରିଲା ନାହିଁ।"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ଡାଉନଲୋଡ୍ ହୋଇଥିବା ଏହି SIMକୁ ଖାଲି କରିବେ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ଏହି SIMକୁ ଖାଲି କରିବା ଦ୍ୱାରା, ଏହି ଡିଭାଇସରୁ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ସେବାକୁ କାଢ଼ି ଦିଆଯିବ।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ପାଇଁ ସେବା ବାତିଲ୍ ହେବ ନାହିଁ।"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ଖାଲି କରନ୍ତୁ"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIMକୁ ଖାଲି କରାଯାଉଛି…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIMକୁ ଖାଲି କରାଯାଇପାରିବ ନାହିଁ"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ଏକ ତ୍ରୁଟି କାରଣରୁ ଏହି SIMକୁ ଖାଲି କରାଯାଇପାରିଲା ନାହିଁ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ଡିଭାଇସକୁୁ ସଂଯୋଗ କରନ୍ତୁ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ସଂଯୋଗ କରିବା ପାଇଁ <xliff:g id="APPNAME">%1$s</xliff:g> ଆପ୍ ଏକ ଅସ୍ଥାୟୀ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଛି"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"କୌଣସି ଡିଭାଇସ୍ ମିଳିଲା ନାହିଁ। ସୁନିଶ୍ଚିତ ହୁଅନ୍ତୁ ଯେ ଡିଭାଇସ୍‍ ଚାଲୁ ହୋଇଛି ଏବଂ ସଂଯୋଗ କରିବା ପାଇଁ ଉପଲବ୍ଧ ଅଛି।"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 284e768..572df9d 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਸੈੱਟ ਕਰੋ"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"ਤਾਰੀਖ, ਸਮਾਂ, ਸਮਾਂ ਜ਼ੋਨ, &amp; ਫੌਰਮੈਟ ਸੈੱਟ ਕਰੋ"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ਨੈੱਟਵਰਕ ਵੱਲੋਂ ਮੁਹੱਈਆ ਸਮਾਂ ਵਰਤੋ"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ਨੈੱਟਵਰਕ ਵੱਲੋਂ ਮੁਹੱਈਆ ਸਮਾਂ ਜ਼ੋਨ ਵਰਤੋ"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸਥਾਨਕ ਸਮਾਂ ਵਰਤੋ"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑ਘੰਟੇ ਫੌਰਮੈਟ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-ਘੰਟੇ ਵਾਲਾ ਫਾਰਮੈਟ ਵਰਤੋ"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ਸਕ੍ਰੀਨ ਲਾਕ, ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ਸਕ੍ਰੀਨ ਲਾਕ"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ਆਪਣੇ ਚਿਹਰੇ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਅਣਲਾਕ ਕਰੋ"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"ਤੁਸੀਂ ਐਪਾਂ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਕੇ ਭੁਗਤਾਨਾਂ ਦੀ ਪੁਸ਼ਟੀ ਵੀ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ਇਸ ਦੇ ਨਾਲ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ਚਿਹਰਾ ਅਣਲਾਕ"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨਾ ਸੌਖਾ ਬਣਾਓ"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ਡੀਵਾਈਸ MAC ਪਤਾ"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ਬੇਤਰਤੀਬਵਾਰ MAC ਪਤਾ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ਬੇਤਰਤੀਬਾ MAC ਪਤਾ (ਪਿਛਲੀ ਵਾਰ ਵਰਤਿਆ ਗਿਆ)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP ਪਤਾ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ਨੈੱਟਵਰਕ ਵੇਰਵੇ"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ਸਬਨੈੱਟ ਮਾਸਕ"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"ਇੱਕ ਪ੍ਰਮਾਣਿਕ ਗੇਟਵੇ ਪਤਾ ਟਾਈਪ ਕਰੋ।"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"ਇੱਕ ਪ੍ਰਮਾਣਿਕ DNS ਪਤਾ ਟਾਈਪ ਕਰੋ।"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 ਅਤੇ 32 ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਨੈੱਟਵਰਕ ਅਗੇਤਰ ਲੰਮਾਈ ਟਾਈਪ ਕਰੋ।"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ਜਦੋਂ ਤੱਕ ਨਿੱਜੀ DNS ਵੱਲੋਂ ਓਵਰਰਾਈਡ ਨਾ ਕੀਤਾ ਗਿਆ ਹੋਵੇ)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ਜਦੋਂ ਤੱਕ ਨਿੱਜੀ DNS ਵੱਲੋਂ ਓਵਰਰਾਈਡ ਨਾ ਕੀਤਾ ਗਿਆ ਹੋਵੇ)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"ਗੇਟਵੇ"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ਨੈੱਟਵਰਕ ਅਗੇਤਰ ਲੰਮਾਈ"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"ਵਾਈ‑ਫਾਈ ਡਾਇਰੈਕਟ"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"ਜਦੋਂ ਸਕ੍ਰੀਨ ਗੂੜ੍ਹੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਇਹ ਨਵੀਂਆਂ ਸੂਚਨਾਵਾਂ ਲਈ ਚਾਲੂ ਹੋ ਜਾਂਦੀ ਹੈ"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"ਸਮਾਂ ਅਤੇ ਜਾਣਕਾਰੀ ਹਮੇਸ਼ਾਂ ਦਿਖਾਓ"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"ਬੈਟਰੀ ਵਰਤੋਂ ਵਧ ਜਾਵੇਗੀ"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"ਫੌਂਟ ਦਾ ਆਕਾਰ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ਲਿਖਤ ਨੂੰ ਵੱਡਾ ਜਾਂ ਛੋਟਾ ਕਰੋ"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"ਸਿਮ ਕਾਰਡ ਲਾਕ ਸੈਟਿੰਗਾਂ"</string>
@@ -3032,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"ਸੈੱਟ ਅੱਪ ਨਹੀਂ ਕੀਤਾ - ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ"</string>
     <string name="user_admin" msgid="4024553191395768119">"ਪ੍ਰਸ਼ਾਸਕ"</string>
     <string name="user_you" msgid="3070562015202859996">"ਤੁਸੀਂ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ਉਪਨਾਮ"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"ਤੁਸੀਂ <xliff:g id="USER_COUNT">%1$d</xliff:g> ਵਰਤੋਂਕਾਰ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"ਕੇਵਲ ਟੈਬਲੈੱਟ ਦਾ ਮਾਲਕ ਹੀ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਕਰ ਸਕਦਾ ਹੈ।"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"ਕੇਵਲ ਫ਼ੋਨ ਦਾ ਮਾਲਕ ਹੀ ਵਰਤੋਂਕਾਰਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰ ਸਕਦਾ ਹੈ।"</string>
@@ -3152,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ਪਿੱਛੇ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ਅੱਗੇ"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"ਸਮਾਪਤ ਕਰੋ"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ਫ਼ੋਟੋ ਖਿੱਚੋ"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ਚਿੱਤਰ ਚੁਣੋ"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ਫ਼ੋਟੋ ਚੁਣੋ"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM ਕਾਰਡ"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM ਕਾਰਡ"</string>
@@ -4489,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"ਡੀਵਾਈਸ ਦੇਖਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"ਸਮਾਂ, ਸੂਚਨਾਵਾਂ ਅਤੇ ਹੋਰ ਜਾਣਕਾਰੀ ਦੇਖਣ ਲਈ ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਟੈਪ ਕਰੋ।"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ਖਤਰੇ ਦੀ ਸੂਚਨਾ ਸੰਬੰਧੀ ਬਟਨ"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"ਪਾਵਰ ਬਟਨ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ 5 ਵਾਰ ਦੱਬ ਕੇ ਸੰਕਟਕਾਲੀਨ SOS ਕਾਰਵਾਈਆਂ ਸ਼ੁਰੂ ਕਰੋ।"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"ਚਿਤਾਵਨੀ ਧੁਨੀ"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"ਕਾਰਵਾਈਆਂ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੁਚੇਤਨਾ ਦਿਓ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ਸੰਕਟਕਾਲੀਨ ਸੰਪਰਕ"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"ਸੂਚਨਾਵਾਂ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਨੂੰ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"ਆਪਣੀਆਂ ਸੂਚਨਾਵਾਂ ਦੇਖਣ ਲਈ, ਆਪਣੇ ਫ਼ੋਨ ਦੇ ਪਿਛਲੇ ਪਾਸੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ \'ਤੇ ਹੇਠਾਂ ਨੂੰ ਸਵਾਈਪ ਕਰੋ।"</string>
@@ -4840,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ਸਿਮ ਨੂੰ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"ਕੈਰੀਅਰ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ ਅਤੇ ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ਕੀ ਇਹ ਡਾਊਨਲੋਡ ਕੀਤਾ ਸਿਮ ਮਿਟਾਉਣਾ ਹੈ?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ਇਹ ਸਿਮ ਮਿਟਾਉਣ ਨਾਲ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ਸੇਵਾ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਹਟ ਜਾਂਦੀ ਹੈ।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ਲਈ ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾਵੇਗੀ।"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ਮਿਟਾਓ"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"ਸਿਮ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ਕਿਸੇ ਗੜਬੜ ਕਰਕੇ ਇਹ ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।\n\nਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> ਐਪ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਹੋਣ ਲਈ ਕਿਸੇ ਅਸਥਾਈ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨੂੰ ਵਰਤਣਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ਕੋਈ ਡੀਵਾਈਸ ਨਹੀਂ ਮਿਲੇ। ਪੱਕਾ ਕਰੋ ਕਿ ਡੀਵਾਈਸ ਚਾਲੂ ਹਨ ਅਤੇ ਕਨੈਕਟ ਹੋਣ ਲਈ ਉਪਲਬਧ ਹਨ।"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 2a9d9b4..301aadd 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data i godzina"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Ustaw datę i godzinę"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Ustaw datę, godzinę, strefę czasową i formaty."</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Użyj czasu podanego przez sieć"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Użyj strefy czasowej podanej przez sieć"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Użyj ustawień domyślnych dla regionu"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Format 24-godzinny"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Format 24-godzinny"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Blokada ekranu, odcisk palca"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Blokada ekranu"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Bezpieczne odblokowywanie telefonu skanem twarzy i odciskiem palca"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Możesz też logować się do aplikacji i potwierdzać płatności"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Skonfiguruj metodę odblokowywania:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Rozpoznawanie twarzy"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Ułatw sobie odblokowywanie telefonu"</string>
@@ -439,7 +442,7 @@
     <string name="security_settings_fingerprint_enroll_dialog_delete" msgid="6027141901007342389">"Usuń"</string>
     <string name="security_settings_fingerprint_enroll_start_title" msgid="7391368057800077604">"Dotknij czytnika"</string>
     <string name="security_settings_fingerprint_enroll_start_message" msgid="5010227772754175346">"Przyłóż palec do czytnika. Podnieś go, gdy poczujesz wibracje."</string>
-    <string name="security_settings_fingerprint_enroll_repeat_title" msgid="9172202128243545021">"Podnieś i przyłóż ponownie"</string>
+    <string name="security_settings_fingerprint_enroll_repeat_title" msgid="9172202128243545021">"Podnieś palec i przyłóż go ponownie"</string>
     <string name="security_settings_fingerprint_enroll_repeat_message" msgid="5382958363770893577">"Unoś palec, by odcisk był dokładniejszy"</string>
     <string name="security_settings_fingerprint_enroll_finish_title" msgid="3606325177406951457">"Odcisk palca dodany"</string>
     <string name="security_settings_fingerprint_enroll_finish_message" msgid="8220458039597261933">"Gdy zobaczysz tę ikonę, możesz użyć odcisku palca, aby się zidentyfikować lub zatwierdzić zakup"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adres MAC urządzenia"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Randomizowany adres MAC"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Randomizowany adres MAC (ostatni używany)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Adres IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Szczegóły sieci"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podsieci"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Wpisz prawidłowy adres bramy."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Wpisz prawidłowy adres DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Wpisz długość przedrostka sieci z zakresu 0-32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (chyba że zastąpiony przez prywatny DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (chyba że zastąpiony przez prywatny DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Brama"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Długość przedrostka sieci"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1340,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Gdy ekran jest ciemny, włącza się po otrzymaniu nowego powiadomienia"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Zawsze pokazuj czas i dane"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Zwiększone wykorzystanie baterii"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Włącz pogrubienie tekstu"</string>
     <string name="title_font_size" msgid="570613010306330622">"Rozmiar czcionki"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Powiększ lub pomniejsz tekst"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Ustawienia blokady karty SIM"</string>
@@ -3118,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nieskonfigurowany – profil służbowy"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Ty (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Pseudonim"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Możesz dodać maksymalnie <xliff:g id="USER_COUNT">%1$d</xliff:g> użytkowników"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Użytkownikami może zarządzać tylko właściciel tabletu."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Użytkownikami może zarządzać tylko właściciel telefonu."</string>
@@ -3238,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Wróć"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Dalej"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Zakończ"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Zrób zdjęcie"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Wybierz obraz"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Wybierz zdjęcie"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Karty SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Karty SIM"</string>
@@ -4635,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Kliknij, by sprawdzić urządzenie"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Aby sprawdzić godzinę, powiadomienia i inne informacje, kliknij ekran."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Przycisk alarmu antywłamaniowego"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Uruchom działania alarmowe, naciskając przycisk zasilania 5 razy."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Dźwięk ostrzegawczy"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alert przed rozpoczęciem działania"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kontakty alarmowe"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Sprawdzanie powiadomień odciskiem palca"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Przesuwanie po czytniku"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Aby sprawdzić powiadomienia, przesuń palcem w dół po czytniku linii papilarnych z tyłu telefonu."</string>
@@ -5002,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Wyłączam kartę SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Nie można wyłączyć operatora"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Coś poszło nie tak i nie udało się wyłączyć operatora."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Wykasować dane z tej pobranej karty SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Wykasowanie danych z tej karty SIM spowoduje usunięcie usługi <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> z tego urządzenia.\n\nUsługa dostarczana przez operatora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nie zostanie anulowana."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Skasuj"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Kasuję dane z karty SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nie można wykasować danych z karty SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Nie można wykasować danych z tej karty SIM z powodu błędu.\n\nUruchom urządzenie ponownie i spróbuj jeszcze raz."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Połącz z urządzeniem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacja <xliff:g id="APPNAME">%1$s</xliff:g> chce użyć tymczasowej sieci Wi‑Fi, by połączyć się z Twoim urządzeniem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nie znaleziono urządzeń. Upewnij się, że urządzenia są włączone i mogą się połączyć."</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index d67de1e..32ba429 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data e hora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Configurar data e hora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Definir data, hora, fuso horário e formatos"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Usar horário fornecido pela rede"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Usar fuso horário fornecido pela rede"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Definir hora automaticamente"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Definir fuso horário automaticamente"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar o padrão do local"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formato de 24 horas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Formato de 24 horas"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueio de tela, impressão digital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Bloqueio de tela"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Desbloqueie o smartphone com seu rosto ou impressão digital"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Você pode também fazer login em apps e confirmar pagamentos"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configurar o desbloqueio com:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desbloqueio facial"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Facilite o desbloqueio do smartphone"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Endereço MAC do dispositivo"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Endereço MAC randomizado"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Endereço MAC randomizado (último uso)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Endereço IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalhes da rede"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Máscara de sub-rede"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Quando a tela está escura, ela é ativada quando chegam notificações"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Sempre mostrar hora e informações"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Maior uso da bateria"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Negrito"</string>
     <string name="title_font_size" msgid="570613010306330622">"Tamanho da fonte"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Tornar o texto maior ou menor"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Bloqueio do chip"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Não configurado - perfil de trabalho"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
     <string name="user_you" msgid="3070562015202859996">"Você (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Apelido"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"É possível adicionar até <xliff:g id="USER_COUNT">%1$d</xliff:g> usuários"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Somente o proprietário do tablet pode gerenciar os usuários."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Somente o proprietário do telefone pode gerenciar os usuários."</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Voltar"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Próxima"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Concluir"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Tirar uma foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Escolher uma imagem"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Selecionar foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Chips"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Chips"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tocar para verificar o dispositivo"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Para verificar a hora, as notificações e outras informações, toque na tela."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Botão de pânico"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Gerenciado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Pressione rapidamente o botão liga/desliga cinco vezes para iniciar as ações de emergência."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Som de alerta"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Emitir alerta antes de iniciar as ações"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contatos de emergência"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Deslizar para baixo no sensor de impressão digital para ver as notificações"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Usar impressão digital"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Para ver suas notificações, deslize o dedo indicador para baixo no sensor de impressão digital localizado na parte traseira do smartphone."</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desativando o chip<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Não é possível desativar a operadora"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Algo deu errado, e não foi possível desativar sua operadora."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Limpar este chip transferido por download?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"A limpeza do chip remove o serviço da <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não será cancelado."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Limpar"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Limpando chip…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Não é possível limpar o chip"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Não é possível limpar este chip devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar ao dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"O app <xliff:g id="APPNAME">%1$s</xliff:g> quer usar uma rede Wi-Fi temporária para se conectar ao seu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenhum dispositivo foi encontrado. Os dispositivos precisam estar ligados e disponíveis para conexão."</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 3b98612..b799930 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data e hora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Definir data e hora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Definir data, hora, fuso horário e formatos"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Usar hora fornecida pela rede"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Utilizar fuso horário fornecido pela rede"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Definir a hora automaticamente"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Definir o fuso horário automaticamente"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Utilizar local predefinido"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formato de 24 horas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Utilizar formato de 24 horas"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueio de ecrã, impressão digital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Bloqueio de ecrã"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Desbloqueie o telemóvel em segurança com o rosto e impressão digital."</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Também pode iniciar sessão em apps e confirmar o pagamento."</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configure o desbloqueio com:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desbloqueio facial"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Simplifique o desbloqueio do telemóvel."</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Endereço MAC do dispositivo"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Endereço MAC aleatório"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Endereço MAC aleatório (última utilização)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Endereço IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalhes da rede"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Máscara de sub-rede"</string>
@@ -1030,10 +1032,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Introduza um endereço de gateway válido."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Introduza um endereço DNS válido."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Introduza um prefixo de rede com 0-32 caracteres."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (exceto se substituído por DNS privado)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (exceto se substituído por DNS privado)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Compr. do prefixo de rede"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Quando o ecrã está escuro, acende-se se surgirem novas notificações"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Mostrar sempre hora e informações"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Maior utilização da bateria"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Texto em negrito"</string>
     <string name="title_font_size" msgid="570613010306330622">"Tamanho do tipo de letra"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Aumentar ou diminuir o texto"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Bloqueio do cartão SIM"</string>
@@ -3032,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Não configurado – Perfil de trabalho"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
     <string name="user_you" msgid="3070562015202859996">"O utilizador (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Pseudónimo"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"É possível adicionar até <xliff:g id="USER_COUNT">%1$d</xliff:g> utilizadores"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"A gestão dos utilizadores só pode ser feita pelo proprietário do tablet."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"A gestão dos utilizadores só pode ser feita pelo proprietário do telemóvel."</string>
@@ -3152,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Anterior"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Seguinte"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Terminar"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Tirar uma foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Escolher uma imagem"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Selecionar foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Cartões SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Cartões SIM"</string>
@@ -4489,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Toque para verificar o dispositivo"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Para consultar a hora, as notificações e outras informações, toque no ecrã."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Botão de pânico"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Gerido por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Inicie as ações SOS de emergência ao premir o botão ligar/desligar rapidamente 5 vezes."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Som de aviso"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alertar antes de iniciar as ações"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contactos de emergência"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Utilizar impressão digital para ver as notificações"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Usar impressão digital"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Para verificar as suas notificações, deslize rapidamente para baixo no sensor de impressões digitais situado na parte posterior do telemóvel."</string>
@@ -4840,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"A desativar o SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Não é possível desativar o operador"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Ocorreu um erro e não foi possível desativar o operador."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Pretende apagar este SIM transferido?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Se apagar este SIM, o serviço do operador <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> será removido deste dispositivo.\n\nO serviço do operador <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não é cancelado."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Apagar"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"A apagar SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Não é possível apagar o SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Não é possível apagar este SIM devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Estabeleça ligação ao dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende utilizar uma rede Wi-Fi temporária para estabelecer ligação ao seu dispositivo."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenhum dispositivo encontrado. Certifique-se de que os dispositivos estão ativados e disponíveis para ligação."</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index d67de1e..32ba429 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -254,8 +254,8 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data e hora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Configurar data e hora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Definir data, hora, fuso horário e formatos"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Usar horário fornecido pela rede"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Usar fuso horário fornecido pela rede"</string>
+    <string name="date_time_auto" msgid="4239202185055225869">"Definir hora automaticamente"</string>
+    <string name="zone_auto_title" msgid="3993580453604839924">"Definir fuso horário automaticamente"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar o padrão do local"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formato de 24 horas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Formato de 24 horas"</string>
@@ -321,7 +321,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Bloqueio de tela, impressão digital"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Bloqueio de tela"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Desbloqueie o smartphone com seu rosto ou impressão digital"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Você pode também fazer login em apps e confirmar pagamentos"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configurar o desbloqueio com:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Desbloqueio facial"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Facilite o desbloqueio do smartphone"</string>
@@ -1013,6 +1014,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Endereço MAC do dispositivo"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Endereço MAC randomizado"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Endereço MAC randomizado (último uso)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Endereço IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalhes da rede"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Máscara de sub-rede"</string>
@@ -1298,6 +1300,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Quando a tela está escura, ela é ativada quando chegam notificações"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Sempre mostrar hora e informações"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Maior uso da bateria"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Negrito"</string>
     <string name="title_font_size" msgid="570613010306330622">"Tamanho da fonte"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Tornar o texto maior ou menor"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Bloqueio do chip"</string>
@@ -3030,7 +3033,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Não configurado - perfil de trabalho"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrador"</string>
     <string name="user_you" msgid="3070562015202859996">"Você (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Apelido"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"É possível adicionar até <xliff:g id="USER_COUNT">%1$d</xliff:g> usuários"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Somente o proprietário do tablet pode gerenciar os usuários."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Somente o proprietário do telefone pode gerenciar os usuários."</string>
@@ -3150,9 +3152,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Voltar"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Próxima"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Concluir"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Tirar uma foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Escolher uma imagem"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Selecionar foto"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Chips"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Chips"</string>
@@ -4487,10 +4486,10 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tocar para verificar o dispositivo"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Para verificar a hora, as notificações e outras informações, toque na tela."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Botão de pânico"</string>
+    <string name="panic_gesture_entrypoint_summary" msgid="7780062003951380630">"Gerenciado por <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Pressione rapidamente o botão liga/desliga cinco vezes para iniciar as ações de emergência."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Som de alerta"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Emitir alerta antes de iniciar as ações"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Contatos de emergência"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Deslizar para baixo no sensor de impressão digital para ver as notificações"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Usar impressão digital"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Para ver suas notificações, deslize o dedo indicador para baixo no sensor de impressão digital localizado na parte traseira do smartphone."</string>
@@ -4838,6 +4837,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desativando o chip<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Não é possível desativar a operadora"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Algo deu errado, e não foi possível desativar sua operadora."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Limpar este chip transferido por download?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"A limpeza do chip remove o serviço da <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não será cancelado."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Limpar"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Limpando chip…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Não é possível limpar o chip"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Não é possível limpar este chip devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar ao dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"O app <xliff:g id="APPNAME">%1$s</xliff:g> quer usar uma rede Wi-Fi temporária para se conectar ao seu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenhum dispositivo foi encontrado. Os dispositivos precisam estar ligados e disponíveis para conexão."</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 47d01a1..2e5cc00 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -256,8 +256,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data și ora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Setați data și ora"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Setați data, ora, fusul orar și formatele."</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Folosiți ora dată de rețea"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Folosește fusul orar din rețea"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Folosiți codul local prestabilit"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Format de 24 de ore"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Utilizați formatul de 24 de ore"</string>
@@ -324,7 +326,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Blocarea ecranului, amprentă"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Blocarea ecranului"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Deblocați în siguranță telefonul folosind fața și amprenta"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Puteți să vă conectați la aplicații și să confirmați plata"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Configurați deblocarea cu:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Deblocare facială"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Simplificați deblocarea telefonului"</string>
@@ -1033,6 +1036,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adresa MAC a dispozitivului"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Adresă MAC aleatorie"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Adresă MAC randomizată (ultima folosită)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Adresă IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detalii rețea"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Mască de subrețea"</string>
@@ -1050,10 +1054,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Introduceți o adresă gateway validă."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Introduceți o adresă DNS validă."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Introduceți prefix rețea din 0 – 32 caractere."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (dacă nu este înlocuit de un DNS privat)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (dacă nu este înlocuit de un DNS privat)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Lungime prefix rețea"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1320,6 +1322,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Când ecranul este întunecat, el se activează pentru notificări noi"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Afișează mereu ora și informațiile"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Utilizare ridicată a bateriei"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Text cu caractere aldine"</string>
     <string name="title_font_size" msgid="570613010306330622">"Dimensiunea fontului"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Măriți sau micșorați textul"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Setări de blocare a cardului SIM"</string>
@@ -3075,7 +3078,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Neconfigurat – Profil de serviciu"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Dvs. (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Pseudonim"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Puteți adăuga până la <xliff:g id="USER_COUNT">%1$d</xliff:g>   utilizatori"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Numai proprietarul tabletei poate gestiona utilizatorii."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Numai proprietarul telefonului poate gestiona utilizatorii."</string>
@@ -3195,9 +3197,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Înapoi"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Înainte"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Finalizați"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Faceți o fotografie"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Alegeți o imagine"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Selectați o fotografie"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Carduri SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Carduri SIM"</string>
@@ -4562,10 +4561,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Atingeți pentru a verifica dispozitivul"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Ca să verificați ora, notificările și alte informații, atingeți ecranul."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Buton de alarmă"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Inițiați acțiunile de urgență apăsând rapid butonul de pornire de cinci ori."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Sunet de avertizare"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Alertă înainte de începerea acțiunilor"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Persoane de contact pentru urgențe"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Glisați amprenta pentru notificări"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Glisați amprenta"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Pentru a verifica notificările, glisați în jos pe senzorul de amprentă de pe spatele telefonului."</string>
@@ -4921,6 +4921,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Se dezactivează cardul SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Nu se poate dezactiva operatorul"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"A apărut o eroare și operatorul dvs. nu a putut fi dezactivat."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Ștergeți acest SIM descărcat?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Dacă ștergeți acest SIM, veți elimina serviciul <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de pe acest dispozitiv.\n\nServiciile <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nu vor fi anulate."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ștergeți"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Se șterge SIM-ul…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nu se poate șterge SIM-ul"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Acest SIM nu poate fi șters din cauza unei erori.\n\nReporniți dispozitivul și încercați din nou."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectați la dispozitiv"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplicația <xliff:g id="APPNAME">%1$s</xliff:g> vrea să folosească o rețea Wi-Fi temporară pentru a se conecta la dispozitiv"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nu s-au găsit dispozitive. Asigurați-vă că dispozitivele sunt pornite și gata de conectare."</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 7b35b62..9234734 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Дата и время"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Установить дату и время"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Установка даты, времени, часового пояса и формата"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Использовать время сети"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Использовать часовой пояс сети"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Региональные настройки по умолчанию"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-часовой формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-часовой формат"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Блокировка экрана, отпечаток пальца"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Блокировка экрана"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Разблокировка с помощью фейсконтроля и отпечатков пальцев"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Вы также сможете входить в приложения и подтверждать оплату."</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Выберите способ разблокировки:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Фейсконтроль"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Разблокировать телефон без лишних усилий"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC-адрес устройства"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Случайный MAC-адрес"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Случайный MAC-адрес (последний)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-адрес"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Сведения о сети"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска подсети"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Введите действительный адрес шлюза."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Введите действительный DNS-адрес."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Укажите длину префикса сети (от 0 до 32)."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (если не переопределен частным DNS-сервером)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (если не переопределен частным DNS-сервером)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Шлюз"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Длина префикса сети"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1340,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Экран включается при появлении новых уведомлений"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Всегда показывать время и информацию"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Батарея разряжается быстрее"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Текст с полужирным шрифтом"</string>
     <string name="title_font_size" msgid="570613010306330622">"Размер шрифта"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Увеличение или уменьшение размера шрифта"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Настройки блокировки SIM-карты"</string>
@@ -3118,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Рабочий профиль не настроен"</string>
     <string name="user_admin" msgid="4024553191395768119">"Администратор"</string>
     <string name="user_you" msgid="3070562015202859996">"Вы (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Псевдоним"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Вы можете добавить до <xliff:g id="USER_COUNT">%1$d</xliff:g> пользователей"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Только владелец может настроить устройство для других пользователей."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Только владелец может настроить устройство для других пользователей."</string>
@@ -3238,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Назад"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Далее"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Готово"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Сделать снимок"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Выбрать фото"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Выбрать фото."</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-карты"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-карты"</string>
@@ -4635,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Нажмите, чтобы проверить устройство"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Чтобы увидеть время, уведомления и другую информацию, коснитесь экрана."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Кнопка panic"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Быстро нажмите пять раз на кнопку питания, чтобы позвонить в экстренные службы"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Предупреждающий сигнал"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Включать предупреждающий сигнал перед звонком в экстренные службы"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Контакты для экстренных случаев"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Использовать сканер отпечатков для просмотра уведомлений"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Сканер отпечатков"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Чтобы увидеть уведомления, проведите вниз по сканеру отпечатков пальцев на задней панели телефона"</string>
@@ -5002,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Отключение SIM-карты<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Произошла ошибка"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Не удалось отключить оператора."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Удалить данные скачанной SIM-карты?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Если вы удалите данные этой SIM-карты, оператор \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\" перестанет обслуживать устройство.\n\nЭто не повлияет на тарифный план оператора \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\"."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Удалить"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Удаление данных SIM-карты…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не удалось стереть данные SIM-карты"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Не удалось стереть данные этой SIM-карты из-за ошибки.\n\nПерезагрузите устройство и повторите попытку."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Подключение к устройству"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Приложение \"<xliff:g id="APPNAME">%1$s</xliff:g>\" хочет использовать временную сеть Wi‑Fi для подключения к устройству."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Устройства не найдены. Убедитесь, что они включены и доступны для подключения."</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 14d7c1a..d6e0910 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"දිනය සහ වේලාව"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"දිනය සහ වේලාව සකසන්න"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"දිනය, වේලාව, වේලා කලාපය, සහ ආකෘති සකසන්න"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ජාලය සැපයූ වේලාව භාවිත කරන්න"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ජාලය සැපයූ වේලා කලාපය භාවිත කරන්න"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"පෙදෙසි පෙරනිමි භාවිත කරන්න"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"පැය 24 ආකාරය"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"පැය 24 ආකාරය භාවිත කරන්න"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"තිර අගුල, ඇඟිලි සලකුණ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"තිර අගුල"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ඔබගේ මුහුණ සහ ඇඟිලි සලකුණු සමඟ දුරකථනය ආරක්ෂිතව අගුලු හරින්න"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"ඔබට යෙදුම්වලට පිරීමට සහ ගෙවීම තහවුරු කිරීමටද හැකිය"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"මේ සමග අගුලු හැරීම පිහිටුවන්න:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"මුහුණෙන් අගුලු හැරීම"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ඔබගේ දුරකථනය අගුලු හැරීම ඉතා පහසු කරන්න"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"උපාංග MAC ලිපිනය"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"සසම්භාවී MAC ලිපිනය"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"සසම්භාවීකරණය කළ MAC ලිපිනය (අවසන් වරට භාවිත කළ)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP ලිපිනය"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"ජාල විස්තර"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"සබ්නෙට් මාස්ක්"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"වලංගු වාහල ලිපිනයක් ටයිප් කරන්න."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"වලංගු DNS ලිපිනයක් ටයිප් කරන්න."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 ත් 32 අතර දිගින් යුත් ජාල උපසර්ගයක් ටයිප් කරන්න."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (පුද්ගලික DNS මගින් ප්‍රතික්ෂේප කරන්නේ නම් මිස)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (පුද්ගලික DNS මගින් ප්‍රතික්ෂේප කරන්නේ නම් මිස)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"වාහල"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ජාල උපසර්ගයේ දිග"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"තිරය අඳුරු විට, එය නව දැනුම් දීම් සඳහා ක්‍රියාත්මක වේ"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"සැමවිට වේලාව සහ තතු පෙන්වන්න"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"වැඩි බැටරි භාවිතය"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"තද අකුරු"</string>
     <string name="title_font_size" msgid="570613010306330622">"අකුරු ප්‍රමාණය"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"පෙළ වඩාත් විශාල හෝ කුඩා කරන්න"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM කාඩ් පතෙහි අඟුළු සැකසුම්"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"සකස් කර නොමැත - වැඩකරන පැතිකඩ"</string>
     <string name="user_admin" msgid="4024553191395768119">"පරිපාලක"</string>
     <string name="user_you" msgid="3070562015202859996">"ඔබ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"අපනාමය"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"ඔබට පරිශීලකයන් <xliff:g id="USER_COUNT">%1$d</xliff:g> ක් දක්වා එක් කළ හැකිය"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"ටැබ්ලටයේ හිමිකරුට පමණක් පරිශීලකයින් කළමනාකරණය කළ හැක."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"දුරකථනයේ හිමිකරුට පමණක් පරිශීලකයින් කළමනාකරණය කළ හැක."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ආපසු"</string>
     <string name="wizard_next" msgid="3884832431439072471">"මීලඟ"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"අවසන් කරන්න"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ඡායාරූපයක් ගන්න"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"රූපයක් තෝරන්න"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ඡායාරූපය තෝරන්න"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM කාඩ් පත්"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM කාඩ් පත්"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"උපාංගය පරීක්‍ෂා කිරීමට තට්ටු කරන්න"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"වේලාව, දැනුම්දීම් සහ වෙනත් තොරතුරු පරීක්‍ෂා කිරීමට, ඔබේ තිරයට දෙවරක් තට්ටු කරන්න."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ව්‍යාකූල බොත්තම"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"බල බොත්තම 5 වතාවක් ඉක්මනින් එබීමෙන් හදිසි SOS ක්‍රියා ආරම්භ කරන්න."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"ඇඟවීමේ ශබ්දය"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"ක්‍රියා ආරම්භ කිරීමට පෙර ඇඟවීම"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"හදිසි සම්බන්ධතා"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"දැනුම්දීම් සඳහා ඇඟිලි සලකුණ ස්වයිප් කරන්න"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"ඇඟිලි සලකුණ ස්වයිප් කරන්න"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"ඔබේ දැනුම්දීම් පරීක්ෂා කිරීමට, ඔබේ දුරකථනයේ පිටුපස පැත්තේ ඇති ඇඟිලි සලකුණු සංවේදකය මත පහළට ස්වයිප් කරන්න."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM ක්‍රියාවිරහිත කරමින්<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"වාහකය අබල කළ නොහැකිය"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"යම් දෙයක් වැරදී ගිය අතර ඔබේ වාහකය අබල කළ නොහැකි විය."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"මෙම බාගත් SIM මකන්නද?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"මෙම SIM මැකීමෙන් මෙම උපාංගයෙන් <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> සේවාව ඉවත් කරයි.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> සඳහා වන සේවාව අවලංගු නොකෙරේ."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"මකන්න"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM මකමින්…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM මැකිය නොහැක"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"දෝෂයක් හේතුවෙන් මෙම SIM මැකිය නොහැක.\n\nඔබේ උපාංගය යළි අරඹා නැවත උත්සාහ කරන්න."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"උපාංගයට සම්බන්ධ වන්න"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> යෙදුමට ඔබේ උපාංගයට සම්බන්ධ වීමට තාවකාලික Wi‑Fi ජාලයක් භාවිත කිරීමට අවශ්‍යය"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"උපාංග කිසිවක් හමු නොවිය. උපාංග සක්‍රීය කර තිබෙන අතර සම්බන්ධ කිරීමට ලද හැකි බව තහවුරු කර ගන්න."</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 0d77bb6..cede5a1 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Dátum a čas"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Nastaviť dátum a čas"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Nastaviť dátum, čas, časové pásmo a formáty"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Používať čas zo siete"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Používať časové pásmo zo siete"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Používať miestny predvolený formát"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-hodinový formát"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Používať 24-hodinový formát"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zámka obrazovky, odtlačok prsta"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Zámka obrazovky"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Bezpečné odomykanie telefónu tvárou a odtlačkom prsta"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Môžete sa tiež prihlasovať v aplikáciách a potvrdzovať platby"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Nastaviť odomykanie pomocou:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Odomknutie tvárou"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Zjednodušte si odomykanie telefónu"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adresa MAC zariadenia"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Randomizovaná adresa MAC"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Randomizovaná adresa MAC (naposledy použitá)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Adresa IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Podrobnosti siete"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podsiete"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Zadajte platnú adresu brány."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Zadajte platnú adresu DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Zadajte dĺžku sieťovej predpony v rozsahu 0 až 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"1. systém DNS (pokiaľ nie je prepísaný súkromným)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"2. systém DNS (pokiaľ nie je prepísaný súkromným)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Brána"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Dĺžka sieťovej predpony"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1340,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Keď je obrazovka tmavá, zapne sa v prípade nových upozornení"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Vždy zobrazovať čas a údaje"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Zvýšená spotreba batérie"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Tučný text"</string>
     <string name="title_font_size" msgid="570613010306330622">"Veľkosť písma"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Zväčšite alebo zmenšite text"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Zámka SIM karty"</string>
@@ -3118,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Pracovný profil (nie je nastavený)"</string>
     <string name="user_admin" msgid="4024553191395768119">"Správca"</string>
     <string name="user_you" msgid="3070562015202859996">"Vy (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Prezývka"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Môžete pridať až <xliff:g id="USER_COUNT">%1$d</xliff:g> používateľov"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Používateľov môže spravovať iba vlastník tabletu."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Používateľov môže spravovať iba vlastník telefónu."</string>
@@ -3238,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Späť"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Ďalej"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Dokončiť"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Odfotiť"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Vybrať obrázok"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Vybrať fotku"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM karty"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM karty"</string>
@@ -3982,7 +3981,7 @@
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pred odopnutím požiadať o PIN"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pred uvoľnením požiadať o heslo"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Pri odopnutí zamknúť zariadenie"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdenie odstránenia SIM karty"</string>
+    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdiť odstránenie SIM karty"</string>
     <string name="confirm_sim_deletion_description" msgid="8937609409607338516">"Pred vymazaním stiahnutej SIM karty overiť, že ste to vy"</string>
     <string name="opening_paragraph_delete_profile_unknown_company" msgid="2951348192319498135">"Tento pracovný profil spravuje aplikácia:"</string>
     <string name="managing_admin" msgid="2633920317425356619">"Spravované aplikáciou <xliff:g id="ADMIN_APP_LABEL">%s</xliff:g>"</string>
@@ -4635,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Klepnutím skontrolujete zariadenie"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Ak chcete zistiť čas, skontrolovať upozornenia a získať ďalšie informácie, klepnite na obrazovku."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Tlačidlo zvukového alarmu"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Akcie na privolanie pomoci v tiesni spustíte tak, že päťkrát rýchlo stlačíte vypínač."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Zvuk upozornenia"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Upozornenie pred spustením akcie"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Tiesňové kontakty"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Upozornenia odtlačkom prsta"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Potiahnutie prstom"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Upozornenia zobrazíte potiahnutím nadol po senzore odtlačkov prstov na zadnej strane telefónu."</string>
@@ -4963,7 +4963,7 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Názov"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Farba (používajú kompatibilné aplikácie)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Uložiť"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Použiť SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Používať SIM kartu"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Vypnuté"</string>
     <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Ak chcete túto SIM kartu deaktivovať, odstráňte ju"</string>
     <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Klepnutím aktivujete operátora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -5002,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Vypína sa SIM karta<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operátor sa nedá deaktivovať"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Vyskytol sa problém a operátora sa nepodarilo deaktivovať."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Chcete vymazať túto stiahnutú SIM kartu?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Vymazaním tejto SIM karty odstránite službu operátora <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> z tohto zariadenia.\n\nSlužba operátora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> sa nezruší."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Vymazať"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Odstraňuje sa SIM karta…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM karta sa nedá vymazať"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM karta sa nedá vymazať, pretože došlo k chybe.\n\nReštartujte zariadenie a skúste to znova."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Pripojenie k zariadeniu"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> chce použiť dočasnú sieť Wi‑Fi na pripojenie k vášmu zariadeniu"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenašli sa žiadne zariadenia. Skontrolujte, či sú zariadenia zapnuté a dostupné na pripojenie."</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 3d6da40..a112762 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum in ura"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Nastavitev datuma in ure"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Nastavi datum, uro, časovni pas in oblike"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Uporabi čas omrežja"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Uporabi časovni pas omrežja"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Uporabi privzete območne nastavitve"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-urna oblika"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Uporabljaj 24-urno obliko"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Zaklepanje zaslona, prstni odtis"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Zaklepanje zaslona"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Varno odklepanje telefona z obrazom in prstnim odtisom"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Lahko se tudi prijavite v aplikacije in potrjujete plačila"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Nastavitev odklepanja na ta način:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Odklepanje z obrazom"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Omogočite hitrejše odklepanje telefona"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Naslov MAC naprave"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Naključno izbran naslov MAC"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Naključen naslov MAC (nazadnje uporabljen)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Naslov IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"O omrežju"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska podomrežja"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Vnesite veljaven naslov prehoda."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Vnesite veljaven naslov DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Vnesite predpono omrežja, dolgo med 0 in 32 znaki."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (razen v primeru preglasitve z zasebnim strežnikom DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (razen v primeru preglasitve z zasebnim strežnikom DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Prehod"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Dolžina predpone omrežja"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1340,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Ko zaslon ni osvetljen, se vklopi ob novih obvestilih"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Vedno pokaži uro in informacije"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Povečana poraba baterije"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Krepko besedilo"</string>
     <string name="title_font_size" msgid="570613010306330622">"Velikost pisave"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Pomanjšava ali povečava besedila"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Nastavitve zaklepanja SIM"</string>
@@ -3118,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Ni nastavljeno – delovni profil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Skrbnik"</string>
     <string name="user_you" msgid="3070562015202859996">"Vi (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Vzdevek"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Dodate lahko do toliko uporabnikov: <xliff:g id="USER_COUNT">%1$d</xliff:g>"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Uporabnike lahko upravlja samo lastnik tabličnega računalnika."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Uporabnike lahko upravlja samo lastnik telefona."</string>
@@ -3238,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Nazaj"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Naprej"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Dokončaj"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Fotografiranje"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Izbira slike"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Izberite fotografijo"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Kartici SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Kartice SIM"</string>
@@ -4635,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Dotik za preverjanje naprave"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Če želite preveriti uro, obvestila in druge informacije, se dotaknite zaslona."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Gumb za paniko"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Zaženite SOS dejanja v sili tako, da petkrat hitro pritisnete gumb za vklop."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Opozorilni zvok"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Sproži zvočno opozorilo pred ukrepanjem"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Stiki za nujne primere"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Poteg s prstom po tipalu prstnih odtisov za prikaz obvestil"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Poteg po prstnem tipalu"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Če želite preveriti obvestila, povlecite navzdol po tipalu prstnih odtisov na hrbtni strani telefona."</string>
@@ -5002,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Izklapljanje kartice SIM <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operaterja ni mogoče onemogočiti"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Prišlo je do napake, operaterja ni bilo mogoče onemogočiti."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Želite izbrisati preneseno kartico SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Če izbrišete to kartico SIM, boste iz te naprave odstranili storitev operaterja <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>.\n\nStoritev operaterja <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne bo preklicana."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Izbriši"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Brisanje kartice SIM …"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kartice SIM ni mogoče izbrisati"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Te kartice SIM ni mogoče izbrisati zaradi napake.\n\nZnova zaženite napravo in poskusite znova."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Vzpostavitev povezave z napravo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi uporabiti začasno omrežje Wi-Fi za vzpostavitev povezave z napravo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Ni naprav. Preverite, ali so naprave vklopljene in na voljo za vzpostavitev povezave."</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index d919858..68da013 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Data dhe ora"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Vendos datën dhe orën"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Vendos datën, orën, brezin orar dhe formatet"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Përdor orën e ofruar nga rrjeti"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Përdor brezin orar të ofruar nga rrjeti"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Përdor parazgjedhjen e lokalitetit"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Formati \"24 orë\""</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Përdor formatin 24 orë"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kyçja e ekranit, gjurma e gishtit"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Kyçja e ekranit"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Shkyçe telefonin në mënyrë të sigurt me fytyrën tënde dhe gjurmën e gishtit"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Gjithashtu mund të identifikohesh në aplikacione dhe të konfirmosh pagesën"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Konfiguro shkyçjen me:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Shkyçja me fytyrë"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Bëje shkyçjen e telefonit të lehtë"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Adresa MAC e pajisjes"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Adresa MAC e rastësishme"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Adresa e rastësishme MAC (përdorur së fundi)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Adresa e IP-së"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Detajet e rrjetit"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Maska e nënrrjetit"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Shkruaj një adresë të vlefshme porte kalimi."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Shkruaj një adresë të vlefshme DNS-je."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Shkruaj një gjatësi prefiksi rrjeti mes 0 dhe 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (përveçse nëse është anuluar nga DNS-ja private)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (përveçse nëse është anuluar nga DNS-ja private)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Porta e kalimit"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Gjatësia e prefiksit të rrjetit"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kur ekrani është i errët, ai aktivizohet për njoftimet e reja"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Shfaq gjithmonë kohën dhe informacionin"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Përdorimi i rritur i baterisë"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Tekst i trashë"</string>
     <string name="title_font_size" msgid="570613010306330622">"Madhësia e shkrimit"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Bëje tekstin më të madh ose më të vogël"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Kyçja e kartës SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Nuk është konfiguruar - profili i punës"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Ti (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Pseudonimi"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Mund të shtosh deri në <xliff:g id="USER_COUNT">%1$d</xliff:g> përdorues"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Vetëm zotëruesi i tabletit mund t\'i menaxhojë përdoruesit."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Vetëm zotëruesi i telefonit mund t\'i menaxhojë përdoruesit."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Prapa"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Përpara"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Përfundo"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Bëj një fotografi"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Zgjidh një imazh"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Zgjidh një fotografi"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Kartat SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Kartat SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Trokit për të kontrolluar pajisjen"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Për të kontrolluar orën, njoftimet dhe informacione të tjera, trokit tek ekrani."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Butoni i panikut"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Nis veprimet SOS të urgjencës duke shtypur butonin e energjisë me shpejtësi 5 herë."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Tingull paralajmërues"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Sinjalizim përpara nisjes së veprimeve"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Kontaktet e urgjencës"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Rrëshqit gjurmën e gishtit për njoftimet"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Rrëshqit gjurmën e gishtit"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Për të kontrolluar njoftimet, rrëshqit poshtë në sensorin e gjurmës së gishtit në pjesën e pasme të telefonit."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Po çaktivizohet karta SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operatori celular nuk mund të çaktivizohet"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Ndodhi një gabim dhe operatori celular nuk mund të çaktivizohet."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Dëshiron ta pastrosh këtë kartë SIM të shkarkuar?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Spastrimi i kësaj karte SIM e heq shërbimin e <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> nga kjo pajisje.\n\nShërbimi për <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nuk do të anulohet."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Spastro"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Karta SIM po spastrohet…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Karta SIM nuk mund të spastrohet"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Kjo kartë SIM nuk mund të spastrohet për shkak të një gabimi.\n\nRinise pajisjen dhe provo përsëri."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Lidhu me pajisjen"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacioni <xliff:g id="APPNAME">%1$s</xliff:g> dëshiron të përdorë një rrjet të përkohshëm Wi-Fi për t\'u lidhur me pajisjen tënde"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nuk u gjet asnjë pajisje. Sigurohu që pajisjet të jenë të ndezura dhe të gatshme për t\'u lidhur."</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 68871c2..83c23a1 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -256,8 +256,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Датум и време"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Подешавање датума и времена"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Подешавање датума, времена, временске зоне и формата"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Користи време мреже"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Користи временску зону мреже"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Користи подразумевану вредност за локалитет"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-часовни формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Користи 24-часовни формат"</string>
@@ -324,7 +326,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Закључавање екрана, отисак прста"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Закључавање екрана"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Откључајте телефон безбедно помоћу лица и отиска прста"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Могуће је и пријављивање у апликације и потврђивање плаћања"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Подесите откључавање помоћу:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Откључавање лицем"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Поједноставите откључавање телефона"</string>
@@ -1033,6 +1036,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC адреса уређаја"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Насумична MAC адреса"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Насумична MAC адреса (последњи пут коришћена)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP адреса"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Детаљи о мрежи"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска подмреже"</string>
@@ -1050,10 +1054,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Унесите важећу адресу мрежног пролаза."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Унесите важећу DNS адресу."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Унесите префикс мреже дужине између 0 и 32 знака."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (осим ако га не замени приватни DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (осим ако га не замени приватни DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Мрежни пролаз"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Дужина префикса мреже"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1320,6 +1322,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Када је екран таман, укључује се амбијентални екран за нова обавештења"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Увек приказуј време и податке"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Потрошња батерије је повећана"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Подебљани текст"</string>
     <string name="title_font_size" msgid="570613010306330622">"Величина фонта"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Омогућава да текст буде већи или мањи"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Закључавање SIM картице"</string>
@@ -3075,7 +3078,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Није подешено – пословни профил"</string>
     <string name="user_admin" msgid="4024553191395768119">"Администратор"</string>
     <string name="user_you" msgid="3070562015202859996">"Ви (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Надимак"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Можете да додате највише <xliff:g id="USER_COUNT">%1$d</xliff:g> корисника"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Само власник таблета може да управља корисницима."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Само власник телефона може да управља корисницима."</string>
@@ -3195,9 +3197,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Назад"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Даље"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Заврши"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Сликајте"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Одаберите слику"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Изаберите слику"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM картице"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM картице"</string>
@@ -4562,10 +4561,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Додирните да бисте проверили уређај"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Да бисте проверили време, обавештења и друге информације, додирните екран."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Дугме аларма за панику"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Да бисте покренули радње за хитне случајеве, брзо додирните дугме за укључивање 5 пута."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Звук упозорења"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Упозорење пре почетка радњи"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Контакти за хитне случајеве"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Превуците прстом за обавештења"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Превуците прстом"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Да бисте проверили обавештења, превуците прстом надоле по сензору за отисак прста на задњој страни телефона."</string>
@@ -4921,6 +4921,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM се искључује<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Онемогућавање мобилног оператера није успело"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Дошло је до грешке и онемогућавање мобилног оператера није успело."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Желите ли да обришете овај преузети SIM?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Брисањем ове SIM картице уклонићете <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> услугу са овог уређаја.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> услуга неће бити отказана."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Обриши"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM се брише…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Брисање SIM-а није успело"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Овај SIM не може да се обрише због грешке.\n\nРестартујте уређај и пробајте поново."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Повежите се са уређајем"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Апликација <xliff:g id="APPNAME">%1$s</xliff:g> жели да користи привремену Wi‑Fi мрежу да би се повезала са уређајем"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Није пронађен ниједан уређај Проверите да ли је уређај укључен и доступан за повезивање."</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 888b62f..80844a2 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Datum och tid"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Ange datum och tid"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Ange datum, tidszon och format"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Använd nätverkets tid"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Använd nätverkets tidszon"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Använd lokal standard"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-timmarsformat"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Använd 24-timmarsformat"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Skärmlås, fingeravtryck"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Skärmlås"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Lås upp telefonen säkert med ditt ansikte och fingeravtryck"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Du kan även logga in i appar och bekräfta betalningar"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Konfigurera upplåsning med:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Ansiktslås"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Lås upp telefonen utan problem"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Enhetens MAC-adress"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Slumpgenererad MAC-adress"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Slumpgenererad MAC-adress (senast använd)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP-adress"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Nätverksinformation"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Nätmask"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Ange en giltig gateway-adress."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Ange en giltig DNS-adress."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Ange en nätverksprefixlängd mellan 0 och 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (om det inte åsidosätts av Privat DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (om det inte åsidosätts av Privat DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Nätverksprefixets längd"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Skärmen väcks vid nya aviseringar"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Visa alltid klocka och info"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Batterianvändningen ökar"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Fetstil"</string>
     <string name="title_font_size" msgid="570613010306330622">"Teckenstorlek"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Gör texten större eller mindre."</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Låsinställningar för SIM-kort"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Inte konfigurerad – jobbprofil"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administratör"</string>
     <string name="user_you" msgid="3070562015202859996">"Du (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Smeknamn"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Du kan lägga till upp till <xliff:g id="USER_COUNT">%1$d</xliff:g> användare"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Det är bara surfplattans ägare som kan hantera användare."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Det är bara mobilens ägare som kan hantera användare."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Föregående"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Nästa"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Slutför"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Ta ett foto"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Välj en bild"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Välj en bild"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-kort"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-kort"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Tryck för att kolla enheten"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Visa tid, aviseringar och annan information genom att trycka på skärmen."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panikknapp"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Starta åtgärderna för nödsituationer genom att trycka på strömbrytaren snabbt fem gånger."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Varningsljud"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Aktivera ett varningsljud innan du startar åtgärderna"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Nödkontakter"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Svep över fingeravtryckssensorn för aviseringar"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Svep över fingeravtryckssensorn"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Visa aviseringar genom att svepa nedåt på fingeravtryckssensorn på baksidan av telefonen."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-kortet inaktiveras <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Det gick inte att inaktivera operatören"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Något gick fel och operatören gick inte att inaktivera."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Vill du rensa det här nedladdade SIM-kortet?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Om du rensar det här SIM-kortet tas tjänsten hos <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> bort från enheten.\n\nTjänsten hos <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> avslutas inte."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Rensa"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Rensar SIM-kort …"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Det gick inte att rensa SIM-kortet"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Det gick inte att rensa SIM-kortet på grund av ett fel.\n\nStarta om enheten och försök igen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Anslut till enhet"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Appen <xliff:g id="APPNAME">%1$s</xliff:g> vill ansluta till enheten via ett tillfälligt Wi-Fi-nätverk"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Inga enheter hittades. Kontrollera att enheterna är på och går att ansluta till."</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 63f5f93..2c1dd69 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Tarehe na saa"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Weka tarehe na saa"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Weka tarehe, saa, saa za eneo na fomati"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Tumia saa ya mtandao"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Tumia saa za eneo kutoka kwenye mtandao"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Tumia chaguomsingi la eneo"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Mfumo wa saa 24"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Tumia mpangilio wa saa 24"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Kufunga skrini, alama ya kidole"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Kufunga skrini"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Fungua simu kwa usalama ukitumia alama ya kidole na uso wako"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Unaweza pia kuingia katika programu na uthibitishe malipo"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Weka mipangilio ya kufungua ukitumia:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Kufungua kwa uso"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Fanya iwe rahisi kufungua simu yako"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Anwani ya MAC ya kifaa"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Anwani ya MAC kwa nasibu"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Anwani ya MAC kwa nasibu (mara ya mwisho kutumika)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Anwani ya IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Maelezo ya mtandao"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Mfano wa kijimtandao"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Tafadhali charaza anwani halali ya lango."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Tafadhali charaza anwani halali ya DNS."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Andika urefu wa kiambishi awali cha mtandao kati ya 0 na 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS ya kwanza (isipokuwa ikibatilishwa na DNS ya Faragha)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS ya pili (isipokuwa ikibatilishwa na DNS ya Faragha)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Lango"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Urefu wa kiambishi awali cha mtandao"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Moja kwa moja"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Skrini ikiwa nyeusi, huwa inawaka arifa zinapoingia"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Onyesha saa na maelezo kila wakati"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Inatumia chaji nyingi"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Tumia Herufi Nzito"</string>
     <string name="title_font_size" msgid="570613010306330622">"Ukubwa wa fonti"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Ongeza au upunguze ukubwa wa maandishi"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Mipangilio ya kufunga SIM"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Haujasanidiwa - Wasifu wa kazini"</string>
     <string name="user_admin" msgid="4024553191395768119">"Msimamizi"</string>
     <string name="user_you" msgid="3070562015202859996">"Wewe (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Jina la utani"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Unaweza kuongeza hadi watumiaji <xliff:g id="USER_COUNT">%1$d</xliff:g>"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Mmiliki wa kompyuta kibao pekee ndiye anayeweza kudhibiti watumiaji."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Mmiliki wa simu pekee ndiye anayeweza kudhibiti watumiaji."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Nyuma"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Endelea"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Kamilisha"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Piga picha"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Chagua picha"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Chagua picha"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kadi"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kadi"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Gusa ili uangalie kifaa"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Ili uangalie saa, arifa na maelezo mengine, gusa skrini yako."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Kitufe cha kengele ya kushtua"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Anzisha vitendo vya dharura vya SOS kwa kubonyeza kitufe cha kuwasha/kuzima haraka mara tano."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Sauti ya onyo"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Arifu kabla ya kuanza kutekeleza vitendo"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Unaowasiliana nao wakati wa dharura"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Telezesha kidole ili upate arifa"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Telezesha kidole"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Ili uangalie arifa zako, telezesha kidole kuelekea chini kwenye kitambua alama ya kidole kilicho upande wa nyuma wa simu yako."</string>
@@ -4841,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Inazima SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Imeshindwa kuzima mtandao wa mtoa huduma"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Hitilafu imetokea na mtandao wa mtoa huduma wako haukuweza kuzimwa."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Je, ungependa kufuta data yote kwenye SIM hii iliyopakuliwa?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Kufuta data yote kwenye SIM hii huondoa huduma ya <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> kwenye kifaa hiki.\n\nHuduma ya <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> haitaghairiwa."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Futa data yote"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Inafuta data yote kwenye SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Imeshindwa kufuta data yote kwenye SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Hitilafu imetokea wakati wa kufuta data kwenye SIM.\n\nZima kisha uwashe kifaa chako na ujaribu tena."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Unganisha kwenye kifaa"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> yako inataka kutumia mtandao wa muda wa Wi‑Fi kuunganisha kwenye kifaa chako"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Hakuna vifaa vilivyopatikana. Hakikisha kuwa umewasha vifaa na vinaweza kuunganishwa."</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index f94f133..8bb9d0b 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"தேதி &amp; நேரம்"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"தேதி மற்றும் நேரத்தை அமை"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"தேதி, நேரம், நேரமண்டலம் &amp; வடிவமைப்புகளை அமை"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"மொபைல் நெட்வொர்க் நேரம்"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"மொபைல் நெட்வொர்க் வழங்கும் நேர மண்டலத்தைப் பயன்படுத்து"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"இயல்பாகத் தேர்ந்தெடுத்துள்ள மொழியைப் பயன்படுத்தவும்"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 மணிநேர வடிவம்"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-மணிநேர வடிவமைப்பில்"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ஸ்கிரீன் லாக், கைரேகை"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"திரைப் பூட்டு"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"உங்கள் முகம், கைரேகை மூலம் மொபைலைப் பாதுகாப்பாகத் திறக்கலாம்"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"ஆப்ஸில் உள்நுழைந்தும் பேமெண்ட்டை உறுதிப்படுத்தலாம்"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"அன்லாக் செய்யும் முறையை அமையுங்கள்:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"முகம் காட்டித் திறத்தல்"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"உங்கள் மொபைலை எளிதாக அன்லாக் செய்யும்"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"சாதனத்தின் MAC முகவரி"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ரேண்டம் ஆக்கப்பட்ட MAC முகவரி"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ரேண்டம் ஆக்கப்பட்ட MAC முகவரி (கடைசியாகப் பயன்படுத்தப்பட்டது)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP முகவரி"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"நெட்வொர்க் விவரங்கள்"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"சப்நெட் மாஸ்க்"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"சரியான கேட்வே முகவரியை உள்ளிடவும்."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"சரியான DNS முகவரியை உள்ளிடவும்."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 மற்றும் 32 க்கு இடையிலான நெட்வொர்க் முன் நீளத்தை உள்ளிடவும்."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (தனிப்பட்ட DNS மீறிச் செயல்படாத வரை)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (தனிப்பட்ட DNS மீறிச் செயல்படாத வரை)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"கேட்வே"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"நெட்வொர்க் முன்னொட்டு நீளம்"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"வைஃபை டைரக்ட்"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"திரை டார்க்காக இருக்கும்போது புதிய அறிவிப்புகளுக்கு இது ஆன் ஆகும்"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"நேரம் &amp; தகவலை எப்போதும் காட்டு"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"பேட்டரியை அதிகமாகப் பயன்படுத்தும்"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"தடிமனான உரை"</string>
     <string name="title_font_size" msgid="570613010306330622">"எழுத்துரு அளவு"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"உரையைப் பெரிதாக்கும் அல்லது சிறிதாக்கும்"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"சிம் கார்டின் பூட்டு அமைப்பு"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"பணிக் கணக்கு அமைக்கப்படவில்லை"</string>
     <string name="user_admin" msgid="4024553191395768119">"நிர்வாகி"</string>
     <string name="user_you" msgid="3070562015202859996">"நீங்கள் (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"செல்லப்பெயர்"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> பயனர்கள் வரை சேர்க்கலாம்"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"டேப்லெட்டின் உரிமையாளர் மட்டுமே பயனர்களை நிர்வகிக்க முடியும்."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"தொலைபேசியின் உரிமையாளர் மட்டுமே பயனர்களை நிர்வகிக்க முடியும்."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"பின் செல்"</string>
     <string name="wizard_next" msgid="3884832431439072471">"அடுத்து"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"முடி"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"படமெடு"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"படத்தைத் தேர்வுசெய்க"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"படத்தைத் தேர்வுசெய்க"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"சிம் கார்டுகள்"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"சிம் கார்டுகள்"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"சாதனத் திரையில் அறிவிப்புகளைப் பார்க்கத் தட்டவும்"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"நேரம், அறிவிப்புகள் மற்றும் பிற தகவலைப் பார்க்கத் திரையைத் தட்டவும்."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ஆபத்துக் காலங்களில் பயன்படுத்துவதற்கான பட்டன்"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"பவர் பட்டனை விரைவாக 5 முறை அழுத்துவதன் மூலம் அவசரகால SOS செயல்களைத் தொடங்கலாம்."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"எச்சரிக்கை ஒலி"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"செயல்களைத் தொடங்கும் முன் விழிப்பூட்டும்"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"அவசரகாலத் தொடர்புகள்"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"அறிவிப்புகளைப் பெற சென்சாரில் ஸ்வைப் செய்தல்"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"கைரேகை ஸ்வைப்"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"அறிவிப்புகளைப் பார்க்க, மொபைலின் பின்புறத்தில் உள்ள கைரேகை சென்சாரில் கீழ் நோக்கி ஸ்வைப் செய்தல்."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"சிம்மை ஆஃப் செய்கிறது<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"தொலைத்தொடர்பு நிறுவனத்தை முடக்க முடியவில்லை"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ஏதோ தவறாகிவிட்டதால் தொலைத்தொடர்பு நிறுவனத்தை முடக்க முடியவில்லை."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"இந்தப் பதிவிறக்கிய சிம்மை அழிக்கவா?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"சிம்மை அழிப்பது இந்தச் சாதனத்தில் இருந்து <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> சேவையை அகற்றிவிடும்.\n\nஇதனால் <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"அழி"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"சிம்மை அழிக்கிறது…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"சிம்மை அழிக்க இயலவில்லை"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"பிழை ஏற்பட்டதால் இந்த சிம்மை அழிக்க இயலாது.\n\nசாதனத்தை மீண்டும் தொடங்கி முயலவும்."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"சாதனத்துடன் இணைத்தல்"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"உங்கள் சாதனத்துடன் இணைக்க <xliff:g id="APPNAME">%1$s</xliff:g> ஆப்ஸ் தற்காலிகமான வைஃபை நெட்வொர்க்கைப் பயன்படுத்த விரும்புகிறது"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"சாதனங்கள் எதுவும் இல்லை. சாதனங்கள் ஆன் செய்யப்பட்டு இணைப்பதற்குத் தயாராக உள்ளனவா என்பதை உறுதிப்படுத்தவும்."</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index b0553b1..6c841e3 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"తేదీ &amp; సమయం"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"తేదీ మరియు సమయాన్ని సెట్ చేయండి"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"తేదీ, సమయం, సమయ మండలి &amp; ఆకృతులను సెట్ చేయి"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"నెట్‌వర్క్-అందించిన సమయాన్ని ఉపయోగిస్తుంది"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"నెట్‌వర్క్ అందించిన సమయ మండలిని ఉపయోగిస్తుంది"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ఆ భాష‌లో వాడే ఫార్మాట్‌ను ఉప‌యోగించు"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑గంటల ఆకృతి"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-గంటల ఫార్మాట్‌ను ఉప‌యోగించు"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"స్క్రీన్ లాక్, వేలిముద్ర"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"స్క్రీన్ లాక్"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ముఖం అలాగే వేలిముద్రతో ఫోన్‌ను సురక్షితంగా అన్‌లాక్ చేయండి"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"మీరు యాప్‌లలో కూడా సైన్ ఇన్ చేసి, పేమెంట్‌ను నిర్ధారించవచ్చు"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"దీనితో అన్‌లాక్ సెటప్ చేయండి:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ఫేస్ అన్‌లాక్"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"మీ ఫోన్‌ను అన్‌లాక్ చేయడం సులభతరం చేయండి"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"డివైజ్ యొక్క MAC చిరునామా"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ర్యాండ‌మ్‌గా రూపొందించిన MAC అడ్రస్‌"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"యాదృచ్ఛిక MAC అడ్రస్ (చివరిగా ఉపయోగించినది)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP చిరునామా"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"నెట్‌వర్క్ వివరాలు"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"సబ్‌నెట్ మాస్క్"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"చెల్లుబాటు అయ్యే గేట్‌వే చిరునామాను టైప్ చేయండి."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"చెల్లుబాటు అయ్యే DNS చిరునామాను టైప్ చేయండి."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"నెట్‌వర్క్ ఆదిప్రత్యయ పొడవు 0 మరియు 32 మధ్య ఉండేలా టైప్ చేయండి."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ప్రైవేట్ DNS ద్వారా ఓవర్‌రైడ్ చేయబడనంతవరకు)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ప్రైవేట్ DNS ద్వారా ఓవర్‌రైడ్ చేయబడనంతవరకు)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"గేట్‌వే"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"నెట్‌వర్క్ ప్రిఫిక్స్ పొడవు"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"స్క్రీన్ చీకటిగా ఉన్నప్పుడు, కొన్ని నోటిఫికేషన్‌ల కోసం ఇది ఆన్ అవుతుంది"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"టైమ్, సమాచారం ఎల్లప్పుడూ చూపు"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"బ్యాటరీ వినియోగం పెరుగుతుంది"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"బోల్డ్ టెక్స్ట్"</string>
     <string name="title_font_size" msgid="570613010306330622">"ఫాంట్ పరిమాణం"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"వచనాన్ని పెద్దదిగా లేదా చిన్నదిగా చేస్తుంది"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"సిమ్ కార్డు లాక్ సెట్టింగ్‌లు"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"సెటప్ చేయలేదు - కార్యాలయ ప్రొఫైల్"</string>
     <string name="user_admin" msgid="4024553191395768119">"నిర్వాహకుడు"</string>
     <string name="user_you" msgid="3070562015202859996">"మీరు (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"మారుపేరు"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"మీరు గరిష్టంగా <xliff:g id="USER_COUNT">%1$d</xliff:g> మంది వినియోగదారులను జోడించవచ్చు"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"టాబ్లెట్ యజమాని మాత్రమే వినియోగదారులను నిర్వహించగలరు."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"ఫోన్ యజమాని మాత్రమే వినియోగదారులను నిర్వహించగలరు."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"వెనుకకు"</string>
     <string name="wizard_next" msgid="3884832431439072471">"తర్వాత"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"ముగించు"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ఫోటోను తీయి"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"చిత్రాన్ని ఎంచుకోండి"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"ఫోటోను ఎంచుకోండి"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"సిమ్ కార్డులు"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"సిమ్ కార్డులు"</string>
@@ -4491,10 +4490,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"పరికరాన్ని తనిఖీ చేయడానికి నొక్కండి"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"సమయం, నోటిఫికేషన్‌లు మరియు ఇతర సమాచారాన్ని తనిఖీ చేయడానికి నొక్కండి."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ఎమర్జెన్సీ బటన్"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"పవర్ బటన్‌ను వెంట వెంటనే 5 సార్లు నొక్కడం ద్వారా ఎమర్జెన్సీ SOS చర్యలను ప్రారంభించండి."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"హెచ్చరిక సౌండ్"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"చర్యలను ప్రారంభించడానికి ముందు అలర్ట్ చేయండి"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ఎమర్జెన్సీ కాంటాక్ట్‌లు"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"నోటిఫికేషన్‌ల కోసం వేలిముద్రతో స్వైప్ చేయండి"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"వేలిముద్రతో స్వైప్ చేయి"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"మీ నోటిఫికేషన్‌లను తనిఖీ చేయడానికి, మీ ఫోన్ వెనుకవైపు ఉన్న వేలిముద్ర సెన్సార్‌పై కిందికి స్వైప్ చేయండి."</string>
@@ -4842,6 +4842,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"సిమ్‌ను ఆఫ్ చేస్తోంది<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"క్యారియర్‌ను డిజేబుల్ చేయడం సాధ్యం కాదు"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ఏదో తప్పు జరిగింది, మీ క్యారియర్‌ను డిజేబుల్ చేయడం సాధ్యం కాలేదు."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"డౌన్‌లోడ్ చేయబడిన ఈ SIMను తొలగించాలా?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ఈ SIMను తొలగించడం వలన ఈ పరికరం నుండి <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> సర్వీస్ తీసివేయబడుతోంది.\n\n <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"తొలగించు"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIMను తొలగిస్తోంది…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIMను తొలగించలేకపోయింది"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ఎర్రర్ కారణంగా ఈ SIMను తొలగించడం సాధ్యం కాలేదు.\n\nమీ పరికరాన్ని రీస్టార్ట్ చేసి మళ్లీ ట్రై చేయండి."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"పరికరానికి కనెక్ట్ చేయండి"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"మీ పరికరానికి కనెక్ట్ కావడానికి <xliff:g id="APPNAME">%1$s</xliff:g> యాప్ తాత్కాలిక Wi‑Fi నెట్‌వర్క్‌ను ఉపయోగించాలనుకుంటుంది"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"పరికరాలు ఏవీ కనుగొనబడలేదు. పరికరాలు ఆన్‌లో ఉన్నాయని మరియు కనెక్ట్ చేయడానికి అందుబాటులో ఉన్నాయని నిర్ధారించుకోండి."</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 9956acd..e303377 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"เวลาและวันที่"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"ตั้งวันที่และเวลา"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"ตั้งวันที่ เวลา เขตเวลาและรูปแบบ"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"ใช้เวลาที่ระบุโดยเครือข่าย"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"ใช้เขตเวลาที่ระบุโดยเครือข่าย"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ใช้เวลาเริ่มต้นในท้องถิ่น"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"รูปแบบ 24 ชั่วโมง"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"ใช้รูปแบบ 24 ชั่วโมง"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"ล็อกหน้าจอ ลายนิ้วมือ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"ล็อกหน้าจอ"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"ปลดล็อกโทรศัพท์ได้อย่างปลอดภัยด้วยใบหน้าและลายนิ้วมือของคุณ"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"คุณยังลงชื่อเข้าใช้แอปและยืนยันการชำระเงินได้อีกด้วย"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"ตั้งค่าการปลดล็อกด้วยสิ่งต่อไปนี้"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"ปลดล็อกด้วยใบหน้า"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"ปลดล็อกโทรศัพท์ได้ง่ายๆ"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"ที่อยู่ MAC ของอุปกรณ์"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"ที่อยู่ MAC แบบสุ่ม"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"ที่อยู่ MAC แบบสุ่ม (ใช้ล่าสุด)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"ที่อยู่ IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"รายละเอียดเครือข่าย"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"ซับเน็ตมาสก์"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"พิมพ์ที่อยู่เกตเวย์ที่ถูกต้อง"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"พิมพ์ที่อยู่ DNS ที่ถูกต้อง"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"พิมพ์รหัสนำหน้าเครือข่ายซึ่งยาว 0 ถึง 32 อักขระ"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (หาก DNS ส่วนตัวไม่ลบล้าง)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (หาก DNS ส่วนตัวไม่ลบล้าง)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"เกตเวย์"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"ความยาวรหัสนำเครือข่าย"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"ขณะที่หน้าจอมืดอยู่ ฟีเจอร์นี้จะเปิดขึ้นเมื่อมีการแจ้งเตือนเข้ามาใหม่"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"แสดงเวลาและข้อมูลเสมอ"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"การใช้งานแบตเตอรี่เพิ่มขึ้น"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"ทำข้อความเป็นตัวหนา"</string>
     <string name="title_font_size" msgid="570613010306330622">"ขนาดอักษร"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"ทำให้ข้อความมีขนาดใหญ่ขึ้นหรือเล็กลง"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"การตั้งค่าการล็อกซิมการ์ด"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"ไม่ได้ตั้งค่า - โปรไฟล์งาน"</string>
     <string name="user_admin" msgid="4024553191395768119">"ผู้ดูแลระบบ"</string>
     <string name="user_you" msgid="3070562015202859996">"คุณ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"ชื่อเล่น"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"คุณสามารถเพิ่มผู้ใช้ได้สูงสุดถึง <xliff:g id="USER_COUNT">%1$d</xliff:g> คน"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"เฉพาะเจ้าของแท็บเล็ตเท่านั้นที่สามารถจัดการผู้ใช้ได้"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"เฉพาะเจ้าของโทรศัพท์เท่านั้นที่สามารถจัดการผู้ใช้ได้"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"ย้อนกลับ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ถัดไป"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"เสร็จสิ้น"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ถ่ายรูป"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"เลือกรูปภาพ"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"เลือกรูปภาพ"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"ซิมการ์ด"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"ซิมการ์ด"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"แตะเพื่อดูอุปกรณ์"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"หากต้องการดูเวลา การแจ้งเตือน และข้อมูลอื่นๆ ให้แตะหน้าจอ"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ปุ่มสัญญาณเตือนภัย"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"เริ่มการดำเนินการขอความช่วยเหลือฉุกเฉินโดยกดปุ่มเปิด/ปิดเร็วๆ 5 ครั้ง"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"เสียงเตือน"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"การแจ้งเตือนก่อนเริ่มดำเนินการ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ผู้ติดต่อกรณีฉุกเฉิน"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"ใช้ลายนิ้วมือแสดงการแจ้งเตือน"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"เลื่อนนิ้วสแกนลายนิ้วมือ"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"ในการตรวจสอบการแจ้งเตือน ให้เลื่อนนิ้วลงผ่านเซ็นเซอร์ลายนิ้วมือที่ด้านหลังโทรศัพท์"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"กำลังปิดซิม<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"ปิดใช้ผู้ให้บริการไม่ได้"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"เกิดข้อผิดพลาดที่ทำให้ปิดใช้ผู้ให้บริการไม่ได้"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"ลบซิมที่ดาวน์โหลดมานี้ใช่ไหม"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"การลบซิมนี้จะนำบริการ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ออกจากอุปกรณ์นี้\n\nแต่จะไม่ยกเลิกบริการของ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ลบ"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"กำลังลบซิม…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ลบซิมไม่ได้"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ลบซิมนี้ไม่ได้เนื่องจากมีข้อผิดพลาด\n\nรีสตาร์ทอุปกรณ์แล้วลองอีกครั้ง"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"เชื่อมต่อกับอุปกรณ์"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"แอป <xliff:g id="APPNAME">%1$s</xliff:g> ต้องการใช้เครือข่าย Wi‑Fi ชั่วคราวเพื่อเชื่อมต่อไปยังอุปกรณ์"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ไม่พบอุปกรณ์ ตรวจสอบว่าอุปกรณ์เปิดอยู่และพร้อมเชื่อมต่อ"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index c9fa4d6..c6f836e 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Petsa &amp; oras"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"I-set ang petsa at oras"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Itakda ang petsa, oras, time zone, &amp; mga format"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Gamitin ang oras ng network"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Gamitin ang time zone na mula sa network"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gamitin ang lokal na default"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-oras na format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gamitin ang format na 24-oras"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Lock ng screen, fingerprint"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Lock ng screen"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Secure na i-unlock ang phone mo gamit ang mukha at fingerprint mo"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Puwede kang mag-sign in sa mga app at magkumpirma ng bayad"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"I-set up ang pag-unlock sa:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Face unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Padaliin ang pag-unlock sa telepono mo"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Device MAC address"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Naka-randomize na MAC address"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Na-randomize na MAC address (huling ginamit)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP address"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Mga detalye ng network"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Subnet mask"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Mag-type ng isang wastong gateway address."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Mag-type ng wastong DNS address."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Mag-type haba ng network prefix pagitan 0 at 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (maliban na lang kung mao-override ng Pribadong DNS)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (maliban na lang kung mao-override ng Pribadong DNS)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Gateway"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Haba ng prefix ng network"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Kapag naka-off ang screen, mag-o-on ito para sa mga bagong notification"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Palaging ipakita ang oras at impormasyon"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Mas malakas na paggamit ng baterya"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Bold na Text"</string>
     <string name="title_font_size" msgid="570613010306330622">"Laki ng font"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Palakihin o paliitin ang text"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Setting ng lock ng SIM card"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Hindi naka-set up - Profile sa trabaho"</string>
     <string name="user_admin" msgid="4024553191395768119">"Admin"</string>
     <string name="user_you" msgid="3070562015202859996">"Ikaw (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Palayaw"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Maaari kang magdagdag ng hanggang <xliff:g id="USER_COUNT">%1$d</xliff:g> (na) user"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Ang may-ari lang ng tablet ang maaaring mamahala ng mga user."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Ang may-ari lang ng telepono ang maaaring mamahala ng mga user."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Bumalik"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Susunod"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Tapusin"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Kumuha ng larawan"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Pumili ng larawan"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Pumili ng larawan"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Mga SIM card"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Mga SIM card"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"I-tap para suriin ang device"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Para tingnan ang oras, mga notification, at iba pang impormasyon, i-tap ang iyong screen."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panic button"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Simulan ang mga pang-emergency na SOS na pagkilos sa pamamagitan ng mabilis na pagpindot sa power button nang 5 beses."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Pambabalang tunog"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Mag-alerto bago ang pagsisimula ng mga pagkilos"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Mga pang-emergency na contact"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"I-swipe ang fingerprint para sa mga notification"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"I-swipe ang fingerprint"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Para makita ang iyong mga notification, mag-swipe pababa sa sensor para sa fingerprint sa likod ng telepono mo."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Ino-off ang SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Hindi ma-disable ang carrier"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Nagkaproblema at hindi ma-disable ang iyong carrier."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Burahin ang na-download na SIM na ito?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Kapag binura ang SIM na ito, maaalis ang serbisyo ng <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sa device na ito.\n\nHindi makakansela ang serbisyo para sa <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Burahin"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Binubura ang SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Hindi mabura ang SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Hindi mabura ang SIM na ito dahil sa isang error.\n\nI-restart ang iyong device at subukan ulit."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Kumonekta sa device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Gustong gumamit ng <xliff:g id="APPNAME">%1$s</xliff:g> app ng pansamantalang Wi‑Fi network para kumonekta sa iyong device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Walang nahanap na device. Tiyaking naka-on ang mga device at available para kumonekta."</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 145d92c..ae764eb 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Tarih ve saat"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Tarih ve saati ayarlayın"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Tarihi, saati, saat dilimini ve biçimleri ayarlayın"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Ağın sağladığı saati kullan"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Ağın sağladığı saat dilimini kullan"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Yerel ayar varsayılan değerini kullan"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 saat biçimi"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 saat biçimini kullan"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekran kilidi, parmak izi"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Ekran kilidi"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Yüzünüz ve parmak izinizle telefonun kilidini güvenle açın"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Ayrıca uygulamalarda oturum açıp ödemeyi onaylayabilirsiniz"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Kilit açmayı şununla kur:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Yüz tanıma kilidi"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Telefonunuzun kilidini kolayca açın"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Cihaz MAC adresi"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Rastgele MAC adresi"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Rastgele hale getirilmiş MAC adresi (son kullanılan)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP adresi"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Ağ ayrıntıları"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Alt ağ maskesi"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Geçerli bir ağ geçidi adresi yazın."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Geçerli bir DNS adresi yazın."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 ile 32 arasında bir ağ önek uzunluğu yazın."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (Gizli DNS tarafından geçersiz kılınmadığı sürece)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (Gizli DNS tarafından geçersiz kılınmadığı sürece)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Ağ geçidi"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Ağ önek uzunluğu"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Kablosuz Doğrudan Bağlantı"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Ekran karanlıkken yeni bildirimler için açılır"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Saati ve bilgiyi daima göster"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Daha fazla pil kullanımı"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Kalın Metin"</string>
     <string name="title_font_size" msgid="570613010306330622">"Yazı tipi boyutu"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Metni daha büyük veya daha küçük yapın"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM kart kilit ayarları"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Yapılandrılmadı - İş profili"</string>
     <string name="user_admin" msgid="4024553191395768119">"Yönetici"</string>
     <string name="user_you" msgid="3070562015202859996">"Siz (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Takma Ad"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> kişiye kadar kullanıcı ekleyebilirsiniz"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Yalnızca tabletin sahibi kullanıcıları yönetebilir."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Yalnızca telefonun sahibi kullanıcıları yönetebilir."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Geri"</string>
     <string name="wizard_next" msgid="3884832431439072471">"İleri"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Son"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Fotoğraf çek"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Resim seç"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Fotoğraf seçin"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kartlar"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kartlar"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Cihazı kontrol etmek için dokunun"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Saati, bildirimleri ve diğer bilgileri kontrol etmek için ekranınıza dokunun."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Panik düğmesi"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Güç düğmesine hızlı bir şekilde 5 kez basarak acil durum yardım isteme işlemlerini başlatın."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Uyarı sesi"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"İşlemleri başlatmadan önce uyar"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Acil durumda iletişim"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Bildirimler için parmak izini kaydırın"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Parmak izini kaydırın"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Bildirimlerinizi kontrol etmek için telefonunuzun arkasındaki parmak izi sensöründe parmağınızı hızlıca aşağı kaydırın."</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM kapatılıyor<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Operatör devre dışı bırakılamıyor"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Bir hata oluştu ve operatörünüz devre dışı bırakılamadı."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"İndirilen bu SIM silinsin mi?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Bu SIM silindiğinde, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> hizmeti bu cihazdan kaldırılır.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> hizmeti iptal edilmez."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Sil"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM siliniyor…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM silinemiyor"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Bu SIM bir hata nedeniyle silinemiyor.\n\nCihazınızı yeniden başlatıp tekrar deneyin."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Cihaza bağlanın"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> uygulaması cihazınıza bağlanmak için geçici bir kablosuz ağ kullanmak istiyor"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Hiçbir cihaz bulunamadı. Cihazların açık ve bağlanmaya hazır olduğundan emin olun."</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 04b9b7c..f472b36 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -258,8 +258,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Дата та час"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Установити дату та час"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Установити дату, час, часовий пояс і формати"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Використовувати час мережі"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Використовувати часовий пояс мережі"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Використовувати місцеві налаштування за умовчанням"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24-годинний формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-годинний формат"</string>
@@ -327,7 +329,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Блокування екрана, відбиток пальця"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Блокування екрана"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Розблоковуйте телефон за рисами обличчя чи відбитком пальця"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Ви також можете входити в додатки й підтверджувати платежі"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Виберіть спосіб розблокування"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Фейсконтроль"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Розблоковуйте телефон без зайвих рухів"</string>
@@ -1053,6 +1056,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"MAC-адреса пристрою"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Довільна MAC-адреса"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Довільна MAC-адреса (остання використана)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"ІР-адреса"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Деталі мережі"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Маска підмережі"</string>
@@ -1070,10 +1074,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Введіть дійсну адресу шлюзу."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Введіть дійсну DNS-адресу."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Введіть довжину префікса мережі від 0 до 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (якщо не замінено приватним DNS-сервером)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (якщо не замінено приватним DNS-сервером)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Шлюз"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Довжина префіксу мережі"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1340,6 +1342,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Коли екран темний, він вмикається, щоб показати нові сповіщення"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Завжди показувати час і дані"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Підвищене використання заряду акумулятора"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Текст жирним шрифтом"</string>
     <string name="title_font_size" msgid="570613010306330622">"Розмір шрифту"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Збільшуйте або зменшуйте текст"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Налаштування блокування SIM-карти"</string>
@@ -3118,7 +3121,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Робочий профіль не налаштовано"</string>
     <string name="user_admin" msgid="4024553191395768119">"Адміністратор"</string>
     <string name="user_you" msgid="3070562015202859996">"Ви (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Псевдонім"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Можна додати максимум стільки користувачів: <xliff:g id="USER_COUNT">%1$d</xliff:g>"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Лише власник планшетного ПК може керувати користувачами."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Лише власник телефону може керувати користувачами."</string>
@@ -3238,9 +3240,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Назад"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Далі"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Завершити"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Зробити фото"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Вибрати зображення"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Вибрати фото"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM-карти"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM-карти"</string>
@@ -4635,10 +4634,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Торкніться, щоб перевірити пристрій"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Щоб перевірити час, сповіщення та іншу інформацію, торкніться екрана."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Кнопка тривоги"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Щоб розпочати екстрені дії, швидко натисніть кнопку живлення 5 разів."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Попереджувальний звуковий сигнал"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Сповіщати, перш ніж розпочинати дії"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Контакти для екстрених випадків"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Використовувати відбиток пальця для перегляду сповіщень"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Сканер відбитків"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Щоб переглянути сповіщення, проведіть пальцем униз по сканеру відбитків на задній панелі телефона."</string>
@@ -5002,6 +5002,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Вимкнення SIM-карти<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Не вдається вимкнути оператора"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Сталася помилка. Не вдалося вимкнути оператора."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Видалити цю завантажену SIM-карту?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Якщо ви видалите цю SIM-карту, послугу оператора \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\" буде скасовано на цьому пристрої.\n\nПослугу оператора \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\" не буде скасовано."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Видалити"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Видалення SIM-карти…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не вдалося видалити SIM-карту"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Під час видалення SIM-карти сталася помилка.\n\nПерезапустіть пристрій і повторіть спробу."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Підключитися до пристрою"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Додаток <xliff:g id="APPNAME">%1$s</xliff:g> запитує дозвіл підключитися до пристрою через тимчасову мережу Wi‑Fi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Немає пристроїв. Переконайтеся, що пристрої ввімкнені й готові до з’єднання."</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 94d2362..5ff1bfb 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -27,9 +27,9 @@
       <item quantity="other">اب آپ ایک ڈویلپر بننے سے <xliff:g id="STEP_COUNT_1">%1$d</xliff:g> قدم دور ہیں۔</item>
       <item quantity="one">اب آپ ایک ڈویلپر بننے سے <xliff:g id="STEP_COUNT_0">%1$d</xliff:g> قدم دور ہیں۔</item>
     </plurals>
-    <string name="show_dev_on" msgid="2840850085134853754">"اب آپ ایک ڈیولپر ہیں!"</string>
-    <string name="show_dev_already" msgid="7041756429707644630">"کوئی ضرورت نہیں ہے، آپ پہلے سے ہی ایک ڈیولپر ہیں۔"</string>
-    <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"براہ کرم پہلے ڈیولپر کے اختیارات فعال کریں"</string>
+    <string name="show_dev_on" msgid="2840850085134853754">"اب آپ ایک ڈویلپر ہیں!"</string>
+    <string name="show_dev_already" msgid="7041756429707644630">"کوئی ضرورت نہیں ہے، آپ پہلے سے ہی ایک ڈویلپر ہیں۔"</string>
+    <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"براہ کرم پہلے ڈویلپر کے اختیارات فعال کریں"</string>
     <string name="header_category_wireless_networks" msgid="303445626075235229">"وائرلیس اور نیٹ ورکس"</string>
     <string name="header_category_system" msgid="1665516346845259058">"سسٹم"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"سروس میں"</string>
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"تاریخ اور وقت"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"تاریخ اور وقت سیٹ کریں"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"تاریخ، وقت، ٹائم زون اور فارمیٹس کو سیٹ کریں"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"نیٹ ورک کے ذریعے فراہم کردہ وقت استعمال کریں"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"نیٹ ورک کی جانب سے فراہم کردہ ٹائم زون استعمال کریں"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"مقامی ڈیفالٹ کا استعمال کریں"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 گھنٹے کا فارمیٹ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 گھنٹے کا فارمیٹ استعمال کریں"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"اسکرین لاک، فنگر پرنٹ"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"اسکرین لاک"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"اپنے فون کو اپنے چہرے اور فنگر پرنٹ کے ساتھ محفوظ طریقے سے غیر مقفل کریں"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"آپ ایپس میں بھی سائن ان اور ادائیگی کی تصدیق کرسکتے ہیں"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"اس کے ذریعے غیر مقفل کو سیٹ کریں:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"چہرے کے ذریعے غیر مقفل کریں"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"اپنا فون غیر مقفل کرنا آسان بنائیں"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"‏آلہ کا MAC پتہ"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"‏بے ترتیب MAC پتہ"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"‏بے ترتیب MAC پتہ (آخری بار استعمال کیا گيا)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"‏IP پتہ"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"نیٹ ورک کی تفصیلات"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"سب نیٹ ماسک"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"ایک درست گیٹ وے پتہ ٹائپ کریں۔"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"‏ایک درست DNS پتہ ٹائپ کریں۔"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"0 اور 32 کے طوالت کے درمیان ایک نیٹ ورک سابقہ ٹائپ کریں۔"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"‏DNS ‫1 (جب تک نجی DNS نے اوور رائیڈ نہ کیا ہو)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"‏DNS ‫2 (جب تک نجی DNS نے اوور رائیڈ نہ کیا ہو)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"گیٹ وے"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"نیٹ ورک کے سابقہ کی لمبائی"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"‏Wi-Fi ڈائریکٹ"</string>
@@ -1300,6 +1302,8 @@
     <string name="doze_summary" msgid="8252867381522942804">"اسکرین گہری ہونے پر، یہ نئی اطلاعات کے لیے آن ہو جاتی ہے"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"ہمیشہ وقت اور معلومات دکھائیں"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"اضافی بیٹری کا استعمال"</string>
+    <!-- no translation found for force_bold_text (3636373986786504634) -->
+    <skip />
     <string name="title_font_size" msgid="570613010306330622">"فونٹ سائز"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"متن کو چھوٹا یا بڑا کریں"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"‏SIM کارڈ لاک کی ترتیبات"</string>
@@ -2728,7 +2732,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>
@@ -3032,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"ترتیب نہیں دیا گیا - دفتری پروفائل"</string>
     <string name="user_admin" msgid="4024553191395768119">"منتظم"</string>
     <string name="user_you" msgid="3070562015202859996">"آپ (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"عرفی نام"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"آپ <xliff:g id="USER_COUNT">%1$d</xliff:g> تک صارفین شامل کر سکتے ہیں"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"صرف ٹیبلٹ کا مالک صارفین کا نظم کر سکتا ہے۔"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"صرف فون کا مالک صارفین کا نظم کر سکتا ہے۔"</string>
@@ -3152,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"واپس جائیں"</string>
     <string name="wizard_next" msgid="3884832431439072471">"اگلا"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"مکمل کریں"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"ایک تصویر لیں"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"ایک تصویر منتخب کریں"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"تصویر منتخب کریں"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"‏SIM کارڈز"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"‏SIM کارڈز"</string>
@@ -4402,7 +4402,7 @@
     <string name="dark_ui_settings_dialog_acknowledge" msgid="250437497729953965">"سمجھ آ گئی"</string>
     <string name="dark_theme_slice_title" msgid="4684222119481114062">"گہری تھیم آزمائیں"</string>
     <string name="dark_theme_slice_subtitle" msgid="5555724345330434268">"بیٹری لائف بڑھانے میں مدد کرتی ہے"</string>
-    <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"فوری ترتیبات کے ڈیولپر ٹائلز"</string>
+    <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"فوری ترتیبات کے ڈویلپر ٹائلز"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‏adb اجازت دہندگی کے ٹائم آؤٹ کو غیر فعال کریں"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"‏ان سسٹمز کے لیے adb کی اجازت دہندگیوں کی منسوخی کو خود کار طور پر غیر فعال کریں جو ڈیفالٹ (7 دن) یا صارف کے ترتیب کردہ (کم از کم1 دن) وقت کی تعداد کے اندر دوبارہ منسلک نہیں ہوئی۔"</string>
     <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"‏Winscope ٹریس"</string>
@@ -4489,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"آلہ چیک کرنے کے لیے تھپتھپائیں"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"وقت، اطلاعات، اور دیگر معلومات چیک کرنے کے لیے اپنی اسکرین کو دو بار تھپتھپائیں۔"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"ڈرانے کا بٹن"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"‏5 بار پاور بٹن کو تیزی سے دبا کر کے ہنگامی SOS کاروائیوں کو شروع کریں۔"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"وارننگ کی آواز"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"کارروائیاں شروع کرنے سے پہلے الرٹ"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"ہنگامی رابطے"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"اطلاعات کیلئے فنگر پرنٹ سوائپ"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"فنگر پرنٹ سوائپ کریں"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"اپنی اطلاعات چیک کرنے کیلئے اپنے فون کی پشت پر فنگر پرنٹ سینسر پر نیچے سوائپ کریں۔"</string>
@@ -4648,7 +4649,7 @@
     <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_production_driver" msgid="1515874802568434915">"گیم ڈرائیور"</string>
-    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"ڈیولپر ڈرائیور"</string>
+    <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) -->
@@ -4840,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‏<xliff:g id="ELLIPSIS">…</xliff:g>SIM کو آف کیا جا رہا ہے"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"کیریئر کو غیر فعال نہیں کیا جا سکتا"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"کچھ غلط ہوگیا اور آپ کے کیریئر کو غیر فعال نہیں کیا سکا۔"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"‏ڈاؤن لوڈ کردہ اس SIM کو مٹائیں؟"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‏اس SIM کو مٹانے سے اس آلہ سے <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> سروس ہٹ جاتی ہے۔\n\n <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> کی سروس منسوخ نہیں ہوگی۔"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"مٹائیں"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"‏SIM کو مٹایا جا رہا ہے…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‏SIM کو نہیں مٹا سکتے"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‏ایک خرابی کی وجہ سے اس SIM کو مٹایا نہیں جا سکتا ہے۔\n\nاپنا آلہ دوبارہ شروع کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"آلے سے منسلک کریں"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏<xliff:g id="APPNAME">%1$s</xliff:g> ایپ آپ کے آلے سے منسلک ہونے کے لیے عارضی Wi-Fi نیٹ ورک استعمال کرنا چاہتی ہے"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"کوئی آلہ نہیں ملا۔ یقینی بنائیں کہ آلات آن ہیں اور منسلک کرنے کے لیے دستیاب ہیں۔"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 02428a8..0be47c3 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Sana va vaqt"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Sana va vaqt o‘rnatish"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Sana, vaqt, vaqt zonasi, &amp; formatlarini o‘rnatish"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Tarmoq vaqtidan foydalanish"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Tarmoq vaqt mintaqasidan foydalanish"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Birlamchi hududiy sozlamalar"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 soatlik format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 soatlik format"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ekran qulfi, barmoq izi"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Ekran qulfi"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Telefon qulfini yuz va barmoq bilan ochish ham mumkin"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Ilovalarga kirish va toʻlovni tasdiqlash ham mumkin"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Qulfni ochish usulini sozlang:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Yuz bilan ochish"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Telefonni qulfdan osongina chiqaring"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"Tarmoq nomi (SSID)"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Qurilmaning MAC manzili"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Tasodifiy MAC manzil"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Tasodifiy MAC manzil (oxirgi ishlatilgan)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP manzil"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Tarmoq tafsilotlari"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Quyi tarmoq niqobi"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Shlyuz manzilini to‘g‘ri kiriting."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"DNS manzilini to‘g‘ri kiriting."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Tarmoq raqamlari sig‘imini 0 va 32 oralig‘ida tering."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (shaxsiy DNS server bilan almashtirilmasa)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (shaxsiy DNS server bilan almashtirilmasa)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Shlyuz"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Tarmoq prefiksi uzunligi"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Yangi bildirishnomalar kelganda ekran yonadi"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Vaqt va axborot doim chiqsin"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Batareya sarfi oshadi"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Qalin matn"</string>
     <string name="title_font_size" msgid="570613010306330622">"Shrift o‘lchami"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Matnni kattalashtirish yoki kichiklashtirish"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM karta qulfi sozlamalari"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Ish profili – sozlanmagan"</string>
     <string name="user_admin" msgid="4024553191395768119">"Administrator"</string>
     <string name="user_you" msgid="3070562015202859996">"Siz (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Nik nomi"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"<xliff:g id="USER_COUNT">%1$d</xliff:g> tagacha foydalanuvchi qo‘shish mumkin"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Faqat planshetning egasi foydalanuvchilarni boshqara oladi."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Faqat telefonning egasi foydalanuvchilarni boshqara oladi."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Orqaga"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Keyingisi"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Yakunlash"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Suratga olish"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Rasm tanlash"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Surat tanlash"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM kartalar"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM kartalar"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Qurilmani tekshirish uchun bosing"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Vaqt, bildirishnoma va boshqa axborotni tekshirish uchun ekranni bosing."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Vahima tugmasi"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Favqulodda SOS chaqiruvlarini amalga oshirish uchun oʻchirib-yoqish tugmasini tez-tez 5 marta bosing."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Ogohlantiruvchi signal"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Favqulodda xizmatlarga telefon qilishdan oldin ogohlantiruvchi signalni yoqish"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Favqulodda holatlar uchun kontaktlar"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Bildirishnomalarni barmoq izi bilan ochish"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Barmoq izi skaneri"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Bildirishnomalarni tekshirish uchun telefon orqasidagi barmoq izi skaneri ustida pastga suring"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM karta faolsizlantirmoqda<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Aloqa operatori faolsizlantirilmadi"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Xatolik yuz berdi va aloqa operatoringiz faolsizlantirilmadi."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Mazkur yuklab olingan SIM karta axboroti tozalansinmi?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Bu SIM karta axboroti tozalanganda bu qurilmadan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> xizmati ham tozalab tashlanadi.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> xizmati bekor qilinmaydi."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Tozalash"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"SIM karta axboroti tozalanmoqda…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM karta axboroti tozalanmadi"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Bu SIM karta axboroti xatolik sabab tozalanmadi.\n\nQurilmani qayta ishga tushirib, yana urining."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Qurilmaga ulanish"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasi qurilmangizga ulanish uchun vaqtinchalik Wi‑Fi tarmoqdan foydalanmoqchi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Qurilmalar topilmadi. Qurilmalar yoniq va tarmoqda ekanligi tekshiring."</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index d3be4ed..b3c601f 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Ngày &amp; giờ"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Đặt ngày giờ"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Đặt ngày, giờ, múi giờ &amp; định dạng"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Sử dụng ngày và giờ do mạng cung cấp"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Sử dụng múi giờ do mạng cung cấp"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Sử dụng định dạng của địa phương"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"Định dạng 24 giờ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Sử dụng định dạng 24 giờ"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Phương thức khóa màn hình, vân tay"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Phương thức khóa màn hình"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Mở khóa điện thoại an toàn bằng khuôn mặt và vân tay"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Bạn cũng có thể đăng nhập vào ứng dụng và xác nhận thanh toán"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Thiết lập phương thức mở khóa bằng:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"Mở khóa bằng khuôn mặt"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Giúp bạn mở khóa điện thoại dễ dàng"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Địa chỉ MAC của thiết bị"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Địa chỉ MAC ngẫu nhiên"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Địa chỉ MAC được sắp xếp ngẫu nhiên (sử dụng lần gần đây nhất)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Địa chỉ IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Chi tiết mạng"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Mặt nạ mạng con"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Hãy nhập địa chỉ cổng hợp lệ."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Hãy nhập địa chỉ DNS hợp lệ."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Hãy nhập độ dài tiền tố mạng từ 0 đến 32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (nếu không bị DNS riêng ghi đè)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (nếu không bị DNS riêng ghi đè)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Cổng"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Độ dài tiền tố mạng"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi‑Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Khi có thông báo mới, màn hình tối sẽ bật sáng"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Luôn hiển thị giờ và thông tin"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Làm tăng mức sử dụng pin"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Văn bản in đậm"</string>
     <string name="title_font_size" msgid="570613010306330622">"Kích thước phông chữ"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Phóng to hoặc thu nhỏ văn bản"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Cài đặt khóa thẻ SIM"</string>
@@ -2608,7 +2611,7 @@
     <string name="battery_saver_auto_title" msgid="6789753787070176144">"Tự động bật"</string>
     <string name="battery_saver_auto_no_schedule" msgid="5123639867350138893">"Chưa có lịch biểu nào"</string>
     <string name="battery_saver_auto_routine" msgid="4656495097900848608">"Dựa trên thói quen của bạn"</string>
-    <string name="battery_saver_auto_percentage" msgid="558533724806281980">"Dựa trên số phần trăm pin"</string>
+    <string name="battery_saver_auto_percentage" msgid="558533724806281980">"Dựa trên mức phần trăm pin"</string>
     <string name="battery_saver_auto_routine_summary" msgid="3913145448299472628">"Nếu pin có khả năng hết trước lần sạc thông thường tiếp theo, hệ thống sẽ bật Trình tiết kiệm pin."</string>
     <string name="battery_saver_auto_percentage_summary" msgid="6190884450723824287">"Sẽ bật khi pin ở mức <xliff:g id="PERCENT">%1$s</xliff:g>"</string>
     <string name="battery_saver_schedule_settings_title" msgid="3688019979950082237">"Đặt lịch biểu"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Chưa thiết lập - Hồ sơ công việc"</string>
     <string name="user_admin" msgid="4024553191395768119">"Quản trị viên"</string>
     <string name="user_you" msgid="3070562015202859996">"Bạn (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Biệt hiệu"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Bạn có thể thêm tối đa <xliff:g id="USER_COUNT">%1$d</xliff:g> người dùng"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Chỉ chủ sở hữu máy tính bảng mới có thể quản lý người dùng."</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Chỉ chủ sở hữu điện thoại mới có thể quản lý người dùng."</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Quay lại"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Tiếp theo"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Hoàn tất"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Chụp ảnh"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Chọn hình ảnh"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Chọn ảnh"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Thẻ SIM"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Thẻ SIM"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Nhấn để kiểm tra thiết bị"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Để xem thời gian, thông báo và thông tin khác, hãy nhấn vào màn hình."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Nút hoảng loạn"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Bật tính năng SOS khẩn cấp bằng cách nhấn nhanh nút nguồn 5 lần."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Âm cảnh báo"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Cảnh báo trước khi bắt đầu các thao tác"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Người liên hệ lúc khẩn cấp"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Vuốt cảm biến vân tay để xem thông báo"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Vuốt vân tay"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Để kiểm tra thông báo, hãy vuốt xuống trên cảm biến vân tay ở mặt sau điện thoại."</string>
@@ -4776,7 +4776,7 @@
     <string name="mobile_data_settings_summary_auto_switch" msgid="7851549787645698945">"Điện thoại sẽ tự động chuyển sang nhà mạng này khi nằm trong vùng phủ sóng"</string>
     <string name="mobile_data_settings_summary_unavailable" msgid="3309106501029928951">"Không có thẻ SIM nào"</string>
     <string name="calls_preference" msgid="2166481296066890129">"Tùy chọn cuộc gọi"</string>
-    <string name="sms_preference" msgid="7742964962568219351">"Tùy chọn SMS"</string>
+    <string name="sms_preference" msgid="7742964962568219351">"Tùy chọn cho SMS"</string>
     <string name="calls_and_sms_ask_every_time" msgid="3178743088737726677">"Luôn hỏi"</string>
     <string name="mobile_network_summary_add_a_network" msgid="9079866102827526779">"Thêm mạng"</string>
     <plurals name="mobile_network_summary_count" formatted="false" msgid="5173633860800230925">
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Đang tắt SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Không thể tắt nhà mạng"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Đã xảy ra lỗi nên bạn không thể tắt nhà mạng."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Xóa SIM đã tải xuống này?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Khi bạn xóa SIM, dịch vụ <xliff:g id="CARRIER_NAME_A">%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_NAME_B">%1$s</xliff:g> sẽ không bị hủy."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Xóa"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Đang xóa SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Không thể xóa SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Không thể xóa SIM này do lỗi.\n\nHãy khởi động lại thiết bị rồi thử lần nữa."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Kết nối với thiết bị"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Ứng dụng <xliff:g id="APPNAME">%1$s</xliff:g> muốn dùng mạng Wi-Fi tạm thời để kết nối với thiết bị của bạn"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Không tìm thấy thiết bị nào. Đảm bảo rằng các thiết bị đang bật và sẵn sàng kết nối."</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index bd296d1..936da4e 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"日期和时间"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"设置日期和时间"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"设置日期、时间、时区和格式"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"使用网络提供的时间"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"使用网络提供的时区"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"使用默认语言区域"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 小时制"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"使用 24 小时制"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"屏幕锁定、指纹"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"屏幕锁定"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"使用您的面孔和指纹安全地解锁手机"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"您还可以登录应用和确认付款"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"设置解锁方式："</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"人脸解锁"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"轻松解锁手机"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"设备 MAC 地址"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"随机生成的 MAC 地址"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"随机生成的 MAC 地址（上次使用）"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP 地址"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"网络详情"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"子网掩码"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"请键入有效的网关地址。"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"请输入有效的DNS地址。"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"键入长度在 0 到 32 之间的网络前缀。"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1（除非已被专用 DNS 替换）"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2（除非已被专用 DNS 替换）"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"网关"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"网络前缀长度"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"WLAN 直连"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"收到新通知时，变暗的屏幕会自动亮起"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"始终显示时间和信息"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"这会增加耗电量"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"粗体文字"</string>
     <string name="title_font_size" msgid="570613010306330622">"字体大小"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"放大或缩小文字"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM 卡锁定设置"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"未设置 - 工作资料"</string>
     <string name="user_admin" msgid="4024553191395768119">"管理员"</string>
     <string name="user_you" msgid="3070562015202859996">"您（<xliff:g id="NAME">%s</xliff:g>）"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"昵称"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"您最多可添加 <xliff:g id="USER_COUNT">%1$d</xliff:g> 位用户"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"只有平板电脑的机主可以管理用户。"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"只有手机的机主可以管理用户。"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"返回"</string>
     <string name="wizard_next" msgid="3884832431439072471">"下一步"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"完成"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"拍照"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"选择图片"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"选择照片"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM 卡"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM 卡"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"点按即可查看设备相关信息"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"要查看时间、通知和其他信息，请点按您的屏幕。"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"紧急按钮"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"快速按电源按钮 5 次即可启动紧急 SOS 操作。"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"警报声"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"在触发操作前发出警报声"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"紧急情况联系人"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"滑动指纹即可查看通知"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"滑动指纹"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"要查看通知，请在手机背面的指纹传感器上向下滑动手指。"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"正在停用 SIM 卡<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"无法停用运营商"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"出了点问题，无法停用您的运营商。"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"要清空这个已下载的 SIM 卡吗？"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"清空此 SIM 卡将从此设备中移除<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>服务。\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>的服务不会因此被取消。"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"清空"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"正在清空 SIM 卡…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"无法清空 SIM 卡"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"发生错误，因此无法清空此 SIM 卡。\n\n请重启设备，然后重试。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"连接到设备"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"“<xliff:g id="APPNAME">%1$s</xliff:g>”应用要使用临时 WLAN 网络连接到您的设备"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"找不到设备。请确保设备已开启并可连接到网络。"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 7ed7ae2..0998648 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"日期和時間"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"設定日期及時間"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"設定日期、時間、時區和格式"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"使用網絡提供的時間"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"使用網絡提供的時區"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"使用地區設定預設值"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 小時格式"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"使用 24 小時格式"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"螢幕鎖定、指紋"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"螢幕鎖定"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"使用臉孔和指紋安全解鎖手機"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"您亦可登入應用程式並確認付款"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"設定解鎖方式："</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"面孔解鎖"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"輕鬆解鎖手機"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"裝置 MAC 位址"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"隨機 MAC 位址"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"隨機處理的 MAC 位址 (上次用過)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP 位址"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"網絡詳細資料"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"子網絡遮罩"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"請輸入有效的閘道位址。"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"請輸入有效的 DNS 位址。"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"請輸入介乎 0 至 32 之間的網絡首碼長度。"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (除非由私人 DNS 覆寫)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (除非由私人 DNS 覆寫)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"閘道"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"網絡前置字元長度"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"收到新通知時，關閉的螢幕會亮起"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"一律顯示時間和資料"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"此功能會增加耗電量"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"粗體文字"</string>
     <string name="title_font_size" msgid="570613010306330622">"字型大小"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"放大或縮小文字"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM 卡鎖定設定"</string>
@@ -3033,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"尚未設定 - 公司檔案"</string>
     <string name="user_admin" msgid="4024553191395768119">"管理員"</string>
     <string name="user_you" msgid="3070562015202859996">"您 (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"暱稱"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"您可以加入多達 <xliff:g id="USER_COUNT">%1$d</xliff:g> 個用戶"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"只有平板電腦的擁有者可以管理使用者。"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"只有手機的擁有者可以管理使用者。"</string>
@@ -3153,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"返回"</string>
     <string name="wizard_next" msgid="3884832431439072471">"下一步"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"完成"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"拍攝相片"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"選擇圖片"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"選取相片"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM 卡"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM 卡"</string>
@@ -4349,7 +4348,7 @@
     <string name="notification_log_details_group_summary" msgid="4364622087007803822">"(摘要)"</string>
     <string name="notification_log_details_visibility" msgid="6811292866832243357">"顯示設定"</string>
     <string name="notification_log_details_public_version" msgid="3057653571018432759">"publicVersion"</string>
-    <string name="notification_log_details_priority" msgid="4772047133062255513">"優先次序"</string>
+    <string name="notification_log_details_priority" msgid="4772047133062255513">"重要"</string>
     <string name="notification_log_details_importance" msgid="8516198274667183446">"重要性"</string>
     <string name="notification_log_details_explanation" msgid="6966274549873070059">"說明"</string>
     <string name="notification_log_details_badge" msgid="648647240928645446">"可顯示徽章"</string>
@@ -4490,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"輕按即可查看裝置"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"輕按螢幕即可查看時間、通知和其他資訊。"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"緊急按鈕"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"快速按下電源按鈕 5 次即可觸發緊急求救動作。"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"警示音效"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"開始操作前響起警示"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"緊急聯絡人"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"在指紋感應器上滑動以查看通知"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"滑動指紋"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"如要查看通知，請在手機背面的指紋感應器上向下滑動。"</string>
@@ -4841,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"正在停用 SIM 卡<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"無法停用流動網絡供應商"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"發生問題，無法停用您的流動網絡供應商。"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"要清除這張已下載的 SIM 卡嗎？"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"清除此 SIM 卡即會從此裝置中移除 <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> 服務。\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> 的服務將不會被取消。"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"清除"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"正在清除 SIM 卡…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"無法清除 SIM 卡"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"由於發生錯誤，因此無法清除此 SIM 卡。\n\n請重新啟動裝置，然後再試一次。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"連接裝置"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式要求使用臨時 Wi-Fi 網絡連接您的裝置"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"找不到任何裝置。請確保裝置已開啟，並可連接網絡。"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 8e8c56a..31b57fd 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"日期與時間"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"設定日期和時間"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"設定日期、時間、時區及時間格式"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"使用網路提供的時間"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"使用網路提供的時區"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"使用地區設定預設值"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24 小時制"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"使用 24 小時格式"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"螢幕鎖定、指紋"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"螢幕鎖定"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"使用你的臉孔和指紋安全解鎖手機"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"你也可以登入應用程式及確認付款"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"設定解鎖方式："</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"人臉解鎖"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"輕鬆解鎖手機"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"裝置的 MAC 位址"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"隨機化 MAC 位址"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"隨機 MAC 位址 (上次使用)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"IP 位址"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"網路詳細資料"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"子網路遮罩"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"輸入有效的閘道位址。"</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"請輸入有效的 DNS 位址。"</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"輸入長度介於 0 到 32 之間的網路前置碼。"</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (除非由私人 DNS 覆寫)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (除非由私人 DNS 覆寫)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"閘道"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"網路前置碼長度"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"Wi-Fi Direct"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"收到新通知時，關閉的螢幕就會亮起"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"一律顯示時間和資訊"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"開啟這項功能會增加電池用量"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"粗體文字"</string>
     <string name="title_font_size" msgid="570613010306330622">"字型大小"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"縮小或放大文字"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"SIM 卡鎖定設定"</string>
@@ -3032,7 +3035,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"尚未設定 - 工作設定檔"</string>
     <string name="user_admin" msgid="4024553191395768119">"管理員"</string>
     <string name="user_you" msgid="3070562015202859996">"你 (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"暱稱"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"你最多可新增 <xliff:g id="USER_COUNT">%1$d</xliff:g> 位使用者"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"只有平板電腦的擁有者可以管理使用者。"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"只有手機的擁有者可以管理使用者。"</string>
@@ -3152,9 +3154,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"返回"</string>
     <string name="wizard_next" msgid="3884832431439072471">"下一步"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"完成"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"拍照"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"選擇圖片"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"選取相片"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"SIM 卡"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"SIM 卡"</string>
@@ -4489,10 +4488,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"輕觸以查看裝置"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"如要查看時間、通知和其他資訊，請輕觸螢幕。"</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"緊急按鈕"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"快速按下電源按鈕 5 次即可觸發緊急求救動作。"</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"警報聲"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"在觸發動作前發出警報聲"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"緊急聯絡人"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"滑動指紋感應器以查看通知"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"滑動手指"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"將手指放在手機背面的指紋感應器上並向下滑動，即可查看通知。"</string>
@@ -4840,6 +4840,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"正在停用 SIM 卡<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"無法停用電信業者"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"發生錯誤，無法停用你的電信業者。"</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"要清除這張已下載的 SIM 卡嗎？"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"如果清除這張 SIM 卡，「<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>」服務會從這部裝置中移除。\n\n請放心，「<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>」的服務不會因此取消。"</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"清除"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"正在清除 SIM 卡…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"無法清除 SIM 卡"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"發生錯誤，因此無法清除這張 SIM 卡。\n\n請重新啟動裝置，然後再試一次。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"連線至裝置"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式想透過臨時的 Wi-Fi 網路連線至你的裝置"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"找不到裝置。請確認裝置已經開啟並可進行連線。"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b7a5d11..caf749c 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -254,8 +254,10 @@
     <string name="date_and_time_settings_title" msgid="2305454529709812364">"Idethi nesikhathi"</string>
     <string name="date_and_time_settings_title_setup_wizard" msgid="1841717199409629742">"Setha idethi nesikhathi"</string>
     <string name="date_and_time_settings_summary" msgid="334967758944498010">"Setha idethi, isikhathi, umkhwawulo wesikhathi; namafomethi"</string>
-    <string name="date_time_auto" msgid="8227898528525208628">"Sebenzisa isikhathi esinikeziwe senethiwekhi"</string>
-    <string name="zone_auto_title" msgid="4715775349468228598">"Sebenzisa umkhawulo wesikhathi esinikeziwe senethiwekhi"</string>
+    <!-- no translation found for date_time_auto (4239202185055225869) -->
+    <skip />
+    <!-- no translation found for zone_auto_title (3993580453604839924) -->
+    <skip />
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Sebenzisa okuzenzakalelayo kwasendaweni"</string>
     <string name="date_time_24hour_title" msgid="1445056824481243600">"24‑ihora ngefomethi"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Sebenzisa ifomethi ye-24 amahora"</string>
@@ -321,7 +323,8 @@
     <string name="security_dashboard_summary" msgid="8750183806533140464">"Ukukhiywa kwesikrini, izigxivizo zeminwe"</string>
     <string name="security_dashboard_summary_no_fingerprint" msgid="1044589595710115123">"Isikrini sivaliwe"</string>
     <string name="multi_biometric_enroll_title" msgid="3007607723604088374">"Vula ifoni yakho ngokuphepha ngobuso bakho nangezigxivizo zomunwe"</string>
-    <string name="multi_biometric_enroll_subtitle" msgid="2900786940599073108">"Ungangena nangemvume kuzinhlelo zokusebenza futhi uqinisekise inkokhelo"</string>
+    <!-- no translation found for multi_biometric_enroll_subtitle (8357072842904027301) -->
+    <skip />
     <string name="multi_biometric_enroll_setup_with" msgid="421375792889910150">"Setha ukuvula nge:"</string>
     <string name="multi_biometric_enroll_face_unlock_title" msgid="7627564065626355692">"I-face unlock"</string>
     <string name="multi_biometric_enroll_face_unlock_description" msgid="7626442550602926682">"Yenza ukuvula iphoni yakho kube lula"</string>
@@ -1013,6 +1016,7 @@
     <string name="wifi_advanced_ssid_title" msgid="1561437650193980185">"I-SSID"</string>
     <string name="wifi_advanced_device_mac_address_title" msgid="6155800851233164411">"Ikheli le-MAC ledivayisi"</string>
     <string name="wifi_advanced_randomized_mac_address_title" msgid="3930671320234553088">"Ikheli le-MAC elingahleliwe"</string>
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title" msgid="2755843130417523727">"Ikheli le-MAC elingahleliwe (ligcine ukusetshenziswa)"</string>
     <string name="wifi_advanced_ip_address_title" msgid="4265355419782184514">"Ikheli le-IP"</string>
     <string name="wifi_details_title" msgid="222735438574597493">"Imininingwane yenethiwekhi"</string>
     <string name="wifi_details_subnet_mask" msgid="1619151769276260512">"Imaski ye-subnet"</string>
@@ -1030,10 +1034,8 @@
     <string name="wifi_ip_settings_invalid_gateway" msgid="1174931247370931239">"Sicela uthayiphe ikheli le-IP elilungile."</string>
     <string name="wifi_ip_settings_invalid_dns" msgid="1757402215999845975">"Sicela uthayiphe ikheli le-IP elilungile."</string>
     <string name="wifi_ip_settings_invalid_network_prefix_length" msgid="5980808986926987299">"Sicela uthayiphe ubude bephrifiksi yenethiwekhi phakathi kuka-0 no-32."</string>
-    <!-- no translation found for wifi_dns1 (6764769531843748514) -->
-    <skip />
-    <!-- no translation found for wifi_dns2 (7273133202625326148) -->
-    <skip />
+    <string name="wifi_dns1" msgid="6764769531843748514">"DNS 1 (ngaphandle kwalapho uma ikhishwe yi-DNS Eyimfihlo)"</string>
+    <string name="wifi_dns2" msgid="7273133202625326148">"DNS 2 (ngaphandle kwalapho uma ikhishwe yi-DNS Eyimfihlo)"</string>
     <string name="wifi_gateway" msgid="3699227808616416759">"Indlela yokuphuma"</string>
     <string name="wifi_network_prefix_length" msgid="1003365439352276622">"Ubude begama eliqalayo lenethiwekhi"</string>
     <string name="wifi_p2p_settings_title" msgid="1689918226469221870">"I-Wi-Fi eqondile"</string>
@@ -1300,6 +1302,7 @@
     <string name="doze_summary" msgid="8252867381522942804">"Uma isikrini simnyama, sizokhanya ngokuqondene nesaziso ezintsha"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Bonisa njalo isikhathi nolwazi"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Ukusebenza kwebhethri kukhulisiwe"</string>
+    <string name="force_bold_text" msgid="3636373986786504634">"Umbhalo Ogqamile"</string>
     <string name="title_font_size" msgid="570613010306330622">"Usayizi wefonti"</string>
     <string name="short_summary_font_size" msgid="184712645848458143">"Yenza umbhalo ube mkhulu noma ube mncane"</string>
     <string name="sim_lock_settings" msgid="4493069398250139205">"Izilungiselelo zokuvala ikhadi le-SIM"</string>
@@ -3033,7 +3036,6 @@
     <string name="user_summary_managed_profile_not_set_up" msgid="5739207307082458746">"Ayisethiwe - Iphrofayela yomsebenzi"</string>
     <string name="user_admin" msgid="4024553191395768119">"Mqondisi"</string>
     <string name="user_you" msgid="3070562015202859996">"Wena (<xliff:g id="NAME">%s</xliff:g>)"</string>
-    <string name="user_nickname" msgid="3763630194459958977">"Isidlaliso"</string>
     <string name="user_add_max_count" msgid="5739771048517070983">"Ungangeza kufikela kubasebenzisi abangu-<xliff:g id="USER_COUNT">%1$d</xliff:g>"</string>
     <string name="user_cannot_manage_message" product="tablet" msgid="3405022988077682357">"Umnikazi wethebhulethi kuphela ongaphatha abasebenzisi"</string>
     <string name="user_cannot_manage_message" product="default" msgid="6434662649769855494">"Umnikazi wefoni kuphela ongaphatha abasebenzisi."</string>
@@ -3153,9 +3155,6 @@
     <string name="wizard_back" msgid="8257697435061870191">"Phindela emuva"</string>
     <string name="wizard_next" msgid="3884832431439072471">"Okulandelayo"</string>
     <string name="wizard_finish" msgid="4220258401946825946">"Qeda"</string>
-    <string name="user_image_take_photo" msgid="2601691481533190924">"Thatha isithombe"</string>
-    <string name="user_image_choose_photo" msgid="5904586923236027350">"Khetha isithombe"</string>
-    <string name="user_image_photo_selector" msgid="7727851029781491727">"Khetha isithombe"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_setup_wizard_title" msgid="3945520353564138219">"Imodi yokuthula"</string>
     <string name="sim_settings_title" msgid="8392862852842113531">"Amakhadi we-SIM"</string>
@@ -4490,10 +4489,11 @@
     <string name="ambient_display_tap_screen_title" product="device" msgid="4423803387551153840">"Thepha ukuze uhlole idivayisi"</string>
     <string name="ambient_display_tap_screen_summary" msgid="4480489179996521405">"Ukuze uhlole isikhathi, izaziso, nolunye ulwazi, thepha isikrini sakho."</string>
     <string name="panic_gesture_screen_title" msgid="2978368688339171290">"Inkinobho yokwesaba"</string>
+    <!-- no translation found for panic_gesture_entrypoint_summary (7780062003951380630) -->
+    <skip />
     <string name="panic_gesture_screen_summary" msgid="6560595108396726608">"Qala izenzo ze-SOS yesimo esiphuthumayo ngokucindezela inkinobho yamandla ngokushesha izikhathi ezi-5."</string>
     <string name="panic_gesture_sound_setting_title" msgid="2235527774130891208">"Umsindo wesexwayiso"</string>
     <string name="panic_gesture_sound_setting_summary" msgid="6997197208264987249">"Isexwayiso ngaphambi kokuqalisa izenzo"</string>
-    <string name="panic_gesture_edit_emergency_contact_setting_title" msgid="7791096427878863017">"Oxhumana nabo esimweni esiphuthumayo"</string>
     <string name="fingerprint_swipe_for_notifications_title" msgid="2271217256447175017">"Swayipha izigxivizo zeminwe ukuze uthole izaziso"</string>
     <string name="fingerprint_gesture_screen_title" msgid="9086261338232806522">"Swayipha izigxivizo zeminwe"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="286662791588779673">"Ukuze uhlole izaziso zakho, swayiphela phansi kunzwa yezigxivizo zeminwe ngemuva kwefoni yakho."</string>
@@ -4841,6 +4841,12 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Ivala i-SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="3959790932910391006">"Ayikwazi ukukhubaza inkampani yenethiwekhi"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Kukhona okungahambanga kahle futhi inkampani yakho yenethiwekhi ayikwazanga ukukhutshazwa."</string>
+    <string name="erase_sim_dialog_title" msgid="881253002169177016">"Sula le SIM elandiwe?"</string>
+    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ukusula le-SIM kususa isevisi ye-<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> kusukela kule divayisi.\n\nIsevisi ye-<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ngeke ize ikhanselwe."</string>
+    <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Sula"</string>
+    <string name="erasing_sim" msgid="7877703231075699139">"Isula i-SIM…"</string>
+    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Ayikwazi ukusula i-SIM"</string>
+    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Le SIM ayikwazi ukusulwa ngenxa yephutha.\n\nQala kabusha idivayisi yakho uphinde uzame futhi."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Xhuma kudivayisi"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Uhlelo lokusebenza le-<xliff:g id="APPNAME">%1$s</xliff:g> lifuna ukusebenzisa inethiwekhi ye-Wi‑Fi ukuxhuma kudivayisi yakho"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Awekho amadivayisi atholiwe. Yenza isiqinisekiso sokuthi amadivayisi avuliwe futhi ayatholakala ukuze axhumeke."</string>
diff --git a/res/values/config.xml b/res/values/config.xml
index 3c58a06..2183640 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -465,6 +465,12 @@
     <!-- Whether to show panic button gesture in Settings -->
     <bool name="config_show_panic_gesture_settings">true</bool>
 
+    <!-- Optional package name if another 1p app wants to take over the panic settings UI -->
+    <string name="panic_gesture_settings_package"></string>
+
     <!-- Whether to show the Preference for Adaptive connectivity -->
     <bool name="config_show_adaptive_connectivity">false</bool>
+
+    <!-- Authority of advanced device battery prediction -->
+    <string name="config_battery_prediction_authority" translatable="false"></string>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 799aa22..a561df2 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -51,9 +51,6 @@
     <dimen name="pager_tabs_title_padding">16dp</dimen>
     <dimen name="pager_tabs_selected_indicator_height">3dp</dimen>
 
-    <!-- Minimum width for the popup for updating a user's photo. -->
-    <dimen name="update_user_photo_popup_min_width">300dip</dimen>
-
     <dimen name="captioning_preview_height">200dp</dimen>
 
     <dimen name="autoclick_preview_height">200dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c3d5256..c3e5d81 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -571,11 +571,10 @@
     <string name="date_and_time_settings_title_setup_wizard">Set date and time</string>
     <!-- Main Settings screen setting option summary text for the item to go into the date and time settings. -->
     <string name="date_and_time_settings_summary">Set date, time, time zone, &amp; formats</string>
-    <!-- Date & time setting screen setting check box title if the date and time should be determined automatically [CHAR LIMIT=100] -->
-    <string name="date_time_auto">Use network-provided time</string>
-    <!-- Date & time setting screen setting option text when Automatic time zone check box is selected (that is, when date and time should be determined automatically)
-        [CHAR LIMIT=100]  -->
-    <string name="zone_auto_title">Use network-provided time zone</string>
+    <!-- Date & time setting screen setting switch title: whether the system clock (UTC time) should be determined automatically [CHAR LIMIT=100] -->
+    <string name="date_time_auto">Set time automatically</string>
+    <!-- Date & time setting screen setting switch title: whether the time zone should be determined automatically [CHAR LIMIT=100]  -->
+    <string name="zone_auto_title">Set time zone automatically</string>
     <!-- Date & time setting screen setting option summary text for the automatic 24 hour setting checkbox [CHAR LIMIT=100] -->
     <string name="date_time_24hour_auto">Use locale default</string>
     <!-- Date & time setting screen setting check box title [CHAR LIMIT=30] -->
@@ -715,7 +714,7 @@
     <!-- Introduction title shown in biometric enrollment screen for devices that have both fingerprint and face. [CHAR LIMIT=60] -->
     <string name="multi_biometric_enroll_title">Unlock your phone securely with your face and fingerprint</string>
     <!-- Introduction subtitle shown in the biometric enrollment screen. [CHAR LIMIT=60] -->
-    <string name="multi_biometric_enroll_subtitle">You can also sign in to apps and confirm payment</string>
+    <string name="multi_biometric_enroll_subtitle">You can also sign in to apps and confirm payments</string>
     <!-- Section description preceding the biometric sensors available for the user to select for enrollment. [CHAR LIMIT=40] -->
     <string name="multi_biometric_enroll_setup_with">Set up unlock with:</string>
     <!-- Title for a preference containing a checkbox which if selected will allow the user to proceed to set up face unlock. [CHAR LIMIT=32] -->
@@ -2268,6 +2267,8 @@
     <string name="wifi_advanced_device_mac_address_title">Device MAC address</string>
     <!-- Wi-Fi settings screen, advanced, title of the item to show the randomized Wi-Fi MAC address. [CHAR LIMIT=50] -->
     <string name="wifi_advanced_randomized_mac_address_title">Randomized MAC address</string>
+    <!-- Wi-Fi settings screen, advanced, title of the item to show the randomized Wi-Fi MAC address when disconnected. [CHAR LIMIT=69] -->
+    <string name="wifi_advanced_randomized_mac_address_disconnected_title">Randomized MAC address (last used)</string>
     <!-- Title of the screen to adjust IP settings -->
     <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's current IP address. -->
     <string name="wifi_advanced_ip_address_title">IP address</string>
@@ -2968,6 +2969,8 @@
     <string name="doze_always_on_title">Always show time and info</string>
     <!-- [CHAR LIMIT=NONE] Display settings screen, setting description for the always-on ambient display feature. -->
     <string name="doze_always_on_summary">Increased battery usage</string>
+    <!-- [CHAR LIMIT=30] Display and accessibility settings screens, setting option name to force bold text. -->
+    <string name="force_bold_text">Bold Text</string>
     <!-- [CHAR LIMIT=30] Sound & display settings screen, setting option name to change font size -->
     <string name="title_font_size">Font size</string>
     <!-- Summary for Font size. Lets the user know that this will make text larger or smaller. Appears in the accessibility portion of setup wizard. [CHAR LIMIT=NONE] -->
@@ -6990,8 +6993,6 @@
     <string name="user_admin">Admin</string>
     <!-- User settings title for current user entry "You" user. [CHAR LIMIT=30] -->
     <string name="user_you">You (<xliff:g id="name" example="Name">%s</xliff:g>)</string>
-    <!-- Title for the preference to enter the nickname of the userto display in the user switcher [CHAR LIMIT=25]-->
-    <string name="user_nickname">Nickname</string>
 
     <!-- Summary for add user action, when it's disabled [CHAR LIMIT=100] -->
     <string name="user_add_max_count">You can add up to <xliff:g id="user_count">%1$d</xliff:g> users</string>
@@ -7429,13 +7430,6 @@
     <!-- Wizard finish button label [CHAR LIMIT=25] -->
     <string name="wizard_finish">Finish</string>
 
-    <!-- An option in a photo selection dialog to take a new photo [CHAR LIMIT=50] -->
-    <string name="user_image_take_photo" msgid="7496128293167402354">Take a photo</string>
-    <!-- An option in a photo selection dialog to choose a pre-existing image [CHAR LIMIT=50] -->
-    <string name="user_image_choose_photo" msgid="3746334626214970837">Choose an image</string>
-    <!-- Accessibility message for the photo selector which is a button/popup with the current photo [CHAR LIMIT=50] -->
-    <string name="user_image_photo_selector">Select photo</string>
-
     <!-- Text to display in regulatory info screen (from device overlay). -->
     <string name="regulatory_info_text"></string>
 
@@ -11003,6 +10997,9 @@
     <!-- Preference title to enable feature for calling emergency services at panic/distress moments[CHAR_LIMIT=60]-->
     <string name="panic_gesture_screen_title">Panic button</string>
 
+    <!-- Preference title to enable feature for calling emergency services at panic/distress moments[CHAR_LIMIT=60]-->
+    <string name="panic_gesture_entrypoint_summary">Managed by <xliff:g id="app_name" example="Emergency Info">%1$s</xliff:g></string>
+
     <!-- Preference summary to enable feature for calling emergency services at panic/distress moments[CHAR_LIMIT=NONE]-->
     <string name="panic_gesture_screen_summary">Start the emergency SOS actions by pressing the power button quickly 5 times.</string>
 
@@ -11012,9 +11009,6 @@
     <!-- Preference summary to enable generating noisy sound before calling emergency services at panic/distress moments[CHAR_LIMIT=NONE]-->
     <string name="panic_gesture_sound_setting_summary">Alert before starting the actions</string>
 
-    <!-- Preference title to let user edit their emergency contact list[CHAR_LIMIT=60]-->
-    <string name="panic_gesture_edit_emergency_contact_setting_title">Emergency contacts</string>
-
     <!-- Title text for swiping downwards on fingerprint sensor for notifications [CHAR LIMIT=80]-->
     <string name="fingerprint_swipe_for_notifications_title">Swipe fingerprint for notifications</string>
     <!-- Title text for fingerprint gesture preference screen [CHAR LIMIT=25] -->
@@ -11938,6 +11932,20 @@
     <!-- Body text of error message indicating the device could not disable the mobile network, due to an unknown issue. [CHAR LIMIT=NONE] -->
     <string name="privileged_action_disable_fail_text">Something went wrong and your carrier could not be disabled.</string>
 
+    <!-- Strings for deleting eUICC subscriptions dialog activity -->
+    <!-- Title on confirmation dialog asking the user if they want to erase the downloaded SIM from the device. [CHAR_LIMIT=NONE] -->
+    <string name="erase_sim_dialog_title">Erase this downloaded SIM?</string>
+    <!-- Body text in confirmation dialog indicating what erasing a SIM entails. [CHAR_LIMIT=NONE] -->
+    <string name="erase_sim_dialog_text">Erasing this SIM removes <xliff:g id="carrier_name_a" example="Google Fi">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="carrier_name_b" example="Google Fi">%1$s</xliff:g> won\'t be canceled.</string>
+    <!-- Button label to erase the eSIM [CHAR_LIMIT=20] -->
+    <string name="erase_sim_confirm_button">Erase</string>
+    <!-- Status message indicating the device is in the process of erasing the SIM. [CHAR_LIMIT=NONE] -->
+    <string name="erasing_sim">Erasing SIM&#8230;</string>
+    <!-- Title of error message indicating the device could not erase the SIM. [CHAR_LIMIT=NONE] -->
+    <string name="erase_sim_fail_title">Can\'t erase SIM</string>
+    <!-- Body text of error message indicating the device could not erase the SIM due to an error. [CHAR_LIMIT=NONE] -->
+    <string name="erase_sim_fail_text">This SIM can\'t be erased due to an error.\n\nRestart your device and try again.</string>
+
     <!-- Title for Network connection request Dialog [CHAR LIMIT=60] -->
     <string name="network_connection_request_dialog_title">Connect to device</string>
     <!-- Summary for Network connection request Dialog [CHAR LIMIT=NONE] -->
@@ -12278,4 +12286,9 @@
 
     <!-- Summary for see all preference when bluetooth is disable [CHAR LIMIT=none]-->
     <string name="connected_device_see_all_summary">Bluetooth will turn on</string>
+
+    <!-- Switch text for bluetooth feature being on [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_setting_on">On</string>
+    <!-- Switch text for bluetooth feature being off [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_setting_off">Off</string>
 </resources>
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 615f5b8..4a88ef0 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -86,6 +86,11 @@
             android:title="@string/accessibility_disable_animations"
             settings:controller="com.android.settings.accessibility.DisableAnimationsPreferenceController"/>
 
+        <SwitchPreference
+            android:key="toggle_force_bold_text"
+            android:persistent="false"
+            android:title="@string/force_bold_text"
+            settings:controller="com.android.settings.accessibility.ForceBoldTextPreferenceController"/>
     </PreferenceCategory>
 
     <PreferenceCategory
diff --git a/res/xml/adaptive_sleep_detail.xml b/res/xml/adaptive_sleep_detail.xml
deleted file mode 100644
index 0ea31ff..0000000
--- a/res/xml/adaptive_sleep_detail.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<PreferenceScreen
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/adaptive_sleep_title">
-
-    <com.android.settings.widget.VideoPreference
-        android:key="adaptive_sleep_video"
-        android:title="@string/summary_placeholder"
-        settings:animation="@raw/adaptive_sleep"
-        settings:preview="@drawable/adaptive_sleep"
-        settings:controller="com.android.settings.widget.VideoPreferenceController"/>
-
-    <Preference
-        android:key="adaptive_sleep_permission"
-        android:title="@string/adaptive_sleep_title_no_permission"
-        android:summary="@string/adaptive_sleep_summary_no_permission"
-        android:icon="@drawable/ic_info_outline_24"
-        settings:controller="com.android.settings.display.AdaptiveSleepPermissionPreferenceController"
-    />
-
-    <com.android.settingslib.RestrictedSwitchPreference
-        android:key="adaptive_sleep"
-        android:title="@string/adaptive_sleep_title"
-        android:summary="@string/adaptive_sleep_description"
-        settings:keywords="@string/keywords_display_adaptive_sleep"
-        settings:controller="com.android.settings.display.AdaptiveSleepDetailPreferenceController"
-        settings:useAdminDisabledSummary="true"
-        settings:allowDividerAbove="true" />
-
-    <com.android.settingslib.widget.FooterPreference
-        android:key="adaptive_sleep_footer"
-        android:title="@string/adaptive_sleep_privacy"
-        android:icon="@drawable/ic_privacy_shield_24dp"
-        android:selectable="false"
-        settings:searchable="false" />
-
-</PreferenceScreen>
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 9a51bdc..07564f0 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -63,20 +63,12 @@
     </com.android.settingslib.RestrictedPreference>
 
     <!-- Cross-listed item, if you change this, also change it in power_usage_summary.xml -->
-    <com.android.settings.display.TimeoutListPreference
+    <Preference
         android:key="screen_timeout"
         android:title="@string/screen_timeout"
         android:summary="@string/summary_placeholder"
-        android:entries="@array/screen_timeout_entries"
-        android:entryValues="@array/screen_timeout_values"
-        settings:keywords="@string/keywords_screen_timeout" />
-
-    <Preference
-        android:key="adaptive_sleep_entry"
-        android:title="@string/adaptive_sleep_title"
-        android:summary="@string/summary_placeholder"
-        android:fragment="com.android.settings.display.AdaptiveSleepSettings"
-        settings:controller="com.android.settings.display.AdaptiveSleepPreferenceController" />
+        android:fragment="com.android.settings.display.ScreenTimeoutSettings"
+        settings:controller="com.android.settings.display.ScreenTimeoutPreferenceController" />
 
     <SwitchPreference
         android:key="auto_rotate"
diff --git a/res/xml/panic_gesture_settings.xml b/res/xml/panic_gesture_settings.xml
index f5fe1b9..77305a0 100644
--- a/res/xml/panic_gesture_settings.xml
+++ b/res/xml/panic_gesture_settings.xml
@@ -43,15 +43,4 @@
         app:controller="com.android.settings.gestures.PanicGestureSoundPreferenceController"
         app:allowDividerAbove="true"/>
 
-    <Preference
-        android:key="panic_emergency_contacts"
-        android:icon="@drawable/ic_emergency_contact"
-        android:title="@string/panic_gesture_edit_emergency_contact_setting_title"
-        app:keywords="@sttring/keywords_gesture"
-        app:allowDividerAbove="true">
-        <intent
-            android:action="android.settings.EDIT_EMERGENCY_INFO"
-            android:targetPackage="@string/config_aosp_emergency_package_name"/>
-    </Preference>
-
 </PreferenceScreen>
diff --git a/res/xml/screen_timeout_settings.xml b/res/xml/screen_timeout_settings.xml
new file mode 100644
index 0000000..0a6f9ee
--- /dev/null
+++ b/res/xml/screen_timeout_settings.xml
@@ -0,0 +1,19 @@
+<?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.
+-->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:title="@string/screen_timeout"/>
\ No newline at end of file
diff --git a/res/xml/top_level_settings_grouped.xml b/res/xml/top_level_settings_grouped.xml
new file mode 100644
index 0000000..964c198
--- /dev/null
+++ b/res/xml/top_level_settings_grouped.xml
@@ -0,0 +1,183 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="top_level_settings_grouped">
+
+    <PreferenceCategory
+        android:key="connectivity"
+        android:order="-120"
+        settings:allowDividerAbove="false">
+        <Preference
+            android:fragment="com.android.settings.network.NetworkDashboardFragment"
+            android:icon="@drawable/ic_homepage_network"
+            android:key="top_level_network"
+            android:order="-120"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/network_dashboard_title"
+            settings:controller="com.android.settings.network.TopLevelNetworkEntryPreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment"
+            android:icon="@drawable/ic_homepage_connected_device"
+            android:key="top_level_connected_devices"
+            android:order="-110"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/connected_devices_dashboard_title"
+            settings:controller="com.android.settings.connecteddevice.TopLevelConnectedDevicesPreferenceController"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="apps"
+        android:order="-100"
+        settings:allowDividerAbove="false">
+        <Preference
+            android:fragment="com.android.settings.applications.AppAndNotificationDashboardFragment"
+            android:icon="@drawable/ic_homepage_apps"
+            android:key="top_level_apps_and_notifs"
+            android:order="-100"
+            android:summary="@string/app_and_notification_dashboard_summary"
+            android:title="@string/app_and_notification_dashboard_title"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="phone_essential"
+        android:order="-90"
+        settings:allowDividerAbove="false">
+        <Preference
+            android:fragment="com.android.settings.fuelgauge.PowerUsageSummary"
+            android:icon="@drawable/ic_homepage_battery"
+            android:key="top_level_battery"
+            android:order="-90"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/power_usage_summary_title"
+            settings:controller="com.android.settings.fuelgauge.TopLevelBatteryPreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.deviceinfo.StorageSettings"
+            android:icon="@drawable/ic_homepage_storage"
+            android:key="top_level_storage"
+            android:order="-80"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/storage_settings"
+            settings:controller="com.android.settings.deviceinfo.TopLevelStoragePreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.notification.SoundSettings"
+            android:icon="@drawable/ic_homepage_sound"
+            android:key="top_level_sound"
+            android:order="-70"
+            android:summary="@string/sound_dashboard_summary"
+            android:title="@string/sound_settings"/>
+
+        <Preference
+            android:fragment="com.android.settings.DisplaySettings"
+            android:icon="@drawable/ic_homepage_display"
+            android:key="top_level_display"
+            android:order="-60"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/display_settings"
+            settings:controller="com.android.settings.display.TopLevelDisplayPreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.accessibility.AccessibilitySettings"
+            android:icon="@drawable/ic_homepage_accessibility"
+            android:key="top_level_accessibility"
+            android:order="-50"
+            android:summary="@string/accessibility_settings_summary"
+            android:title="@string/accessibility_settings"
+            settings:controller="com.android.settings.accessibility.TopLevelAccessibilityPreferenceController"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="privacy_and_security"
+        android:order="-40"
+        settings:allowDividerAbove="false">
+        <Preference
+            android:fragment="com.android.settings.privacy.PrivacyDashboardFragment"
+            android:icon="@drawable/ic_homepage_privacy"
+            android:key="top_level_privacy"
+            android:order="-40"
+            android:summary="@string/privacy_dashboard_summary"
+            android:title="@string/privacy_dashboard_title"/>
+
+        <Preference
+            android:fragment="com.android.settings.location.LocationSettings"
+            android:icon="@drawable/ic_homepage_location"
+            android:key="top_level_location"
+            android:order="-30"
+            android:summary="@string/location_settings_loading_app_permission_stats"
+            android:title="@string/location_settings_title"
+            settings:controller="com.android.settings.location.TopLevelLocationPreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.security.SecuritySettings"
+            android:icon="@drawable/ic_homepage_security"
+            android:key="top_level_security"
+            android:order="-20"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/security_settings_title"
+            settings:controller="com.android.settings.security.TopLevelSecurityEntryPreferenceController"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="accounts"
+        android:order="-10"
+        settings:allowDividerAbove="false">
+        <Preference
+            android:fragment="com.android.settings.accounts.AccountDashboardFragment"
+            android:icon="@drawable/ic_homepage_accounts"
+            android:key="top_level_accounts"
+            android:order="-10"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/account_dashboard_title"
+            settings:controller="com.android.settings.accounts.TopLevelAccountEntryPreferenceController"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="system"
+        android:order="10"
+        settings:allowDividerAbove="false">
+        <Preference
+            android:fragment="com.android.settings.system.SystemDashboardFragment"
+            android:icon="@drawable/ic_homepage_system_dashboard"
+            android:key="top_level_system"
+            android:order="10"
+            android:summary="@string/system_dashboard_summary"
+            android:title="@string/header_category_system"/>
+
+        <Preference
+            android:fragment="com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment"
+            android:icon="@drawable/ic_homepage_about"
+            android:key="top_level_about_device"
+            android:order="20"
+            android:summary="@string/summary_placeholder"
+            android:title="@string/about_settings"
+            settings:controller="com.android.settings.deviceinfo.aboutphone.TopLevelAboutDevicePreferenceController"/>
+
+        <Preference
+            android:icon="@drawable/ic_homepage_support"
+            android:key="top_level_support"
+            android:order="100"
+            android:summary="@string/support_summary"
+            android:title="@string/page_tab_title_support"
+            settings:controller="com.android.settings.support.SupportPreferenceController"/>
+    </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index 6b23b29..cbfbe7a 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -30,7 +30,6 @@
 import com.android.settings.display.ShowOperatorNamePreferenceController;
 import com.android.settings.display.TapToWakePreferenceController;
 import com.android.settings.display.ThemePreferenceController;
-import com.android.settings.display.TimeoutPreferenceController;
 import com.android.settings.display.VrDisplayPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -44,8 +43,6 @@
 public class DisplaySettings extends DashboardFragment {
     private static final String TAG = "DisplaySettings";
 
-    private static final String KEY_SCREEN_TIMEOUT = "screen_timeout";
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.DISPLAY;
@@ -85,7 +82,6 @@
         controllers.add(new NightModePreferenceController(context));
         controllers.add(new ScreenSaverPreferenceController(context));
         controllers.add(new TapToWakePreferenceController(context));
-        controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT));
         controllers.add(new VrDisplayPreferenceController(context));
         controllers.add(new ShowOperatorNamePreferenceController(context));
         controllers.add(new ThemePreferenceController(context));
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 71c016f..a7e0eec 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -18,10 +18,6 @@
 
 import static android.content.Intent.EXTRA_USER;
 import static android.content.Intent.EXTRA_USER_ID;
-import static android.media.MediaRoute2Info.TYPE_GROUP;
-import static android.media.MediaRoute2Info.TYPE_REMOTE_SPEAKER;
-import static android.media.MediaRoute2Info.TYPE_REMOTE_TV;
-import static android.media.MediaRoute2Info.TYPE_UNKNOWN;
 import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
 import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
 
@@ -57,8 +53,6 @@
 import android.graphics.drawable.VectorDrawable;
 import android.hardware.face.FaceManager;
 import android.hardware.fingerprint.FingerprintManager;
-import android.media.MediaRoute2Info;
-import android.media.MediaRouter2Manager;
 import android.net.ConnectivityManager;
 import android.net.LinkProperties;
 import android.net.Network;
@@ -1143,31 +1137,4 @@
         drawable.draw(canvas);
         return roundedBitmap;
     }
-
-    /**
-     * Returns {@code true} if needed to disable media output, otherwise returns {@code false}.
-     */
-    public static boolean isMediaOutputDisabled(
-            MediaRouter2Manager router2Manager, String packageName) {
-        boolean isMediaOutputDisabled = false;
-        if (!TextUtils.isEmpty(packageName)) {
-            final List<MediaRoute2Info> infos = router2Manager.getAvailableRoutes(packageName);
-            if (infos.size() == 1) {
-                final MediaRoute2Info info = infos.get(0);
-                final int deviceType = info.getType();
-                switch (deviceType) {
-                    case TYPE_UNKNOWN:
-                    case TYPE_REMOTE_TV:
-                    case TYPE_REMOTE_SPEAKER:
-                    case TYPE_GROUP:
-                        isMediaOutputDisabled = true;
-                        break;
-                    default:
-                        isMediaOutputDisabled = false;
-                        break;
-                }
-            }
-        }
-        return isMediaOutputDisabled;
-    }
 }
diff --git a/src/com/android/settings/accessibility/ForceBoldTextPreferenceController.java b/src/com/android/settings/accessibility/ForceBoldTextPreferenceController.java
new file mode 100644
index 0000000..c8a3203
--- /dev/null
+++ b/src/com/android/settings/accessibility/ForceBoldTextPreferenceController.java
@@ -0,0 +1,50 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.content.res.Configuration;
+import android.provider.Settings;
+
+import com.android.settings.core.TogglePreferenceController;
+
+/** PreferenceController for displaying all text in bold. */
+public class ForceBoldTextPreferenceController extends TogglePreferenceController {
+
+    public ForceBoldTextPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.FORCE_BOLD_TEXT, Configuration.FORCE_BOLD_TEXT_NO)
+                == Configuration.FORCE_BOLD_TEXT_YES;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.FORCE_BOLD_TEXT,
+                (isChecked ? Configuration.FORCE_BOLD_TEXT_YES : Configuration.FORCE_BOLD_TEXT_NO));
+    }
+}
diff --git a/src/com/android/settings/accessibility/PreferredShortcut.java b/src/com/android/settings/accessibility/PreferredShortcut.java
new file mode 100644
index 0000000..1654992
--- /dev/null
+++ b/src/com/android/settings/accessibility/PreferredShortcut.java
@@ -0,0 +1,96 @@
+/*
+ * 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.accessibility;
+
+import android.content.ComponentName;
+import android.text.TextUtils;
+
+import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+
+import com.google.common.base.Objects;
+
+/**
+ * A data class for containing {@link ComponentName#flattenToString()} and
+ * {@link UserShortcutType}. Represents the preferred shortcuts of the service or activity.
+ */
+public class PreferredShortcut {
+
+    private static final char COMPONENT_NAME_SEPARATOR = ':';
+    private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
+            new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
+
+    /**
+     * Creates a {@link PreferredShortcut} from a encoded string described in {@link #toString()}.
+     *
+     * @param preferredShortcutString A string conform to the format described in {@link
+     *                                #toString()}
+     * @return A {@link PreferredShortcut} with the specified value
+     * @throws IllegalArgumentException If preferredShortcutString does not conform to the format
+     *                                  described in {@link #toString()}
+     */
+    public static PreferredShortcut fromString(String preferredShortcutString) {
+        sStringColonSplitter.setString(preferredShortcutString);
+        if (sStringColonSplitter.hasNext()) {
+            final String componentName = sStringColonSplitter.next();
+            final int type = Integer.parseInt(sStringColonSplitter.next());
+            return new PreferredShortcut(componentName, type);
+        }
+
+        throw new IllegalArgumentException(
+                "Invalid PreferredShortcut string: " + preferredShortcutString);
+    }
+
+    /** The format of {@link ComponentName#flattenToString()} */
+    private String mComponentName;
+    /** The format of {@link UserShortcutType} */
+    private int mType;
+
+    public PreferredShortcut(String componentName, int type) {
+        mComponentName = componentName;
+        mType = type;
+    }
+
+    public String getComponentName() {
+        return mComponentName;
+    }
+
+    public int getType() {
+        return mType;
+    }
+
+    @Override
+    public String toString() {
+        return mComponentName + COMPONENT_NAME_SEPARATOR + mType;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+        PreferredShortcut that = (PreferredShortcut) o;
+        return mType == that.mType && Objects.equal(mComponentName, that.mComponentName);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(mComponentName, mType);
+    }
+}
diff --git a/src/com/android/settings/accessibility/PreferredShortcuts.java b/src/com/android/settings/accessibility/PreferredShortcuts.java
new file mode 100644
index 0000000..2c9840d
--- /dev/null
+++ b/src/com/android/settings/accessibility/PreferredShortcuts.java
@@ -0,0 +1,102 @@
+/*
+ * 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.accessibility;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/** Static utility methods relating to {@link PreferredShortcut} */
+public final class PreferredShortcuts {
+
+    private static final String ACCESSIBILITY_PERF = "accessibility_prefs";
+    private static final String USER_SHORTCUT_TYPE = "user_shortcut_type";
+
+    /**
+     * Retrieves {@link UserShortcutType} for the given {@code componentName} from
+     * SharedPreferences.
+     *
+     * @param context       {@link Context} to access the {@link SharedPreferences}
+     * @param componentName Name of the service or activity, should be the format of {@link
+     *                      ComponentName#flattenToString()}.
+     * @param defaultType   See {@link UserShortcutType}
+     * @return {@link UserShortcutType}
+     */
+    public static int retrieveUserShortcutType(Context context, String componentName,
+            int defaultType) {
+        if (componentName == null) {
+            return defaultType;
+        }
+
+        // Create a mutable set to modify
+        final Set<String> info = new HashSet<>(getFromSharedPreferences(context));
+        info.removeIf(str -> !str.contains(componentName));
+
+        if (info.isEmpty()) {
+            return defaultType;
+        }
+
+        final String str = info.stream().findFirst().get();
+        final PreferredShortcut shortcut = PreferredShortcut.fromString(str);
+        return shortcut.getType();
+    }
+
+    /**
+     * Saves a {@link PreferredShortcut} which containing {@link ComponentName#flattenToString()}
+     * and {@link UserShortcutType} in SharedPreferences.
+     *
+     * @param context  {@link Context} to access the {@link SharedPreferences}
+     * @param shortcut Contains {@link ComponentName#flattenToString()} and {@link UserShortcutType}
+     */
+    public static void saveUserShortcutType(Context context, PreferredShortcut shortcut) {
+        final String componentName = shortcut.getComponentName();
+        if (componentName == null) {
+            return;
+        }
+
+        // Create a mutable set to modify
+        final Set<String> info = new HashSet<>(getFromSharedPreferences(context));
+        info.removeIf(str -> str.contains(componentName));
+        info.add(shortcut.toString());
+        saveToSharedPreferences(context, info);
+    }
+
+    /**
+     * Returns a immutable set of {@link PreferredShortcut#toString()} list from
+     * SharedPreferences.
+     */
+    private static Set<String> getFromSharedPreferences(Context context) {
+        return getSharedPreferences(context).getStringSet(USER_SHORTCUT_TYPE, Set.of());
+    }
+
+    /** Sets a set of {@link PreferredShortcut#toString()} list into SharedPreferences. */
+    private static void saveToSharedPreferences(Context context, Set<String> data) {
+        SharedPreferences.Editor editor = getSharedPreferences(context).edit();
+        editor.putStringSet(USER_SHORTCUT_TYPE, data).apply();
+    }
+
+    private static SharedPreferences getSharedPreferences(Context context) {
+        return context.getSharedPreferences(ACCESSIBILITY_PERF, Context.MODE_PRIVATE);
+    }
+
+    private PreferredShortcuts() {}
+}
diff --git a/src/com/android/settings/accessibility/SharedPreferenceUtils.java b/src/com/android/settings/accessibility/SharedPreferenceUtils.java
deleted file mode 100644
index e997291..0000000
--- a/src/com/android/settings/accessibility/SharedPreferenceUtils.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.accessibility;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-
-import com.google.common.collect.ImmutableSet;
-
-import java.util.Set;
-
-/** Utility class for SharedPreferences. */
-public final class SharedPreferenceUtils {
-
-    private static final String ACCESSIBILITY_PERF = "accessibility_prefs";
-    private static final String USER_SHORTCUT_TYPE = "user_shortcut_type";
-    private SharedPreferenceUtils() { }
-
-    private static SharedPreferences getSharedPreferences(Context context, String fileName) {
-        return context.getSharedPreferences(fileName, Context.MODE_PRIVATE);
-    }
-
-    /** Returns a set of user shortcuts list to determine user preferred service shortcut. */
-    public static Set<String> getUserShortcutTypes(Context context) {
-        return getSharedPreferences(context, ACCESSIBILITY_PERF)
-                .getStringSet(USER_SHORTCUT_TYPE, ImmutableSet.of());
-    }
-
-    /** Sets a set of user shortcuts list to determine user preferred service shortcut. */
-    public static void setUserShortcutType(Context context, Set<String> data) {
-        SharedPreferences.Editor editor = getSharedPreferences(context, ACCESSIBILITY_PERF).edit();
-        editor.remove(USER_SHORTCUT_TYPE).apply();
-        editor.putStringSet(USER_SHORTCUT_TYPE, data).apply();
-    }
-}
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index 30946d3..c0de313 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -17,6 +17,7 @@
 package com.android.settings.accessibility;
 
 import static com.android.settings.accessibility.AccessibilityStatsLogUtils.logAccessibilityServiceEnabled;
+import static com.android.settings.accessibility.PreferredShortcuts.retrieveUserShortcutType;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.Activity;
@@ -292,7 +293,8 @@
 
     @Override
     public void onToggleClicked(ShortcutPreference preference) {
-        final int shortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+        final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
         if (preference.isChecked()) {
             if (!mToggleServiceDividerSwitchPreference.isChecked()) {
                 preference.setChecked(false);
@@ -313,7 +315,8 @@
     public void onSettingsClicked(ShortcutPreference preference) {
         // Do not restore shortcut in shortcut chooser dialog when shortcutPreference is turned off.
         mUserShortcutTypesCache = mShortcutPreference.isChecked()
-                ? getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE)
+                ? retrieveUserShortcutType(getPrefContext(), mComponentName.flattenToString(),
+                UserShortcutType.SOFTWARE)
                 : UserShortcutType.EMPTY;
 
         final boolean isServiceOnOrShortcutAdded = mShortcutPreference.isChecked()
@@ -415,7 +418,8 @@
     private void onAllowButtonFromShortcutToggleClicked() {
         mShortcutPreference.setChecked(true);
 
-        final int shortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+        final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
         AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes, mComponentName);
 
         mIsDialogShown.set(false);
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 88f58be..678ef13 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -18,6 +18,8 @@
 
 import static com.android.settings.accessibility.AccessibilityUtil.getScreenHeightPixels;
 import static com.android.settings.accessibility.AccessibilityUtil.getScreenWidthPixels;
+import static com.android.settings.accessibility.PreferredShortcuts.retrieveUserShortcutType;
+import static com.android.settings.accessibility.PreferredShortcuts.saveUserShortcutType;
 
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
@@ -44,6 +46,7 @@
 import android.widget.CheckBox;
 import android.widget.ImageView;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
@@ -57,17 +60,11 @@
 import com.android.settingslib.accessibility.AccessibilityUtils;
 import com.android.settingslib.widget.FooterPreference;
 
-import com.google.common.annotations.VisibleForTesting;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
-import java.util.Set;
-import java.util.StringJoiner;
-import java.util.stream.Collectors;
 
 /**
  * Base class for accessibility fragments with toggle, shortcut, some helper functions
@@ -481,51 +478,6 @@
         }
     }
 
-    static final class AccessibilityUserShortcutType {
-        private static final char COMPONENT_NAME_SEPARATOR = ':';
-        private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
-                new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
-
-        private String mComponentName;
-        private int mType;
-
-        AccessibilityUserShortcutType(String componentName, int type) {
-            this.mComponentName = componentName;
-            this.mType = type;
-        }
-
-        AccessibilityUserShortcutType(String flattenedString) {
-            sStringColonSplitter.setString(flattenedString);
-            if (sStringColonSplitter.hasNext()) {
-                this.mComponentName = sStringColonSplitter.next();
-                this.mType = Integer.parseInt(sStringColonSplitter.next());
-            }
-        }
-
-        String getComponentName() {
-            return mComponentName;
-        }
-
-        void setComponentName(String componentName) {
-            this.mComponentName = componentName;
-        }
-
-        int getType() {
-            return mType;
-        }
-
-        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(mType));
-            return joiner.toString();
-        }
-    }
-
     private void setDialogTextAreaClickListener(View dialogView, CheckBox checkBox) {
         final View dialogTextArea = dialogView.findViewById(R.id.container);
         dialogTextArea.setOnClickListener(v -> {
@@ -571,33 +523,14 @@
         if (saveChanges) {
             final boolean isChanged = (mUserShortcutTypesCache != UserShortcutType.EMPTY);
             if (isChanged) {
-                setUserShortcutType(getPrefContext(), mUserShortcutTypesCache);
+                final PreferredShortcut shortcut = new PreferredShortcut(
+                        mComponentName.flattenToString(), mUserShortcutTypesCache);
+                saveUserShortcutType(getPrefContext(), shortcut);
             }
             mUserShortcutTypes = mUserShortcutTypesCache;
         }
     }
 
-    private void setUserShortcutType(Context context, int type) {
-        if (mComponentName == null) {
-            return;
-        }
-
-        Set<String> info = SharedPreferenceUtils.getUserShortcutTypes(context);
-        final String componentName = mComponentName.flattenToString();
-        if (info.isEmpty()) {
-            info = new HashSet<>();
-        } else {
-            final Set<String> filtered = info.stream()
-                    .filter(str -> str.contains(componentName))
-                    .collect(Collectors.toSet());
-            info.removeAll(filtered);
-        }
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(
-                componentName, type);
-        info.add(shortcut.flattenToString());
-        SharedPreferenceUtils.setUserShortcutType(context, info);
-    }
-
     protected CharSequence getShortcutTypeSummary(Context context) {
         if (!mShortcutPreference.isSettingsEditable()) {
             return context.getText(R.string.accessibility_shortcut_edit_dialog_title_hardware);
@@ -607,7 +540,8 @@
             return context.getText(R.string.switch_off_text);
         }
 
-        final int shortcutTypes = getUserShortcutTypes(context, UserShortcutType.SOFTWARE);
+        final int shortcutTypes = retrieveUserShortcutType(context,
+                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
         int resId = R.string.accessibility_shortcut_edit_summary_software;
         if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
             resId = AccessibilityUtil.isTouchExploreEnabled(context)
@@ -636,25 +570,6 @@
                 null, joinStrings);
     }
 
-    protected int getUserShortcutTypes(Context context, @UserShortcutType int defaultValue) {
-        if (mComponentName == null) {
-            return defaultValue;
-        }
-
-        final Set<String> info = SharedPreferenceUtils.getUserShortcutTypes(context);
-        final String componentName = mComponentName.flattenToString();
-        final Set<String> filtered = info.stream()
-                .filter(str -> str.contains(componentName))
-                .collect(Collectors.toSet());
-        if (filtered.isEmpty()) {
-            return defaultValue;
-        }
-
-        final String str = (String) filtered.toArray()[0];
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(str);
-        return shortcut.getType();
-    }
-
     /**
      * This method will be invoked when a button in the edit shortcut dialog is clicked.
      *
@@ -685,10 +600,13 @@
         mUserShortcutTypes = AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
                 mComponentName);
         if (mUserShortcutTypes != UserShortcutType.EMPTY) {
-            setUserShortcutType(getPrefContext(), mUserShortcutTypes);
+            final PreferredShortcut shortcut = new PreferredShortcut(
+                    mComponentName.flattenToString(), mUserShortcutTypes);
+            saveUserShortcutType(getPrefContext(), shortcut);
         } else {
             //  Get the user shortcut type from shared_prefs if cannot get from settings provider.
-            mUserShortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+            mUserShortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                    mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
         }
     }
 
@@ -711,10 +629,11 @@
             return;
         }
 
-        final int shortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+        final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
         mShortcutPreference.setChecked(
-                    AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes,
-                            mComponentName));
+                AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes,
+                        mComponentName));
         mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
     }
 
@@ -728,7 +647,8 @@
             return;
         }
 
-        final int shortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+        final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
         if (preference.isChecked()) {
             AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
                     mComponentName);
@@ -744,7 +664,8 @@
     public void onSettingsClicked(ShortcutPreference preference) {
         // Do not restore shortcut in shortcut chooser dialog when shortcutPreference is turned off.
         mUserShortcutTypesCache = mShortcutPreference.isChecked()
-                ? getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE)
+                ? retrieveUserShortcutType(getPrefContext(),
+                mComponentName.flattenToString(), UserShortcutType.SOFTWARE)
                 : UserShortcutType.EMPTY;
         showDialog(DialogEnums.EDIT_SHORTCUT);
     }
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 108c1c0..d470bef 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -19,6 +19,8 @@
 import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
 import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
 import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+import static com.android.settings.accessibility.PreferredShortcuts.retrieveUserShortcutType;
+import static com.android.settings.accessibility.PreferredShortcuts.saveUserShortcutType;
 
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
@@ -46,12 +48,9 @@
 import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
-import java.util.Set;
 import java.util.StringJoiner;
-import java.util.stream.Collectors;
 
 /**
  * Fragment that shows the actual UI for providing basic magnification accessibility service setup
@@ -210,35 +209,22 @@
         if (saveChanges) {
             final boolean isChanged = (mUserShortcutTypesCache != UserShortcutType.EMPTY);
             if (isChanged) {
-                setUserShortcutType(getPrefContext(), mUserShortcutTypesCache);
+                final PreferredShortcut shortcut = new PreferredShortcut(
+                        MAGNIFICATION_CONTROLLER_NAME, mUserShortcutTypesCache);
+                saveUserShortcutType(getPrefContext(), shortcut);
             }
             mUserShortcutTypes = mUserShortcutTypesCache;
         }
     }
 
-    private void setUserShortcutType(Context context, int type) {
-        Set<String> info = SharedPreferenceUtils.getUserShortcutTypes(context);
-        if (info.isEmpty()) {
-            info = new HashSet<>();
-        } else {
-            final Set<String> filtered = info.stream().filter(
-                    str -> str.contains(MAGNIFICATION_CONTROLLER_NAME)).collect(
-                    Collectors.toSet());
-            info.removeAll(filtered);
-        }
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(
-                MAGNIFICATION_CONTROLLER_NAME, type);
-        info.add(shortcut.flattenToString());
-        SharedPreferenceUtils.setUserShortcutType(context, info);
-    }
-
     @Override
     protected CharSequence getShortcutTypeSummary(Context context) {
         if (!mShortcutPreference.isChecked()) {
             return context.getText(R.string.switch_off_text);
         }
 
-        final int shortcutType = getUserShortcutTypes(context, UserShortcutType.EMPTY);
+        final int shortcutType = retrieveUserShortcutType(context, MAGNIFICATION_CONTROLLER_NAME,
+                UserShortcutType.EMPTY);
         int resId = R.string.accessibility_shortcut_edit_summary_software;
         if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
             resId = AccessibilityUtil.isTouchExploreEnabled(context)
@@ -274,21 +260,6 @@
     }
 
     @Override
-    protected int getUserShortcutTypes(Context context, @UserShortcutType int defaultValue) {
-        final Set<String> info = SharedPreferenceUtils.getUserShortcutTypes(context);
-        final Set<String> filtered = info.stream().filter(
-                str -> str.contains(MAGNIFICATION_CONTROLLER_NAME)).collect(
-                Collectors.toSet());
-        if (filtered.isEmpty()) {
-            return defaultValue;
-        }
-
-        final String str = (String) filtered.toArray()[0];
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(str);
-        return shortcut.getType();
-    }
-
-    @Override
     protected void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
         updateUserShortcutType(/* saveChanges= */ true);
         optInAllMagnificationValuesToSettings(getPrefContext(), mUserShortcutTypes);
@@ -341,7 +312,8 @@
 
     @Override
     public void onToggleClicked(ShortcutPreference preference) {
-        final int shortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+        final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
         if (preference.isChecked()) {
             optInAllMagnificationValuesToSettings(getPrefContext(), shortcutTypes);
             showDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
@@ -355,7 +327,8 @@
     public void onSettingsClicked(ShortcutPreference preference) {
         // Do not restore shortcut in shortcut chooser dialog when shortcutPreference is turned off.
         mUserShortcutTypesCache = mShortcutPreference.isChecked()
-                ? getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE)
+                ? retrieveUserShortcutType(getPrefContext(),
+                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE)
                 : UserShortcutType.EMPTY;
         showDialog(DialogEnums.MAGNIFICATION_EDIT_SHORTCUT);
     }
@@ -365,10 +338,13 @@
         // Get the user shortcut type from settings provider.
         mUserShortcutTypes = getUserShortcutTypeFromSettings(getPrefContext());
         if (mUserShortcutTypes != UserShortcutType.EMPTY) {
-            setUserShortcutType(getPrefContext(), mUserShortcutTypes);
+            final PreferredShortcut shortcut = new PreferredShortcut(
+                    MAGNIFICATION_CONTROLLER_NAME, mUserShortcutTypes);
+            saveUserShortcutType(getPrefContext(), shortcut);
         } else {
             //  Get the user shortcut type from shared_prefs if cannot get from settings provider.
-            mUserShortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+            mUserShortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                    MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
         }
     }
 
@@ -389,7 +365,8 @@
 
     @Override
     protected void updateShortcutPreference() {
-        final int shortcutTypes = getUserShortcutTypes(getPrefContext(), UserShortcutType.SOFTWARE);
+        final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
+                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
         mShortcutPreference.setChecked(
                 hasMagnificationValuesInSettings(getPrefContext(), shortcutTypes));
         mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
diff --git a/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
index 31f97a8..eccfbce 100644
--- a/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/VolumeShortcutToggleAccessibilityServicePreferenceFragment.java
@@ -24,8 +24,6 @@
 
 import com.android.settings.R;
 
-import com.google.common.collect.ImmutableSet;
-
 /**
  * Fragment that only allowed hardware {@link UserShortcutType} for shortcut to open.
  *
@@ -67,10 +65,9 @@
     }
 
     private void setAllowedPreferredShortcutType(int type) {
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(
-                mComponentName.flattenToString(), type);
+        final String componentNameString = mComponentName.flattenToString();
+        final PreferredShortcut shortcut = new PreferredShortcut(componentNameString, type);
 
-        SharedPreferenceUtils.setUserShortcutType(getPrefContext(),
-                ImmutableSet.of(shortcut.flattenToString()));
+        PreferredShortcuts.saveUserShortcutType(getPrefContext(), shortcut);
     }
 }
diff --git a/src/com/android/settings/accounts/AddAccountSettings.java b/src/com/android/settings/accounts/AddAccountSettings.java
index 64bb201..81db4df 100644
--- a/src/com/android/settings/accounts/AddAccountSettings.java
+++ b/src/com/android/settings/accounts/AddAccountSettings.java
@@ -247,7 +247,8 @@
         identityIntent.setAction(SHOULD_NOT_RESOLVE);
         identityIntent.addCategory(SHOULD_NOT_RESOLVE);
 
-        mPendingIntent = PendingIntent.getBroadcast(this, 0, identityIntent, 0);
+        mPendingIntent = PendingIntent.getBroadcast(this, 0, identityIntent,
+                PendingIntent.FLAG_IMMUTABLE);
         addAccountOptions.putParcelable(KEY_CALLER_IDENTITY, mPendingIntent);
         addAccountOptions.putBoolean(EXTRA_HAS_MULTIPLE_USERS, Utils.hasMultipleUsers(this));
         AccountManager.get(this).addAccountAsUser(
diff --git a/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java b/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
index c1e906a..78a29b3 100644
--- a/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
+++ b/src/com/android/settings/biometrics/MultiBiometricEnrollHelper.java
@@ -92,7 +92,7 @@
     private void launchFingerprintEnroll() {
         final FingerprintManager fingerprintManager = mActivity
                 .getSystemService(FingerprintManager.class);
-        fingerprintManager.generateChallenge(((sensorId, challenge) -> {
+        fingerprintManager.generateChallenge(mUserId, ((sensorId, challenge) -> {
             final byte[] hardwareAuthToken = BiometricUtils.requestGatekeeperHat(mActivity,
                     mGkPwHandle, mUserId, challenge);
             final Intent intent = BiometricUtils.getFingerprintIntroIntent(mActivity,
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index c320ef5..234666f 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -65,7 +65,7 @@
         // adb shell am start -a android.app.action.SET_NEW_PASSWORD
         if (mToken == null && BiometricUtils.containsGatekeeperPasswordHandle(getIntent())) {
             final FingerprintManager fpm = getSystemService(FingerprintManager.class);
-            fpm.generateChallenge((sensorId, challenge) -> {
+            fpm.generateChallenge(mUserId, (sensorId, challenge) -> {
                 mToken = BiometricUtils.requestGatekeeperHat(this, getIntent(), mUserId, challenge);
                 BiometricUtils.removeGatekeeperPasswordHandle(this, getIntent());
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
index 9a12290..3adbd0d 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
@@ -140,7 +140,7 @@
     private void postEnroll() {
         final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
         if (fpm != null) {
-            fpm.revokeChallenge();
+            fpm.revokeChallenge(mUserId);
         }
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index f5dc0e6..c2dc3ac 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -148,7 +148,7 @@
             callback.onChallengeGenerated(0, 0L);
             return;
         }
-        mFingerprintManager.generateChallenge(callback::onChallengeGenerated);
+        mFingerprintManager.generateChallenge(mUserId, callback::onChallengeGenerated);
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 3782039..88920ad 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -571,7 +571,7 @@
                 mLaunchedConfirm = false;
                 if (resultCode == RESULT_FINISHED || resultCode == RESULT_OK) {
                     if (data != null && BiometricUtils.containsGatekeeperPasswordHandle(data)) {
-                        mFingerprintManager.generateChallenge((sensorId, challenge) -> {
+                        mFingerprintManager.generateChallenge(mUserId, (sensorId, challenge) -> {
                             mToken = BiometricUtils.requestGatekeeperHat(getActivity(), data,
                                     mUserId, challenge);
                             BiometricUtils.removeGatekeeperPasswordHandle(getActivity(), data);
@@ -599,7 +599,7 @@
         public void onDestroy() {
             super.onDestroy();
             if (getActivity().isFinishing()) {
-                mFingerprintManager.revokeChallenge();
+                mFingerprintManager.revokeChallenge(mUserId);
             }
         }
 
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index a147656..1ab3a65 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -18,8 +18,10 @@
 
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
+import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
@@ -49,12 +51,14 @@
 import com.android.settingslib.core.lifecycle.events.OnDestroy;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
+import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.widget.LayoutPreference;
 
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.TimeUnit;
 
 /**
  * This class adds a header with device name and status (connected/disconnected, etc.).
@@ -64,7 +68,22 @@
     private static final String TAG = "AdvancedBtHeaderCtrl";
     private static final int LOW_BATTERY_LEVEL = 15;
     private static final int CASE_LOW_BATTERY_LEVEL = 19;
-    private static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG);
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private static final String PATH = "time_remaining";
+    private static final String QUERY_PARAMETER_ADDRESS = "address";
+    private static final String QUERY_PARAMETER_BATTERY_ID = "battery_id";
+    private static final String QUERY_PARAMETER_BATTERY_LEVEL = "battery_level";
+    private static final String QUERY_PARAMETER_TIMESTAMP = "timestamp";
+    private static final String BATTERY_ESTIMATE = "battery_estimate";
+    private static final String ESTIMATE_READY = "estimate_ready";
+    private static final String DATABASE_ID = "id";
+    private static final String DATABASE_BLUETOOTH = "Bluetooth";
+    private static final long TIME_OF_HOUR = TimeUnit.SECONDS.toMillis(3600);
+    private static final long TIME_OF_MINUTE = TimeUnit.SECONDS.toMillis(60);
+    private static final int LEFT_DEVICE_ID = 1;
+    private static final int RIGHT_DEVICE_ID = 2;
+    private static final int CASE_DEVICE_ID = 3;
 
     @VisibleForTesting
     LayoutPreference mLayoutPreference;
@@ -168,19 +187,22 @@
                     BluetoothDevice.METADATA_UNTETHERED_LEFT_ICON,
                     BluetoothDevice.METADATA_UNTETHERED_LEFT_BATTERY,
                     BluetoothDevice.METADATA_UNTETHERED_LEFT_CHARGING,
-                    R.string.bluetooth_left_name);
+                    R.string.bluetooth_left_name,
+                    LEFT_DEVICE_ID);
 
             updateSubLayout(mLayoutPreference.findViewById(R.id.layout_middle),
                     BluetoothDevice.METADATA_UNTETHERED_CASE_ICON,
                     BluetoothDevice.METADATA_UNTETHERED_CASE_BATTERY,
                     BluetoothDevice.METADATA_UNTETHERED_CASE_CHARGING,
-                    R.string.bluetooth_middle_name);
+                    R.string.bluetooth_middle_name,
+                    CASE_DEVICE_ID);
 
             updateSubLayout(mLayoutPreference.findViewById(R.id.layout_right),
                     BluetoothDevice.METADATA_UNTETHERED_RIGHT_ICON,
                     BluetoothDevice.METADATA_UNTETHERED_RIGHT_BATTERY,
                     BluetoothDevice.METADATA_UNTETHERED_RIGHT_CHARGING,
-                    R.string.bluetooth_right_name);
+                    R.string.bluetooth_right_name,
+                    RIGHT_DEVICE_ID);
         }
     }
 
@@ -204,7 +226,7 @@
     }
 
     private void updateSubLayout(LinearLayout linearLayout, int iconMetaKey, int batteryMetaKey,
-            int chargeMetaKey, int titleResId) {
+            int chargeMetaKey, int titleResId, int batteryId) {
         if (linearLayout == null) {
             return;
         }
@@ -217,11 +239,15 @@
 
         final int batteryLevel = BluetoothUtils.getIntMetaData(bluetoothDevice, batteryMetaKey);
         final boolean charging = BluetoothUtils.getBooleanMetaData(bluetoothDevice, chargeMetaKey);
-        if (DBG) {
+        if (DEBUG) {
             Log.d(TAG, "updateSubLayout() icon : " + iconMetaKey + ", battery : " + batteryMetaKey
                     + ", charge : " + chargeMetaKey + ", batteryLevel : " + batteryLevel
                     + ", charging : " + charging + ", iconUri : " + iconUri);
         }
+
+        if (batteryId != CASE_DEVICE_ID) {
+            showBatteryPredictionIfNecessary(linearLayout, batteryId, batteryLevel);
+        }
         if (batteryLevel != BluetoothUtils.META_INT_ERROR) {
             linearLayout.setVisibility(View.VISIBLE);
             final TextView textView = linearLayout.findViewById(R.id.bt_battery_summary);
@@ -238,6 +264,64 @@
         textView.setVisibility(View.VISIBLE);
     }
 
+    private void showBatteryPredictionIfNecessary(LinearLayout linearLayout, int batteryId,
+            int batteryLevel) {
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final Uri contentUri = new Uri.Builder()
+                    .scheme(ContentResolver.SCHEME_CONTENT)
+                    .authority(mContext.getString(R.string.config_battery_prediction_authority))
+                    .appendPath(PATH)
+                    .appendPath(DATABASE_ID)
+                    .appendPath(DATABASE_BLUETOOTH)
+                    .appendQueryParameter(QUERY_PARAMETER_ADDRESS, mCachedDevice.getAddress())
+                    .appendQueryParameter(QUERY_PARAMETER_BATTERY_ID, String.valueOf(batteryId))
+                    .appendQueryParameter(QUERY_PARAMETER_BATTERY_LEVEL,
+                            String.valueOf(batteryLevel))
+                    .appendQueryParameter(QUERY_PARAMETER_TIMESTAMP,
+                            String.valueOf(System.currentTimeMillis()))
+                    .build();
+
+            final String[] columns = new String[] {BATTERY_ESTIMATE, ESTIMATE_READY};
+            final Cursor cursor =
+                    mContext.getContentResolver().query(contentUri, columns, null, null, null);
+            if (cursor == null) {
+                Log.w(TAG, "showBatteryPredictionIfNecessary() cursor is null!");
+                return;
+            }
+            try {
+                for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
+                    final int estimateReady =
+                            cursor.getInt(cursor.getColumnIndex(ESTIMATE_READY));
+                    final long batteryEstimate =
+                            cursor.getLong(cursor.getColumnIndex(BATTERY_ESTIMATE));
+                    if (DEBUG) {
+                        Log.d(TAG, "showBatteryTimeIfNecessary() batteryId : " + batteryId
+                                + ", ESTIMATE_READY : " + estimateReady
+                                + ", BATTERY_ESTIMATE : " + batteryEstimate);
+                    }
+                    showBatteryPredictionIfNecessary(estimateReady, batteryEstimate,
+                            linearLayout);
+                }
+            } finally {
+                cursor.close();
+            }
+        });
+    }
+
+    @VisibleForTesting
+    void showBatteryPredictionIfNecessary(int estimateReady, long batteryEstimate,
+            LinearLayout linearLayout) {
+        ThreadUtils.postOnMainThread(() -> {
+            final TextView textView = linearLayout.findViewById(R.id.bt_battery_prediction);
+            if (estimateReady == 1) {
+                textView.setVisibility(View.VISIBLE);
+                textView.setText(StringUtil.formatElapsedTime(mContext, batteryEstimate, false));
+            } else {
+                textView.setVisibility(View.GONE);
+            }
+        });
+    }
+
     private void showBatteryIcon(LinearLayout linearLayout, int level, boolean charging,
             int batteryMetaKey) {
         final int lowBatteryLevel =
@@ -279,7 +363,7 @@
         final BluetoothDevice bluetoothDevice = mCachedDevice.getDevice();
         final String iconUri = BluetoothUtils.getStringMetaData(bluetoothDevice,
                 BluetoothDevice.METADATA_MAIN_ICON);
-        if (DBG) {
+        if (DEBUG) {
             Log.d(TAG, "updateDisconnectLayout() iconUri : " + iconUri);
         }
         if (iconUri != null) {
diff --git a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
index 5a4ee1f..67c3650 100644
--- a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
+++ b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
@@ -129,13 +129,13 @@
     private static PendingIntent getPrimaryAction(Context context) {
         final Intent intent = getIntent(context);
         return PendingIntent.getActivity(context, 0 /* requestCode */,
-                intent, 0 /* flags */);
+                intent, PendingIntent.FLAG_IMMUTABLE);
     }
 
     private static PendingIntent getBroadcastIntent(Context context) {
         final Intent intent = new Intent(ACTION_BLUETOOTH_SLICE_CHANGED)
                 .setClass(context, SliceBroadcastReceiver.class);
         return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
-                PendingIntent.FLAG_UPDATE_CURRENT);
+                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
     }
 }
diff --git a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
index 3e64de5..2f61452 100644
--- a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
@@ -83,6 +83,7 @@
 
         SettingsActivity activity = (SettingsActivity) getActivity();
         mSwitchBar = activity.getSwitchBar();
+        mSwitchBar.setSwitchBarText(R.string.bluetooth_setting_on, R.string.bluetooth_setting_off);
         mController = new BluetoothSwitchPreferenceController(activity,
                 new SwitchBarController(mSwitchBar), mFooterPreference);
         Lifecycle lifecycle = getSettingsLifecycle();
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
index 57584e7..73f8f45 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
@@ -325,7 +325,10 @@
                 mSnapshotTime = primaryPlan.getDataUsageTime();
             }
         }
-        mManageSubscriptionIntent = createManageSubscriptionIntent(mSubId);
+        // Temporarily return null, since no current users of SubscriptionPlan have this intent set.
+        // TODO (b/170330084): Remove after refactoring 5G SubscriptionPlan logic.
+        // mManageSubscriptionIntent = createManageSubscriptionIntent(mSubId);
+        mManageSubscriptionIntent = null;
         Log.i(TAG, "Have " + mDataplanCount + " plans, dflt sub-id " + mSubId
                 + ", intent " + mManageSubscriptionIntent);
     }
diff --git a/src/com/android/settings/development/SelectDSUPreferenceController.java b/src/com/android/settings/development/SelectDSUPreferenceController.java
index 6498ae7..425cdb3 100644
--- a/src/com/android/settings/development/SelectDSUPreferenceController.java
+++ b/src/com/android/settings/development/SelectDSUPreferenceController.java
@@ -23,9 +23,11 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
-class SelectDSUPreferenceController extends DeveloperOptionsPreferenceController {
+class SelectDSUPreferenceController extends DeveloperOptionsPreferenceController implements
+        PreferenceControllerMixin {
 
     private static final String DSU_LOADER_KEY = "dsu_loader";
 
diff --git a/src/com/android/settings/display/AdaptiveSleepDetailPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepDetailPreferenceController.java
deleted file mode 100644
index d0fc5d7..0000000
--- a/src/com/android/settings/display/AdaptiveSleepDetailPreferenceController.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.display;
-
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.preference.Preference;
-
-import com.android.settings.bluetooth.RestrictionUtils;
-import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-public class AdaptiveSleepDetailPreferenceController extends AdaptiveSleepPreferenceController {
-    private RestrictionUtils mRestrictionUtils;
-
-    public AdaptiveSleepDetailPreferenceController(Context context, String key,
-            RestrictionUtils restrictionUtils) {
-        super(context, key);
-        mRestrictionUtils = restrictionUtils;
-    }
-
-    public AdaptiveSleepDetailPreferenceController(Context context, String key) {
-        this(context, key, new RestrictionUtils());
-    }
-
-    @Override
-    @AvailabilityStatus
-    public int getAvailabilityStatus() {
-        return mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_adaptive_sleep_available)
-                ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public boolean isPublicSlice() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        final EnforcedAdmin enforcedAdmin = mRestrictionUtils.checkIfRestrictionEnforced(mContext,
-                UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT);
-        if (enforcedAdmin != null) {
-            ((RestrictedSwitchPreference) preference).setDisabledByAdmin(enforcedAdmin);
-        } else {
-            preference.setEnabled(hasSufficientPermission(mContext.getPackageManager()));
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceController.java
index 9e6bca4..1110ad2 100644
--- a/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceController.java
@@ -11,7 +11,7 @@
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
- * limitations under the License
+ * limitations under the License.
  */
 
 package com.android.settings.display;
@@ -20,44 +20,53 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.net.Uri;
-import android.text.TextUtils;
 
 import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
 
-import com.android.settings.core.BasePreferenceController;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
 
-public class AdaptiveSleepPermissionPreferenceController extends BasePreferenceController {
-    final static String PREF_NAME = "adaptive_sleep_permission";
-    private final Intent mIntent;
+/**
+ * The controller of Screen attention's permission warning preference. The preference appears when
+ * the camera permission is missing for Screen Attention feature.
+ */
+public class AdaptiveSleepPermissionPreferenceController {
+    @VisibleForTesting
+    Preference mPreference;
+    private PackageManager mPackageManager;
 
-    public AdaptiveSleepPermissionPreferenceController(Context context, String key) {
-        super(context, key);
+    public AdaptiveSleepPermissionPreferenceController(Context context) {
         final String packageName = context.getPackageManager().getAttentionServicePackageName();
-        mIntent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
-        mIntent.setData(Uri.parse("package:" + packageName));
-    }
-
-    @Override
-    @AvailabilityStatus
-    public int getAvailabilityStatus() {
-        return AVAILABLE_UNSEARCHABLE;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (TextUtils.equals(getPreferenceKey(), preference.getKey())) {
-            mContext.startActivity(mIntent);
+        mPackageManager = context.getPackageManager();
+        final Intent intent = new Intent(
+                android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+        intent.setData(Uri.parse("package:" + packageName));
+        mPreference = new Preference(context);
+        mPreference.setTitle(R.string.adaptive_sleep_title_no_permission);
+        mPreference.setSummary(R.string.adaptive_sleep_summary_no_permission);
+        mPreference.setIcon(R.drawable.ic_info_outline_24);
+        mPreference.setOnPreferenceClickListener(p -> {
+            context.startActivity(intent);
             return true;
-        }
-        return super.handlePreferenceTreeClick(preference);
+        });
     }
 
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (TextUtils.equals(getPreferenceKey(), preference.getKey())) {
-            preference.setVisible(!hasSufficientPermission(mContext.getPackageManager()));
+    /**
+     * Adds the controlled preference to the provided preference screen.
+     */
+    public void addToScreen(PreferenceScreen screen) {
+        if (!hasSufficientPermission(mPackageManager)) {
+            screen.addPreference(mPreference);
         }
     }
+
+    /**
+     * Refreshes the visibility of the preference.
+     */
+    public void updateVisibility() {
+        mPreference.setVisible(!hasSufficientPermission(mPackageManager));
+    }
 }
diff --git a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
index 9f5b49e..dfe6826 100644
--- a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
@@ -1,66 +1,95 @@
 /*
  * Copyright (C) 2019 The Android Open Source Project
  *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
  *
  *      http://www.apache.org/licenses/LICENSE-2.0
  *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 package com.android.settings.display;
 
-import static android.provider.Settings.Secure.ADAPTIVE_SLEEP;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
 import android.Manifest;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.service.attention.AttentionService;
 import android.text.TextUtils;
 
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.R;
-import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.bluetooth.RestrictionUtils;
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+import com.android.settingslib.RestrictedSwitchPreference;
 
+import com.google.common.annotations.VisibleForTesting;
 
-public class AdaptiveSleepPreferenceController extends TogglePreferenceController {
-    public static final String PREF_NAME = "adaptive_sleep";
-    private static final String SYSTEM_KEY = ADAPTIVE_SLEEP;
+/** The controller for Screen attention switch preference. */
+public class AdaptiveSleepPreferenceController {
+    public static final String PREFERENCE_KEY = "adaptive_sleep";
     private static final int DEFAULT_VALUE = 0;
+    private RestrictionUtils mRestrictionUtils;
+    private PackageManager mPackageManager;
+    private Context mContext;
 
-    public AdaptiveSleepPreferenceController(Context context, String key) {
-        super(context, key);
+    @VisibleForTesting
+    RestrictedSwitchPreference mPreference;
+
+    public AdaptiveSleepPreferenceController(Context context, RestrictionUtils restrictionUtils) {
+        mContext = context;
+        mRestrictionUtils = restrictionUtils;
+        mPreference = new RestrictedSwitchPreference(context);
+        mPreference.setTitle(R.string.adaptive_sleep_title);
+        mPreference.setSummary(R.string.adaptive_sleep_description);
+        mPreference.setIcon(R.drawable.empty_icon);
+        mPreference.setChecked(isChecked());
+        mPreference.setKey(PREFERENCE_KEY);
+        mPreference.setOnPreferenceClickListener(preference -> {
+            final boolean isChecked = ((RestrictedSwitchPreference) preference).isChecked();
+            Settings.Secure.putInt(context.getContentResolver(),
+                    Settings.Secure.ADAPTIVE_SLEEP, isChecked ? 1 : DEFAULT_VALUE);
+            return true;
+        });
+        mPackageManager = context.getPackageManager();
     }
 
-    @Override
-    public boolean isChecked() {
+    public AdaptiveSleepPreferenceController(Context context) {
+        this(context, new RestrictionUtils());
+    }
+
+    /**
+     * Adds the controlled preference to the provided preference screen.
+     */
+    public void addToScreen(PreferenceScreen screen) {
+        final EnforcedAdmin enforcedAdmin = mRestrictionUtils.checkIfRestrictionEnforced(mContext,
+                UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT);
+        if (enforcedAdmin != null) {
+            mPreference.setDisabledByAdmin(enforcedAdmin);
+        } else {
+            mPreference.setEnabled(hasSufficientPermission(mPackageManager));
+        }
+        screen.addPreference(mPreference);
+    }
+
+    @VisibleForTesting
+    boolean isChecked() {
         return hasSufficientPermission(mContext.getPackageManager()) && Settings.Secure.getInt(
-                mContext.getContentResolver(), SYSTEM_KEY, DEFAULT_VALUE) != DEFAULT_VALUE;
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        Settings.Secure.putInt(mContext.getContentResolver(), SYSTEM_KEY,
-                isChecked ? 1 : DEFAULT_VALUE);
-        return true;
-    }
-
-    @Override
-    @AvailabilityStatus
-    public int getAvailabilityStatus() {
-        return isControllerAvailable(mContext);
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        return mContext.getText(isChecked()
-                ? R.string.adaptive_sleep_summary_on
-                : R.string.adaptive_sleep_summary_off);
+                mContext.getContentResolver(), Settings.Secure.ADAPTIVE_SLEEP, DEFAULT_VALUE)
+                != DEFAULT_VALUE;
     }
 
     public static int isControllerAvailable(Context context) {
@@ -89,4 +118,4 @@
         return attentionPackage != null && packageManager.checkPermission(
                 Manifest.permission.CAMERA, attentionPackage) == PackageManager.PERMISSION_GRANTED;
     }
-}
+}
\ No newline at end of file
diff --git a/src/com/android/settings/display/AdaptiveSleepSettings.java b/src/com/android/settings/display/AdaptiveSleepSettings.java
deleted file mode 100644
index 52ded6a..0000000
--- a/src/com/android/settings/display/AdaptiveSleepSettings.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.display;
-
-import static com.android.settings.homepage.contextualcards.slices.ContextualAdaptiveSleepSlice.PREF;
-import static com.android.settings.homepage.contextualcards.slices.ContextualAdaptiveSleepSlice.PREF_KEY_INTERACTED;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class AdaptiveSleepSettings extends DashboardFragment {
-
-    private static final String TAG = "AdaptiveSleepSettings";
-    private Context mContext;
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        mContext = getContext();
-        Preference permissionPreference = findPreference(
-                AdaptiveSleepPermissionPreferenceController.PREF_NAME);
-        if (permissionPreference != null) {
-            permissionPreference.setVisible(false);
-        }
-
-        mContext.getSharedPreferences(PREF, Context.MODE_PRIVATE)
-                .edit()
-                .putBoolean(PREF_KEY_INTERACTED, true)
-                .apply();
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.adaptive_sleep_detail;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SETTINGS_ADAPTIVE_SLEEP;
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_url_adaptive_sleep;
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.adaptive_sleep_detail);
-}
diff --git a/src/com/android/settings/display/ScreenTimeoutPreferenceController.java b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
new file mode 100644
index 0000000..2e39e8e
--- /dev/null
+++ b/src/com/android/settings/display/ScreenTimeoutPreferenceController.java
@@ -0,0 +1,81 @@
+/*
+ * 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.display;
+
+import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
+
+import static com.android.settings.display.ScreenTimeoutSettings.FALLBACK_SCREEN_TIMEOUT_VALUE;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+
+/**
+ * The controller of {@link ScreenTimeoutSettings}.
+ */
+public class ScreenTimeoutPreferenceController extends BasePreferenceController {
+    public static String PREF_NAME = "screen_timeout";
+
+    public ScreenTimeoutPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return isDisableByAdmin() ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (isDisableByAdmin()) {
+            return mContext.getString(com.android.settings.R.string.disabled_by_policy_title);
+        } else {
+            final long currentTimeout = getCurrentScreenTimeout();
+            final CharSequence[] timeoutEntries = mContext.getResources().getStringArray(
+                    R.array.screen_timeout_entries);
+            final CharSequence[] timeoutValues = mContext.getResources().getStringArray(
+                    R.array.screen_timeout_values);
+            final CharSequence description = TimeoutPreferenceController.getTimeoutDescription(
+                    currentTimeout, timeoutEntries, timeoutValues);
+            return mContext.getString(R.string.screen_timeout_summary, description);
+        }
+    }
+
+    private boolean isDisableByAdmin() {
+        final DevicePolicyManager dpm = mContext.getSystemService(DevicePolicyManager.class);
+        if (dpm != null) {
+            final RestrictedLockUtils.EnforcedAdmin admin =
+                    RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+                            mContext, UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT,
+                            UserHandle.myUserId());
+            return admin != null;
+        }
+        return false;
+    }
+
+    private long getCurrentScreenTimeout() {
+        return Settings.System.getLong(mContext.getContentResolver(),
+                SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE);
+    }
+}
diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java
new file mode 100644
index 0000000..35c2cc0
--- /dev/null
+++ b/src/com/android/settings/display/ScreenTimeoutSettings.java
@@ -0,0 +1,234 @@
+/*
+ * 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.display;
+
+import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
+
+import android.app.admin.DevicePolicyManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.actionbar.SearchMenuController;
+import com.android.settings.support.actionbar.HelpMenuController;
+import com.android.settings.support.actionbar.HelpResourceProvider;
+import com.android.settings.widget.RadioButtonPickerFragment;
+import com.android.settings.widget.RadioButtonPreferenceWithExtraWidget;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
+import com.android.settingslib.widget.CandidateInfo;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Fragment that is used to control screen timeout.
+ */
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
+        HelpResourceProvider {
+    private static final String TAG = "ScreenTimeout";
+    /** If there is no setting in the provider, use this. */
+    public static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000;
+
+    private CharSequence[] mInitialEntries;
+    private CharSequence[] mInitialValues;
+    private FooterPreference mPrivacyPreference;
+    private AdaptiveSleepPreferenceController mAdaptiveSleepController;
+    private AdaptiveSleepPermissionPreferenceController mAdaptiveSleepPermissionController;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        SearchMenuController.init(this /* host */);
+        HelpMenuController.init(this /* host */);
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mInitialEntries = getResources().getStringArray(R.array.screen_timeout_entries);
+        mInitialValues = getResources().getStringArray(R.array.screen_timeout_values);
+        mAdaptiveSleepController = new AdaptiveSleepPreferenceController(context);
+        mAdaptiveSleepPermissionController = new AdaptiveSleepPermissionPreferenceController(
+                context);
+        mPrivacyPreference = new FooterPreference(context);
+        mPrivacyPreference.setIcon(R.drawable.ic_privacy_shield_24dp);
+        mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
+        mPrivacyPreference.setSelectable(false);
+        mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
+    }
+
+    @Override
+    protected List<? extends CandidateInfo> getCandidates() {
+        final Context context = getContext();
+        final List<CandidateInfo> candidates = new ArrayList<>();
+        final long maxTimeout = getMaxScreenTimeout(context);
+        for (int i = 0; i < mInitialValues.length; ++i) {
+            if (Long.parseLong(mInitialValues[i].toString()) <= maxTimeout) {
+                candidates.add(
+                        new TimeoutCandidateInfo(mInitialEntries[i], mInitialValues[i].toString(),
+                                true));
+            }
+        }
+        return candidates;
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        mAdaptiveSleepPermissionController.updateVisibility();
+    }
+
+    @Override
+    public void updateCandidates() {
+        final String defaultKey = getDefaultKey();
+        final PreferenceScreen screen = getPreferenceScreen();
+        screen.removeAll();
+
+        final List<? extends CandidateInfo> candidateList = getCandidates();
+        if (candidateList == null) {
+            return;
+        }
+
+        for (CandidateInfo info : candidateList) {
+            RadioButtonPreferenceWithExtraWidget pref =
+                    new RadioButtonPreferenceWithExtraWidget(getPrefContext());
+            bindPreference(pref, info.getKey(), info, defaultKey);
+            screen.addPreference(pref);
+        }
+
+        mAdaptiveSleepPermissionController.addToScreen(screen);
+        mAdaptiveSleepController.addToScreen(screen);
+        screen.addPreference(mPrivacyPreference);
+    }
+
+    @Override
+    protected String getDefaultKey() {
+        return getCurrentSystemScreenTimeout(getContext());
+    }
+
+    @Override
+    protected boolean setDefaultKey(String key) {
+        setCurrentSystemScreenTimeout(getContext(), key);
+        return true;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SCREEN_TIMEOUT;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.screen_timeout_settings;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_adaptive_sleep;
+    }
+
+    private Long getMaxScreenTimeout(Context context) {
+        final DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
+        if (dpm == null) {
+            return Long.MAX_VALUE;
+        }
+
+        final RestrictedLockUtils.EnforcedAdmin admin =
+                RestrictedLockUtilsInternal.checkIfMaximumTimeToLockIsSet(context);
+        if (admin != null) {
+            return dpm.getMaximumTimeToLock(null /* admin */, UserHandle.myUserId());
+        }
+        return Long.MAX_VALUE;
+    }
+
+    private String getCurrentSystemScreenTimeout(Context context) {
+        if (context == null) {
+            return Long.toString(FALLBACK_SCREEN_TIMEOUT_VALUE);
+        } else {
+            return Long.toString(Settings.System.getLong(context.getContentResolver(),
+                    SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE));
+        }
+    }
+
+    private void setCurrentSystemScreenTimeout(Context context, String key) {
+        try {
+            if (context != null) {
+                final long value = Long.parseLong(key);
+                Settings.System.putLong(context.getContentResolver(), SCREEN_OFF_TIMEOUT, value);
+            }
+        } catch (NumberFormatException e) {
+            Log.e(TAG, "could not persist screen timeout setting", e);
+        }
+    }
+
+    private static class TimeoutCandidateInfo extends CandidateInfo {
+        private final CharSequence mLabel;
+        private final String mKey;
+
+        TimeoutCandidateInfo(CharSequence label, String key, boolean enabled) {
+            super(enabled);
+            mLabel = label;
+            mKey = key;
+        }
+
+        @Override
+        public CharSequence loadLabel() {
+            return mLabel;
+        }
+
+        @Override
+        public Drawable loadIcon() {
+            return null;
+        }
+
+        @Override
+        public String getKey() {
+            return mKey;
+        }
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.screen_timeout_settings) {
+                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+                        boolean enabled) {
+                    final Resources res = context.getResources();
+                    final SearchIndexableRaw data = new SearchIndexableRaw(context);
+                    data.title = res.getString(R.string.adaptive_sleep_title);
+                    data.key = AdaptiveSleepPreferenceController.PREFERENCE_KEY;
+                    data.screenTitle = res.getString(R.string.screen_timeout_title);
+                    data.keywords = res.getString(R.string.adaptive_sleep_title);
+
+                    final List<SearchIndexableRaw> result = new ArrayList<>(1);
+                    result.add(data);
+                    return result;
+                }
+            };
+}
diff --git a/src/com/android/settings/gestures/PanicGesturePreferenceController.java b/src/com/android/settings/gestures/PanicGesturePreferenceController.java
index 947cbb9..42d3e41 100644
--- a/src/com/android/settings/gestures/PanicGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/PanicGesturePreferenceController.java
@@ -17,10 +17,16 @@
 package com.android.settings.gestures;
 
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
 
 import com.android.settings.R;
 
@@ -28,11 +34,19 @@
  * Preference controller for emergency sos gesture setting
  */
 public class PanicGesturePreferenceController extends GesturePreferenceController {
+    private static final String TAG = "PanicGesturePreferenceC";
 
     @VisibleForTesting
     static final int ON = 1;
     @VisibleForTesting
     static final int OFF = 0;
+    @VisibleForTesting
+    static final String ACTION_PANIC_SETTINGS =
+            "com.android.settings.action.panic_settings";
+    @VisibleForTesting
+    Intent mIntent;
+
+    private boolean mUseCustomIntent;
 
     private static final String PREF_KEY_VIDEO = "panic_button_screen_video";
 
@@ -40,16 +54,38 @@
 
     public PanicGesturePreferenceController(Context context, String key) {
         super(context, key);
+        final String panicSettingsPackageName = context.getResources().getString(
+                R.string.panic_gesture_settings_package);
+        if (!TextUtils.isEmpty(panicSettingsPackageName)) {
+            mUseCustomIntent = true;
+            // Use custom intent if it's configured and system can resolve it.
+            final Intent intent = new Intent(ACTION_PANIC_SETTINGS)
+                    .setPackage(panicSettingsPackageName);
+            if (canResolveIntent(intent)) {
+                mIntent = intent;
+            }
+        }
     }
 
-    private static boolean isGestureAvailable(Context context) {
-        return context.getResources()
-                .getBoolean(R.bool.config_show_panic_gesture_settings);
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (TextUtils.equals(getPreferenceKey(), preference.getKey()) && mIntent != null) {
+            mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+            mContext.startActivity(mIntent);
+            return true;
+        }
+        return super.handlePreferenceTreeClick(preference);
     }
 
     @Override
     public int getAvailabilityStatus() {
-        return isGestureAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+        final boolean isConfigEnabled = mContext.getResources()
+                .getBoolean(R.bool.config_show_panic_gesture_settings);
+
+        if (!isConfigEnabled) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+        return AVAILABLE;
     }
 
     @Override
@@ -58,6 +94,32 @@
     }
 
     @Override
+    protected boolean canHandleClicks() {
+        return !mUseCustomIntent || mIntent != null;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (mUseCustomIntent) {
+            final String packageName = mContext.getResources().getString(
+                    R.string.panic_gesture_settings_package);
+            try {
+                final PackageManager pm = mContext.getPackageManager();
+                final ApplicationInfo appInfo = pm.getApplicationInfo(
+                        packageName, PackageManager.MATCH_DISABLED_COMPONENTS
+                                | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS);
+                return mContext.getString(R.string.panic_gesture_entrypoint_summary,
+                        appInfo.loadLabel(pm));
+            } catch (Exception e) {
+                Log.d(TAG, "Failed to get custom summary, falling back.");
+                return super.getSummary();
+            }
+        }
+
+        return super.getSummary();
+    }
+
+    @Override
     protected String getVideoPrefKey() {
         return PREF_KEY_VIDEO;
     }
@@ -72,4 +134,17 @@
         return Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY,
                 isChecked ? ON : OFF);
     }
+
+    /**
+     * Whether or not gesture page content should be suppressed from search.
+     */
+    public boolean shouldSuppressFromSearch() {
+        return mUseCustomIntent;
+    }
+
+    private boolean canResolveIntent(Intent intent) {
+        final ResolveInfo resolveActivity = mContext.getPackageManager()
+                .resolveActivity(intent, 0);
+        return resolveActivity != null;
+    }
 }
diff --git a/src/com/android/settings/gestures/PanicGestureSettings.java b/src/com/android/settings/gestures/PanicGestureSettings.java
index c296047..e7f1221 100644
--- a/src/com/android/settings/gestures/PanicGestureSettings.java
+++ b/src/com/android/settings/gestures/PanicGestureSettings.java
@@ -17,6 +17,7 @@
 package com.android.settings.gestures;
 
 import android.app.settings.SettingsEnums;
+import android.content.Context;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -47,5 +48,14 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.panic_gesture_settings);
+            new BaseSearchIndexProvider(R.xml.panic_gesture_settings) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    final PanicGesturePreferenceController controller =
+                            new PanicGesturePreferenceController(context,
+                                    "dummy_panic_gesture_pref_key");
+                    return !controller.isAvailable()
+                            || controller.shouldSuppressFromSearch();
+                }
+            };
 }
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index a842643..237318f 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -20,6 +20,7 @@
 import android.app.ActivityManager;
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
+import android.util.FeatureFlagUtils;
 import android.view.View;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
@@ -33,6 +34,7 @@
 
 import com.android.settings.R;
 import com.android.settings.accounts.AvatarViewMixin;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.HideNonSystemOverlayMixin;
 import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
 import com.android.settings.overlay.FeatureFactory;
@@ -58,7 +60,8 @@
         getLifecycle().addObserver(new AvatarViewMixin(this, avatarView));
         getLifecycle().addObserver(new HideNonSystemOverlayMixin(this));
 
-        if (!getSystemService(ActivityManager.class).isLowRamDevice()) {
+        if (FeatureFlagUtils.isEnabled(this, FeatureFlags.CONTEXTUAL_HOME)
+                && !getSystemService(ActivityManager.class).isLowRamDevice()) {
             // Only allow contextual feature on high ram devices.
             showFragment(new ContextualCardsFragment(), R.id.contextual_cards_content);
         }
diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java
index 8a7f4bd..47a46f2 100644
--- a/src/com/android/settings/homepage/TopLevelSettings.java
+++ b/src/com/android/settings/homepage/TopLevelSettings.java
@@ -22,12 +22,15 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
+import android.util.FeatureFlagUtils;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceFragmentCompat;
 
 import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
@@ -35,6 +38,9 @@
 import com.android.settingslib.core.instrumentation.Instrumentable;
 import com.android.settingslib.search.SearchIndexable;
 
+import java.util.Arrays;
+import java.util.List;
+
 @SearchIndexable(forTarget = MOBILE)
 public class TopLevelSettings extends DashboardFragment implements
         PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
@@ -50,6 +56,9 @@
 
     @Override
     protected int getPreferenceScreenResId() {
+        if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.SILKY_HOME)) {
+            return R.xml.top_level_settings_grouped;
+        }
         return R.xml.top_level_settings;
     }
 
@@ -100,7 +109,16 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.top_level_settings) {
+            new BaseSearchIndexProvider() {
+
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(
+                        Context context, boolean enabled) {
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = FeatureFlagUtils.isEnabled(context, FeatureFlags.SILKY_HOME)
+                            ? R.xml.top_level_settings_grouped : R.xml.top_level_settings;
+                    return Arrays.asList(sir);
+                }
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
diff --git a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
index d99d01e..6a5b300 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
@@ -163,7 +163,8 @@
 
     private PendingIntent getPrimaryAction() {
         final Intent intent = getIntent();
-        return PendingIntent.getActivity(mContext, 0  /* requestCode */, intent, 0  /* flags */);
+        return PendingIntent.getActivity(mContext, 0  /* requestCode */, intent,
+                PendingIntent.FLAG_IMMUTABLE);
     }
 
     private Slice buildBatteryGoodSlice(ListBuilder sliceBuilder, boolean isError) {
diff --git a/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java b/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
index 4068d7c..a6170d8 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
@@ -17,8 +17,8 @@
 package com.android.settings.homepage.contextualcards.slices;
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
-import static com.android.settings.display.AdaptiveSleepPreferenceController.PREF_NAME;
 import static com.android.settings.display.AdaptiveSleepPreferenceController.isControllerAvailable;
+import static com.android.settings.display.ScreenTimeoutPreferenceController.PREF_NAME;
 import static com.android.settings.slices.CustomSliceRegistry.CONTEXTUAL_ADAPTIVE_SLEEP_URI;
 
 import android.app.PendingIntent;
@@ -35,7 +35,7 @@
 
 import com.android.settings.R;
 import com.android.settings.SubSettings;
-import com.android.settings.display.AdaptiveSleepSettings;
+import com.android.settings.display.ScreenTimeoutSettings;
 import com.android.settings.slices.CustomSliceable;
 import com.android.settings.slices.SliceBuilderUtils;
 
@@ -115,7 +115,7 @@
         final CharSequence screenTitle = mContext.getText(R.string.adaptive_sleep_title);
         final Uri contentUri = new Uri.Builder().appendPath(PREF_NAME).build();
         return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
-                AdaptiveSleepSettings.class.getName(), PREF_NAME, screenTitle.toString(),
+                ScreenTimeoutSettings.class.getName(), PREF_NAME, screenTitle.toString(),
                 SettingsEnums.SLICE).setClassName(mContext.getPackageName(),
                 SubSettings.class.getName()).setData(contentUri);
     }
diff --git a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
index 2bc09e9..576b435 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
@@ -116,8 +116,8 @@
 
     private RowBuilder buildRowBuilder(CharSequence title, String summary, IconCompat icon) {
         final SliceAction primarySliceAction = SliceAction.createDeeplink(
-                PendingIntent.getActivity(mContext, 0, getIntent(), 0), icon,
-                ListBuilder.ICON_IMAGE, title);
+                PendingIntent.getActivity(mContext, 0, getIntent(), PendingIntent.FLAG_IMMUTABLE),
+                icon, ListBuilder.ICON_IMAGE, title);
 
         return new RowBuilder()
                 .setTitleItem(icon, ListBuilder.ICON_IMAGE)
diff --git a/src/com/android/settings/location/LocationSlice.java b/src/com/android/settings/location/LocationSlice.java
index 2759690..f8add12 100644
--- a/src/com/android/settings/location/LocationSlice.java
+++ b/src/com/android/settings/location/LocationSlice.java
@@ -96,6 +96,6 @@
     private PendingIntent getPrimaryAction() {
         final Intent intent = getIntent();
         return PendingIntent.getActivity(mContext, 0 /* requestCode */,
-                intent, 0 /* flags */);
+                intent, PendingIntent.FLAG_IMMUTABLE);
     }
 }
diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
index 1288cf5..b8c3d8f 100644
--- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java
+++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
@@ -30,6 +30,7 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.text.TextUtils;
+import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -51,6 +52,9 @@
 public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
         implements LocalMediaManager.DeviceCallback {
 
+    private static final String TAG = "MediaDeviceUpdateWorker";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
     protected final Context mContext;
     protected final Collection<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>();
     private final DevicesChangedBroadcastReceiver mReceiver;
@@ -213,6 +217,10 @@
         final List<RoutingSessionInfo> sessionInfos = new ArrayList<>();
         for (RoutingSessionInfo info : mLocalMediaManager.getActiveMediaSession()) {
             if (!info.isSystemSession()) {
+                if (DEBUG) {
+                    Log.d(TAG, "getActiveRemoteMediaDevice() info : " + info.toString()
+                            + ", package name : " + info.getClientPackageName());
+                }
                 sessionInfos.add(info);
             }
         }
@@ -247,6 +255,10 @@
 
     }
 
+    boolean shouldDisableMediaOutput(String packageName) {
+        return mLocalMediaManager.shouldDisableMediaOutput(packageName);
+    }
+
     private class DevicesChangedBroadcastReceiver extends BroadcastReceiver {
         @Override
         public void onReceive(Context context, Intent intent) {
diff --git a/src/com/android/settings/media/MediaOutputIndicatorSlice.java b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
index 305c7df..40ee05b 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -16,18 +16,15 @@
 
 package com.android.settings.media;
 
-import static android.app.PendingIntent.FLAG_UPDATE_CURRENT;
-
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
 
 import android.annotation.ColorInt;
-import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.media.session.MediaController;
 import android.net.Uri;
-import android.text.TextUtils;
+import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.drawable.IconCompat;
@@ -63,14 +60,9 @@
                 com.android.internal.R.drawable.ic_settings_bluetooth);
         final CharSequence title = mContext.getString(R.string.media_output_label_title,
                 Utils.getApplicationLabel(mContext, getWorker().getPackageName()));
-        final int requestCode = TextUtils.isEmpty(getWorker().getPackageName())
-                ? 0
-                : getWorker().getPackageName().hashCode();
-        final PendingIntent primaryActionIntent = PendingIntent.getActivity(mContext,
-                requestCode,
-                getMediaOutputSliceIntent(), FLAG_UPDATE_CURRENT);
-        final SliceAction primarySliceAction = SliceAction.createDeeplink(
-                primaryActionIntent, icon, ListBuilder.ICON_IMAGE, title);
+        final SliceAction primarySliceAction = SliceAction.create(
+                getBroadcastIntent(mContext), icon, ListBuilder.ICON_IMAGE, title);
+
         @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
         // To set an empty icon to indent the row
         final ListBuilder listBuilder = new ListBuilder(mContext, getUri(), ListBuilder.INFINITY)
@@ -83,22 +75,6 @@
         return listBuilder.build();
     }
 
-    @VisibleForTesting
-    Intent getMediaOutputSliceIntent() {
-        final MediaController mediaController = getWorker().getActiveLocalMediaController();
-        final Intent intent = new Intent()
-                .setPackage(Utils.SETTINGS_PACKAGE_NAME)
-                .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        if (mediaController != null) {
-            intent.putExtra(MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN,
-                    mediaController.getSessionToken());
-            intent.putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
-                    mediaController.getPackageName());
-        }
-        return intent;
-    }
-
     private IconCompat createEmptyIcon() {
         final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
         return IconCompat.createWithBitmap(bitmap);
@@ -141,4 +117,26 @@
                 && getWorker().getMediaDevices().size() > 0
                 && getWorker().getActiveLocalMediaController() != null;
     }
+
+    @Override
+    public void onNotifyChange(Intent intent) {
+        final MediaController mediaController = getWorker().getActiveLocalMediaController();
+
+        if (mediaController == null) {
+            Log.d(TAG, "No active local media controller");
+            return;
+        }
+        // Launch media output dialog
+        mContext.sendBroadcast(new Intent()
+                .setPackage(MediaOutputSliceConstants.SYSTEMUI_PACKAGE_NAME)
+                .setAction(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
+                .putExtra(MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN,
+                        mediaController.getSessionToken())
+                .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
+                        mediaController.getPackageName()));
+        // Dismiss volume panel
+        mContext.sendBroadcast(new Intent()
+                .setPackage(MediaOutputSliceConstants.SETTINGS_PACKAGE_NAME)
+                .setAction(MediaOutputSliceConstants.ACTION_CLOSE_PANEL));
+    }
 }
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index f094d47..ef3a7bc 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -25,7 +25,6 @@
 import android.media.AudioManager;
 import android.media.session.MediaController;
 import android.media.session.MediaSessionManager;
-import android.media.session.PlaybackState;
 import android.net.Uri;
 import android.text.TextUtils;
 import android.util.Log;
@@ -53,6 +52,7 @@
         LocalMediaManager.DeviceCallback {
 
     private static final String TAG = "MediaOutputIndWorker";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
     private final DevicesChangedBroadcastReceiver mReceiver;
     private final Context mContext;
@@ -127,24 +127,8 @@
 
     @Nullable
     MediaController getActiveLocalMediaController() {
-        final MediaSessionManager mMediaSessionManager = mContext.getSystemService(
-                MediaSessionManager.class);
-
-        for (MediaController controller : mMediaSessionManager.getActiveSessions(null)) {
-            final MediaController.PlaybackInfo pi = controller.getPlaybackInfo();
-            if (pi == null) {
-                return null;
-            }
-            final PlaybackState playbackState = controller.getPlaybackState();
-            if (playbackState == null) {
-                return null;
-            }
-            if (pi.getPlaybackType() == MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL
-                    && playbackState.getState() == PlaybackState.STATE_PLAYING) {
-                return controller;
-            }
-        }
-        return null;
+        return MediaOutputUtils.getActiveLocalMediaController(mContext.getSystemService(
+                MediaSessionManager.class));
     }
 
     @Override
diff --git a/src/com/android/settings/media/MediaOutputUtils.java b/src/com/android/settings/media/MediaOutputUtils.java
new file mode 100644
index 0000000..977c517
--- /dev/null
+++ b/src/com/android/settings/media/MediaOutputUtils.java
@@ -0,0 +1,90 @@
+/*
+ * 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.media;
+
+import android.media.session.MediaController;
+import android.media.session.MediaSessionManager;
+import android.media.session.PlaybackState;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.sound.MediaOutputPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Utilities that can be shared between {@link MediaOutputIndicatorWorker} and
+ * {@link MediaOutputPreferenceController}.
+ */
+public class MediaOutputUtils {
+
+    private static final String TAG = "MediaOutputUtils";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    /**
+     *  Returns a {@link MediaController} that state is playing and type is local playback,
+     *  and also have active sessions.
+     */
+    @Nullable
+    public static MediaController getActiveLocalMediaController(
+            MediaSessionManager mediaSessionManager) {
+
+        MediaController localController = null;
+        final List<String> remoteMediaSessionLists = new ArrayList<>();
+        for (MediaController controller : mediaSessionManager.getActiveSessions(null)) {
+            final MediaController.PlaybackInfo pi = controller.getPlaybackInfo();
+            if (pi == null) {
+                // do nothing
+                continue;
+            }
+            final PlaybackState playbackState = controller.getPlaybackState();
+            if (playbackState == null) {
+                // do nothing
+                continue;
+            }
+            if (DEBUG) {
+                Log.d(TAG, "getActiveLocalMediaController() package name : "
+                        + controller.getPackageName()
+                        + ", play back type : " + pi.getPlaybackType() + ", play back state : "
+                        + playbackState.getState());
+            }
+            if (playbackState.getState() != PlaybackState.STATE_PLAYING) {
+                // do nothing
+                continue;
+            }
+            if (pi.getPlaybackType() == MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE) {
+                if (localController != null && TextUtils.equals(localController.getPackageName(),
+                        controller.getPackageName())) {
+                    localController = null;
+                }
+                if (!remoteMediaSessionLists.contains(controller.getPackageName())) {
+                    remoteMediaSessionLists.add(controller.getPackageName());
+                }
+                continue;
+            }
+            if (pi.getPlaybackType() == MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL) {
+                if (localController == null
+                        && !remoteMediaSessionLists.contains(controller.getPackageName())) {
+                    localController = controller;
+                }
+            }
+        }
+        return localController;
+    }
+}
diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java
index 4198269..debc0ec 100644
--- a/src/com/android/settings/media/RemoteMediaSlice.java
+++ b/src/com/android/settings/media/RemoteMediaSlice.java
@@ -59,6 +59,9 @@
 
     private static final String TAG = "RemoteMediaSlice";
     private static final String MEDIA_ID = "media_id";
+    private static final String ACTION_LAUNCH_DIALOG = "action_launch_dialog";
+    private static final String SESSION_INFO = "RoutingSessionInfo";
+    private static final String CUSTOMIZED_ACTION = "customized_action";
 
     private final Context mContext;
 
@@ -77,6 +80,20 @@
         final String id = intent.getStringExtra(MEDIA_ID);
         if (!TextUtils.isEmpty(id)) {
             getWorker().adjustSessionVolume(id, newPosition);
+            return;
+        }
+        if (TextUtils.equals(ACTION_LAUNCH_DIALOG, intent.getStringExtra(CUSTOMIZED_ACTION))) {
+            // Launch Media Output Dialog
+            final RoutingSessionInfo info = intent.getParcelableExtra(SESSION_INFO);
+            mContext.sendBroadcast(new Intent()
+                    .setPackage(MediaOutputSliceConstants.SYSTEMUI_PACKAGE_NAME)
+                    .setAction(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
+                    .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
+                            info.getClientPackageName()));
+            // Dismiss volume panel
+            mContext.sendBroadcast(new Intent()
+                    .setPackage(MediaOutputSliceConstants.SETTINGS_PACKAGE_NAME)
+                    .setAction(MediaOutputSliceConstants.ACTION_CLOSE_PANEL));
         }
     }
 
@@ -122,7 +139,7 @@
                     .setValue(info.getVolume()));
 
             final boolean isMediaOutputDisabled =
-                    Utils.isMediaOutputDisabled(mRouterManager, info.getClientPackageName());
+                    getWorker().shouldDisableMediaOutput(info.getClientPackageName());
             final SpannableString spannableTitle = new SpannableString(
                     TextUtils.isEmpty(appName) ? "" : appName);
             spannableTitle.setSpan(new ForegroundColorSpan(
@@ -133,8 +150,7 @@
                     .setTitle(isMediaOutputDisabled ? spannableTitle : outputTitle)
                     .setSubtitle(info.getName())
                     .setTitleItem(emptyIcon, ListBuilder.ICON_IMAGE)
-                    .setPrimaryAction(getMediaOutputSliceAction(
-                            info.getClientPackageName(), isMediaOutputDisabled)));
+                    .setPrimaryAction(getMediaOutputDialogAction(info, isMediaOutputDisabled)));
         }
         return listBuilder.build();
     }
@@ -167,23 +183,22 @@
         return primarySliceAction;
     }
 
-    private SliceAction getMediaOutputSliceAction(
-            String packageName, boolean isMediaOutputDisabled) {
-        final Intent intent = new Intent()
-                .setAction(isMediaOutputDisabled
-                        ? ""
-                        : MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
-                .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME, packageName);
-        final IconCompat icon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_volume_remote);
-        final int requestCode = TextUtils.isEmpty(packageName) ? 0 : packageName.hashCode();
-        final PendingIntent primaryActionIntent = PendingIntent.getActivity(mContext,
-                requestCode, intent, 0 /* flags */);
+    private SliceAction getMediaOutputDialogAction(RoutingSessionInfo info,
+            boolean isMediaOutputDisabled) {
+        final Intent intent = new Intent(getUri().toString())
+                .setData(getUri())
+                .setClass(mContext, SliceBroadcastReceiver.class)
+                .putExtra(CUSTOMIZED_ACTION, isMediaOutputDisabled ? "" : ACTION_LAUNCH_DIALOG)
+                .putExtra(SESSION_INFO, info)
+                .addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
+        final PendingIntent primaryBroadcastIntent = PendingIntent.getBroadcast(mContext,
+                info.hashCode(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
         final SliceAction primarySliceAction = SliceAction.createDeeplink(
-                primaryActionIntent, icon, ListBuilder.ICON_IMAGE,
+                primaryBroadcastIntent,
+                IconCompat.createWithResource(mContext, R.drawable.ic_volume_remote),
+                ListBuilder.ICON_IMAGE,
                 mContext.getString(R.string.media_output_label_title,
-                        Utils.getApplicationLabel(mContext, packageName)));
+                        Utils.getApplicationLabel(mContext, info.getClientPackageName())));
         return primarySliceAction;
     }
 
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index ac21e12..e2c8997 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -31,12 +31,15 @@
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.settings.network.telephony.DeleteEuiccSubscriptionDialogActivity;
 import com.android.settings.network.telephony.ToggleSubscriptionDialogActivity;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 public class SubscriptionUtil {
     private static final String TAG = "SubscriptionUtil";
@@ -287,6 +290,11 @@
         context.startActivity(ToggleSubscriptionDialogActivity.getIntent(context, subId, enable));
     }
 
+    /** Starts a dialog activity to handle eSIM deletion. */
+    public static void startDeleteEuiccSubscriptionDialogActivity(Context context, int subId) {
+        context.startActivity(DeleteEuiccSubscriptionDialogActivity.getIntent(context, subId));
+    }
+
     /**
      * Finds and returns a subscription with a specific subscription ID.
      * @param subscriptionManager The ProxySubscriptionManager for accessing subscription
@@ -332,4 +340,33 @@
                 || subscriptionManager.canManageSubscription(info);
         return hasCarrierPrivilegePermission;
     }
+
+    /**
+     * Finds all the available subscriptions having the same group uuid as {@code subscriptionInfo}.
+     * @param subscriptionManager The SubscriptionManager for accessing subscription information
+     * @param subId The id of subscription
+     * @return a list of {@code SubscriptionInfo} which have the same group UUID.
+     */
+    public static List<SubscriptionInfo> findAllSubscriptionsInGroup(
+            SubscriptionManager subscriptionManager, int subId) {
+
+        SubscriptionInfo subscription = getSubById(subscriptionManager, subId);
+        if (subscription == null) {
+            return Collections.emptyList();
+        }
+        ParcelUuid groupUuid = subscription.getGroupUuid();
+        List<SubscriptionInfo> availableSubscriptions =
+                subscriptionManager.getAvailableSubscriptionInfoList();
+
+        if (availableSubscriptions == null
+                || availableSubscriptions.isEmpty()
+                || groupUuid == null) {
+            return Collections.singletonList(subscription);
+        }
+
+        return availableSubscriptions
+                .stream()
+                .filter(sub -> sub.isEmbedded() && groupUuid.equals(sub.getGroupUuid()))
+                .collect(Collectors.toList());
+    }
 }
diff --git a/src/com/android/settings/network/telephony/AlertDialogFragment.java b/src/com/android/settings/network/telephony/AlertDialogFragment.java
new file mode 100644
index 0000000..5940789
--- /dev/null
+++ b/src/com/android/settings/network/telephony/AlertDialogFragment.java
@@ -0,0 +1,68 @@
+/*
+ * 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.network.telephony;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.text.TextUtils;
+
+/** Fragment to show an alert dialog which only has the positive button. */
+public class AlertDialogFragment extends BaseDialogFragment
+        implements DialogInterface.OnClickListener {
+    private static final String TAG = "AlertDialogFragment";
+
+    // Arguments
+    private static final String ARG_TITLE = "title";
+    private static final String ARG_MSG = "msg";
+
+    /**
+     * @param activity
+     * @param title
+     * @param msg
+     */
+    public static void show(Activity activity, String title, String msg) {
+        AlertDialogFragment fragment = new AlertDialogFragment();
+        Bundle arguments = new Bundle();
+        arguments.putString(ARG_TITLE, title);
+        arguments.putString(ARG_MSG, msg);
+        fragment.setArguments(arguments);
+        fragment.show(activity.getFragmentManager(), TAG);
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        AlertDialog.Builder builder =
+                new AlertDialog.Builder(getContext())
+                        .setTitle(getArguments().getString(ARG_TITLE))
+                        .setPositiveButton(android.R.string.ok, this);
+        if (!TextUtils.isEmpty(getArguments().getString(ARG_MSG))) {
+            builder.setMessage(getArguments().getString(ARG_MSG));
+        }
+        return builder.show();
+    }
+
+    @Override
+    public void onClick(DialogInterface dialog, int which) {
+        if (getActivity() != null) {
+            getActivity().finish();
+        }
+        super.dismiss();
+    }
+}
diff --git a/src/com/android/settings/network/telephony/BaseDialogFragment.java b/src/com/android/settings/network/telephony/BaseDialogFragment.java
new file mode 100644
index 0000000..7da3259
--- /dev/null
+++ b/src/com/android/settings/network/telephony/BaseDialogFragment.java
@@ -0,0 +1,102 @@
+/*
+ * 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.network.telephony;
+
+import android.app.Activity;
+import android.app.DialogFragment;
+import android.app.Fragment;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+/**
+ * Base dialog fragment class with the functionality to make a fragment or an activity as a listener
+ * which can survive through the activity restarts.
+ */
+public abstract class BaseDialogFragment extends DialogFragment {
+    // Tags for the listener which receives event callbacks.
+    private static final String ARG_LISTENER_TAG = "listener_tag";
+    private static final String ARG_IN_CALLER_TAG = "in_caller_tag";
+
+    /**
+     * @param activity The caller activity or the activity attached with the fragment.
+     * @param listener The original caller, that is, the listener. The listener can be the fragment
+     *     to receive event callbacks. If it is null, will use the activity to handle the event
+     *     callback instead.
+     * @param callbackInterfaceClass The interface that the listener should implements.
+     * @param arguments The arguments bundle of the dispatcher fragment used to store the listener's
+     *     info.
+     * @param tagInCaller An integer given by the listener to distinguish the action when calling
+     *     the listener's callback function.
+     */
+    protected static <T> void setListener(
+            Activity activity,
+            @Nullable Fragment listener,
+            Class<T> callbackInterfaceClass,
+            int tagInCaller,
+            Bundle arguments) {
+        checkValidity(activity, listener, callbackInterfaceClass);
+
+        if (listener != null && listener.getParentFragment() != null) {
+            throw new IllegalArgumentException("The listener must be attached to an activity.");
+        }
+        arguments.putInt(ARG_IN_CALLER_TAG, tagInCaller);
+        if (listener != null) {
+            arguments.putString(ARG_LISTENER_TAG, listener.getTag());
+        }
+    }
+
+    /**
+     * @param callbackInterfaceClass The interface that the listener should implements.
+     * @param <T> Template type.
+     * @return The listener class.
+     */
+    @SuppressWarnings("unchecked")
+    protected <T> T getListener(Class<T> callbackInterfaceClass) {
+        Object listener;
+        String listenerTag = getArguments().getString(ARG_LISTENER_TAG);
+        if (listenerTag == null) {
+            listener = getActivity();
+        } else {
+            listener = getActivity().getFragmentManager().findFragmentByTag(listenerTag);
+        }
+        if (callbackInterfaceClass.isInstance(listener)) {
+            return (T) listener;
+        }
+        throw new IllegalArgumentException("The caller should implement the callback function.");
+    }
+
+    /** @return The tag set in the listener. */
+    protected int getTagInCaller() {
+        return getArguments().getInt(ARG_IN_CALLER_TAG);
+    }
+
+    private static <T> void checkValidity(
+            Activity activity, @Nullable Fragment listener, Class<T> callbackInterfaceClass) {
+        if (listener != null) {
+            if (!callbackInterfaceClass.isInstance(listener)) {
+                throw new IllegalArgumentException(
+                        "The listener fragment should implement the callback function.");
+            }
+        } else {
+            if (!callbackInterfaceClass.isInstance(activity)) {
+                throw new IllegalArgumentException(
+                        "The caller activity should implement the callback function.");
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/ConfirmDialogFragment.java b/src/com/android/settings/network/telephony/ConfirmDialogFragment.java
new file mode 100644
index 0000000..1ba99c5
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ConfirmDialogFragment.java
@@ -0,0 +1,107 @@
+/*
+ * 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.network.telephony;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
+
+/** Fragment to show a confirm dialog. The caller should implement onConfirmListener. */
+public class ConfirmDialogFragment extends BaseDialogFragment
+        implements DialogInterface.OnClickListener {
+    private static final String TAG = "ConfirmDialogFragment";
+    private static final String ARG_TITLE = "title";
+    private static final String ARG_MSG = "msg";
+    private static final String ARG_POS_BUTTON_STRING = "pos_button_string";
+    private static final String ARG_NEG_BUTTON_STRING = "neg_button_string";
+
+    /**
+     * Interface defining the method that will be invoked when the user has done with the dialog.
+     */
+    public interface OnConfirmListener {
+        /**
+         * @param tag The tag in the caller.
+         * @param confirmed True if the user has clicked the positive button. False if the user has
+         *     clicked the negative button or cancel the dialog.
+         */
+        void onConfirm(int tag, boolean confirmed);
+    }
+
+    /** Displays a confirmation dialog which has confirm and cancel buttons. */
+    public static <T> void show(
+            Activity activity,
+            Class<T> callbackInterfaceClass,
+            int tagInCaller,
+            String title,
+            String msg,
+            String posButtonString,
+            String negButtonString) {
+        ConfirmDialogFragment fragment = new ConfirmDialogFragment();
+        Bundle arguments = new Bundle();
+        arguments.putString(ARG_TITLE, title);
+        arguments.putCharSequence(ARG_MSG, msg);
+        arguments.putString(ARG_POS_BUTTON_STRING, posButtonString);
+        arguments.putString(ARG_NEG_BUTTON_STRING, negButtonString);
+        setListener(activity, null, callbackInterfaceClass, tagInCaller, arguments);
+        fragment.setArguments(arguments);
+        fragment.show(activity.getFragmentManager(), TAG);
+    }
+
+    @Override
+    public final Dialog onCreateDialog(Bundle savedInstanceState) {
+        String title = getArguments().getString(ARG_TITLE);
+        String message = getArguments().getString(ARG_MSG);
+        String posBtnString = getArguments().getString(ARG_POS_BUTTON_STRING);
+        String negBtnString = getArguments().getString(ARG_NEG_BUTTON_STRING);
+
+        Log.i("Showing dialog with title = %s", title);
+        AlertDialog.Builder builder =
+                new AlertDialog.Builder(getContext())
+                        .setTitle(title)
+                        .setPositiveButton(posBtnString, this)
+                        .setNegativeButton(negBtnString, this);
+
+        if (!TextUtils.isEmpty(message)) {
+            builder.setMessage(message);
+        }
+        AlertDialog dialog = builder.show();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+
+    @Override
+    public void onClick(DialogInterface dialog, int which) {
+        informCaller(which == DialogInterface.BUTTON_POSITIVE);
+    }
+
+    @Override
+    public void onCancel(DialogInterface dialog) {
+        informCaller(false);
+    }
+
+    private void informCaller(boolean confirmed) {
+        OnConfirmListener listener = getListener(OnConfirmListener.class);
+        if (listener == null) {
+            return;
+        }
+        listener.onConfirm(getTagInCaller(), confirmed);
+    }
+}
diff --git a/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java b/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java
index 625f863..1cd0e8e 100644
--- a/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java
+++ b/src/com/android/settings/network/telephony/DataDuringCallsPreferenceController.java
@@ -90,12 +90,15 @@
 
     @Override
     public boolean isChecked() {
-        return mManager.isDataAllowedInVoiceCall();
+        return mManager.isMobileDataPolicyEnabled(
+                TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL);
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        mManager.setDataAllowedDuringVoiceCall(isChecked);
+        mManager.setMobileDataPolicyEnabledStatus(
+                TelephonyManager.MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL,
+                isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 1d82f65..5fcedba 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -83,6 +83,10 @@
     /** Called to change the default subscription for the service. */
     protected abstract void setDefaultSubscription(int subscriptionId);
 
+    protected boolean isAskEverytimeSupported() {
+        return true;
+    }
+
     @Override
     public int getAvailabilityStatus(int subId) {
         final List<SubscriptionInfo> subs = SubscriptionUtil.getActiveSubscriptions(mManager);
@@ -123,7 +127,11 @@
             // display subscription based account
             return info.getDisplayName();
         } else {
-            return mContext.getString(R.string.calls_and_sms_ask_every_time);
+            if (isAskEverytimeSupported()) {
+                return mContext.getString(R.string.calls_and_sms_ask_every_time);
+            } else {
+                return "";
+            }
         }
     }
 
@@ -163,9 +171,12 @@
                 subIsAvailable = true;
             }
         }
-        // Add the extra "Ask every time" value at the end.
-        displayNames.add(mContext.getString(R.string.calls_and_sms_ask_every_time));
-        subscriptionIds.add(Integer.toString(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
+
+        if (isAskEverytimeSupported()) {
+            // Add the extra "Ask every time" value at the end.
+            displayNames.add(mContext.getString(R.string.calls_and_sms_ask_every_time));
+            subscriptionIds.add(Integer.toString(SubscriptionManager.INVALID_SUBSCRIPTION_ID));
+        }
 
         mPreference.setEntries(displayNames.toArray(new CharSequence[0]));
         mPreference.setEntryValues(subscriptionIds.toArray(new CharSequence[0]));
diff --git a/src/com/android/settings/network/telephony/DeleteEuiccSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/DeleteEuiccSubscriptionDialogActivity.java
new file mode 100644
index 0000000..6186de3
--- /dev/null
+++ b/src/com/android/settings/network/telephony/DeleteEuiccSubscriptionDialogActivity.java
@@ -0,0 +1,149 @@
+/*
+ * 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.network.telephony;
+
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.util.Log;
+
+import com.android.settings.R;
+import com.android.settings.SidecarFragment;
+import com.android.settings.network.SubscriptionUtil;
+
+import java.util.List;
+
+/** This dialog activity handles deleting eSIM profiles. */
+public class DeleteEuiccSubscriptionDialogActivity extends SubscriptionActionDialogActivity
+        implements SidecarFragment.Listener, ConfirmDialogFragment.OnConfirmListener {
+
+    private static final String TAG = "DeleteEuiccSubscriptionDialogActivity";
+    // Dialog tags
+    private static final int DIALOG_TAG_DELETE_SIM_CONFIRMATION = 1;
+
+    /**
+     * Returns an intent of DeleteEuiccSubscriptionDialogActivity.
+     *
+     * @param context The context used to start the DeleteEuiccSubscriptionDialogActivity.
+     * @param subId The subscription ID of the subscription needs to be deleted. If the subscription
+     *     belongs to a group of subscriptions, all subscriptions from the group will be deleted.
+     */
+    public static Intent getIntent(Context context, int subId) {
+        Intent intent = new Intent(context, DeleteEuiccSubscriptionDialogActivity.class);
+        intent.putExtra(ARG_SUB_ID, subId);
+        return intent;
+    }
+
+    private DeleteEuiccSubscriptionSidecar mDeleteEuiccSubscriptionSidecar;
+    private List<SubscriptionInfo> mSubscriptionsToBeDeleted;
+    private SubscriptionInfo mSubscriptionToBeDeleted;
+    private AlertDialog mDeleteSimConfirmDialog;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        Intent intent = getIntent();
+        int subId = intent.getIntExtra(ARG_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+        mSubscriptionToBeDeleted = SubscriptionUtil.getSubById(mSubscriptionManager, subId);
+        mSubscriptionsToBeDeleted =
+                SubscriptionUtil.findAllSubscriptionsInGroup(mSubscriptionManager, subId);
+        mDeleteEuiccSubscriptionSidecar = DeleteEuiccSubscriptionSidecar.get(getFragmentManager());
+
+        if (mSubscriptionToBeDeleted == null || mDeleteEuiccSubscriptionSidecar == null) {
+            Log.e(TAG, "Cannot find subscription with sub ID: " + subId);
+            finish();
+            return;
+        }
+
+        if (savedInstanceState == null) {
+            showDeleteSimConfirmDialog();
+        }
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mDeleteEuiccSubscriptionSidecar.addListener(this);
+    }
+
+    @Override
+    protected void onPause() {
+        mDeleteEuiccSubscriptionSidecar.removeListener(this);
+        super.onPause();
+    }
+
+    @Override
+    public void onStateChange(SidecarFragment fragment) {
+        if (fragment == mDeleteEuiccSubscriptionSidecar) {
+            handleDeleteEuiccSubscriptionSidecarStateChange();
+        }
+    }
+
+    @Override
+    public void onConfirm(int tag, boolean confirmed) {
+        if (!confirmed) {
+            finish();
+            return;
+        }
+
+        switch (tag) {
+            case DIALOG_TAG_DELETE_SIM_CONFIRMATION:
+                Log.i(TAG, "Subscription deletion confirmed");
+                showProgressDialog(getString(R.string.erasing_sim));
+                mDeleteEuiccSubscriptionSidecar.run(mSubscriptionsToBeDeleted);
+                break;
+            default:
+                Log.e(TAG, "Unrecognized confirmation dialog tag: " + tag);
+                break;
+        }
+    }
+
+    private void handleDeleteEuiccSubscriptionSidecarStateChange() {
+        switch (mDeleteEuiccSubscriptionSidecar.getState()) {
+            case SidecarFragment.State.SUCCESS:
+                Log.i(TAG, "Successfully delete the subscription.");
+                mDeleteEuiccSubscriptionSidecar.reset();
+                dismissProgressDialog();
+                finish();
+                break;
+            case SidecarFragment.State.ERROR:
+                Log.e(TAG, "Failed to delete the subscription.");
+                mDeleteEuiccSubscriptionSidecar.reset();
+                showErrorDialog(
+                        getString(R.string.erase_sim_fail_title),
+                        getString(R.string.erase_sim_fail_text));
+                break;
+        }
+    }
+
+    /* Displays the eSIM deleting confirmation dialog. */
+    private void showDeleteSimConfirmDialog() {
+        ConfirmDialogFragment.show(
+                this,
+                ConfirmDialogFragment.OnConfirmListener.class,
+                DIALOG_TAG_DELETE_SIM_CONFIRMATION,
+                getString(R.string.erase_sim_dialog_title),
+                getString(
+                        R.string.erase_sim_dialog_text, mSubscriptionToBeDeleted.getDisplayName()),
+                getString(R.string.erase_sim_confirm_button),
+                getString(R.string.cancel));
+    }
+}
diff --git a/src/com/android/settings/network/telephony/DeleteEuiccSubscriptionSidecar.java b/src/com/android/settings/network/telephony/DeleteEuiccSubscriptionSidecar.java
new file mode 100644
index 0000000..f03f33f
--- /dev/null
+++ b/src/com/android/settings/network/telephony/DeleteEuiccSubscriptionSidecar.java
@@ -0,0 +1,77 @@
+/*
+ * 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.network.telephony;
+
+import android.app.FragmentManager;
+import android.app.PendingIntent;
+import android.telephony.SubscriptionInfo;
+import android.telephony.euicc.EuiccManager;
+import android.util.Log;
+
+import com.android.settings.SidecarFragment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/** A headless fragment encapsulating long-running eSIM erasing operations. */
+public class DeleteEuiccSubscriptionSidecar extends EuiccOperationSidecar {
+    private static final String TAG = "DeleteEuiccSubscriptionSidecar";
+    private static final String ACTION_DELETE_SUBSCRIPTION =
+            "com.android.settings.network.delete_subscription";
+
+    private List<SubscriptionInfo> mSubscriptions;
+
+    @Override
+    public String getReceiverAction() {
+        return ACTION_DELETE_SUBSCRIPTION;
+    }
+
+    /** Returns a DeleteEuiccSubscriptionSidecar sidecar instance. */
+    public static DeleteEuiccSubscriptionSidecar get(FragmentManager fm) {
+        return SidecarFragment.get(fm, TAG, DeleteEuiccSubscriptionSidecar.class, null /* args */);
+    }
+
+    /** Starts calling EuiccManager#deleteSubscription to delete the eSIM profile. */
+    public void run(List<SubscriptionInfo> subscriptions) {
+        if (subscriptions == null || subscriptions.isEmpty()) {
+            throw new IllegalArgumentException("Subscriptions cannot be empty.");
+        }
+
+        setState(State.RUNNING, Substate.UNUSED);
+
+        mSubscriptions = new ArrayList<>(subscriptions);
+        deleteSubscription();
+    }
+
+    @Override
+    protected void onActionReceived() {
+        if (getResultCode() == EuiccManager.EMBEDDED_SUBSCRIPTION_RESULT_OK
+                && !mSubscriptions.isEmpty()) {
+            // Continue to delete remaining subscriptions.
+            deleteSubscription();
+        } else {
+            super.onActionReceived();
+        }
+    }
+
+    private void deleteSubscription() {
+        SubscriptionInfo subscription = mSubscriptions.remove(0);
+        PendingIntent intent = createCallbackIntent();
+        Log.i(TAG, "Deleting subscription ID: " + subscription.getSubscriptionId());
+        mEuiccManager.deleteSubscription(subscription.getSubscriptionId(), intent);
+    }
+}
diff --git a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
index 44187e4..3035a9f 100644
--- a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
+++ b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
@@ -81,9 +81,8 @@
     }
 
     private void deleteSim() {
-        final Intent intent = new Intent(EuiccManager.ACTION_DELETE_SUBSCRIPTION_PRIVILEGED);
-        intent.putExtra(EuiccManager.EXTRA_SUBSCRIPTION_ID, mSubscriptionInfo.getSubscriptionId());
-        mParentFragment.startActivityForResult(intent, mRequestCode);
+        SubscriptionUtil.startDeleteEuiccSubscriptionDialogActivity(
+                mContext, mSubscriptionInfo.getSubscriptionId());
         // result handled in MobileNetworkSettings
     }
 
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
index 07b808f..e3db5eb 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
@@ -88,7 +88,10 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        return mTelephonyManager.setAlwaysAllowMmsData(isChecked);
+        mTelephonyManager.setMobileDataPolicyEnabledStatus(
+                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, isChecked);
+        return isChecked == mTelephonyManager.isMobileDataPolicyEnabled(
+                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED);
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/ProgressDialogFragment.java b/src/com/android/settings/network/telephony/ProgressDialogFragment.java
new file mode 100644
index 0000000..0d1b657
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ProgressDialogFragment.java
@@ -0,0 +1,106 @@
+/*
+ * 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.network.telephony;
+
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
+import android.app.ProgressDialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.KeyEvent;
+
+/** Fragment to show a progress dialog. */
+public class ProgressDialogFragment extends DialogFragment {
+    private static final String ARG_TITLE = "title";
+
+    private static final String TAG = "ProgressDialogFragment";
+
+    private OnDismissCallback mDismissCallback;
+
+    // Host fragment is optional to implement this interface.
+    public interface OnDismissCallback {
+        // Action performed when the progress dialog is dismissed.
+        void onProgressDialogDismiss();
+    }
+
+    /**
+     * Check whether there is already a showing progress dialog. If yes and the title of the showing
+     * one is the same with the new coming one, just return and do nothing. If the title of the
+     * showing one is different from the new one, remove the showing one and create a new dialog for
+     * the new one. If there is no progress dialog right now, just create a new one.
+     */
+    public static void show(FragmentManager fm, String title, OnDismissCallback dismissCallback) {
+        ProgressDialogFragment fragment = (ProgressDialogFragment) fm.findFragmentByTag(TAG);
+        if (fragment != null
+                && TextUtils.equals(fragment.getArguments().getString(ARG_TITLE), title)) {
+            return;
+        }
+
+        FragmentTransaction ft = fm.beginTransaction();
+        if (fragment != null) {
+            ft.remove(fragment);
+        }
+
+        fragment = new ProgressDialogFragment();
+        fragment.setDismissCallback(dismissCallback);
+
+        Bundle arguments = new Bundle();
+        arguments.putString(ARG_TITLE, title);
+        fragment.setArguments(arguments);
+        fragment.show(ft, TAG);
+    }
+
+    /**
+     * Called by the caller activity or fragment when the progress is finished.
+     *
+     * @param fm The fragment manager.
+     */
+    public static void dismiss(FragmentManager fm) {
+        DialogFragment fragment = (DialogFragment) fm.findFragmentByTag(TAG);
+        if (fragment != null) {
+            fragment.dismiss();
+        }
+    }
+
+    @Override
+    @SuppressWarnings("deprecation") // ProgressDialog is deprecated but is intended UX for now
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        ProgressDialog dialog = new ProgressDialog(getActivity());
+        dialog.setCancelable(false);
+        dialog.setCanceledOnTouchOutside(false);
+        dialog.setMessage(getArguments().getString(ARG_TITLE));
+        dialog.setOnKeyListener(
+                (progressDialog, keyCode, event) -> KeyEvent.KEYCODE_BACK == keyCode);
+
+        return dialog;
+    }
+
+    @Override
+    public void onDismiss(DialogInterface dialog) {
+        super.onDismiss(dialog);
+        if (mDismissCallback != null) {
+            mDismissCallback.onProgressDialogDismiss();
+        }
+    }
+
+    private void setDismissCallback(OnDismissCallback dismissCallback) {
+        mDismissCallback = dismissCallback;
+    }
+}
diff --git a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
index cf544ab..fadddd5 100644
--- a/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/SmsDefaultSubscriptionController.java
@@ -23,8 +23,12 @@
 
 public class SmsDefaultSubscriptionController extends DefaultSubscriptionController {
 
+    private final boolean mIsAskEverytimeSupported;
+
     public SmsDefaultSubscriptionController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mIsAskEverytimeSupported = mContext.getResources()
+                .getBoolean(com.android.internal.R.bool.config_sms_ask_every_time_support);
     }
 
     @Override
@@ -43,6 +47,11 @@
     }
 
     @Override
+    protected boolean isAskEverytimeSupported() {
+        return mIsAskEverytimeSupported;
+    }
+
+    @Override
     public PhoneAccountHandle getDefaultCallingAccountHandle() {
         // Not supporting calling account override by VoIP
         return null;
diff --git a/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java b/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java
index 491a776..7ff0d9a 100644
--- a/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java
@@ -16,25 +16,24 @@
 
 package com.android.settings.network.telephony;
 
-import android.R;
 import android.app.Activity;
-import android.app.ProgressDialog;
-import android.content.DialogInterface;
 import android.os.Bundle;
-
-import androidx.appcompat.app.AlertDialog;
+import android.telephony.SubscriptionManager;
 
 /** The base class for subscription action dialogs */
 public class SubscriptionActionDialogActivity extends Activity {
 
     private static final String TAG = "SubscriptionActionDialogActivity";
+    // Arguments
+    protected static final String ARG_SUB_ID = "sub_id";
 
-    private ProgressDialog mProgressDialog;
-    private AlertDialog mErrorDialog;
+    protected SubscriptionManager mSubscriptionManager;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+
+        mSubscriptionManager = getSystemService(SubscriptionManager.class);
     }
 
     /**
@@ -43,20 +42,12 @@
      * @param message The string content should be displayed in the progress dialog.
      */
     protected void showProgressDialog(String message) {
-        if (mProgressDialog == null) {
-            mProgressDialog = ProgressDialog.show(this, null, message);
-            mProgressDialog.setCanceledOnTouchOutside(false);
-            mProgressDialog.setCancelable(false);
-        }
-        mProgressDialog.setMessage(message);
-        mProgressDialog.show();
+        ProgressDialogFragment.show(getFragmentManager(), message, null);
     }
 
     /** Dismisses the loading dialog. */
     protected void dismissProgressDialog() {
-        if (mProgressDialog != null) {
-            mProgressDialog.dismiss();
-        }
+        ProgressDialogFragment.dismiss(getFragmentManager());
     }
 
     /**
@@ -64,31 +55,8 @@
      *
      * @param title The title of the error dialog.
      * @param message The body text of the error dialog.
-     * @param positiveOnClickListener The callback function after users confirm with the error.
      */
-    protected void showErrorDialog(
-            String title, String message, DialogInterface.OnClickListener positiveOnClickListener) {
-        if (mErrorDialog == null) {
-            mErrorDialog =
-                    new AlertDialog.Builder(this)
-                            .setTitle(title)
-                            .setMessage(message)
-                            .setPositiveButton(
-                                    R.string.ok,
-                                    (dialog, which) -> {
-                                        positiveOnClickListener.onClick(dialog, which);
-                                        dismissErrorDialog();
-                                    })
-                            .create();
-        }
-        mErrorDialog.setMessage(message);
-        mErrorDialog.show();
-    }
-
-    /** Dismisses the error dialog. */
-    protected void dismissErrorDialog() {
-        if (mErrorDialog != null) {
-            mErrorDialog.dismiss();
-        }
+    protected void showErrorDialog(String title, String message) {
+        AlertDialogFragment.show(this, title, message);
     }
 }
diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
index 062c984..905ead0 100644
--- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
@@ -17,7 +17,6 @@
 package com.android.settings.network.telephony;
 
 import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.UserManager;
@@ -35,15 +34,17 @@
 
 /** This dialog activity handles both eSIM and pSIM subscriptions enabling and disabling. */
 public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogActivity
-        implements SidecarFragment.Listener {
+        implements SidecarFragment.Listener, ConfirmDialogFragment.OnConfirmListener {
 
     private static final String TAG = "ToggleSubscriptionDialogActivity";
-
-    private static final String ARG_SUB_ID = "sub_id";
+    // Arguments
     private static final String ARG_enable = "enable";
+    // Dialog tags
+    private static final int DIALOG_TAG_DISABLE_SIM_CONFIRMATION = 1;
 
     /**
      * Returns an intent of ToggleSubscriptionDialogActivity.
+     *
      * @param context The context used to start the ToggleSubscriptionDialogActivity.
      * @param subId The subscription ID of the subscription needs to be toggled.
      * @param enable Whether the activity should enable or disable the subscription.
@@ -55,7 +56,6 @@
         return intent;
     }
 
-    private SubscriptionManager mSubscriptionManager;
     private SubscriptionInfo mSubInfo;
     private SwitchToEuiccSubscriptionSidecar mSwitchToEuiccSubscriptionSidecar;
     private AlertDialog mToggleSimConfirmDialog;
@@ -67,7 +67,6 @@
 
         Intent intent = getIntent();
         int subId = intent.getIntExtra(ARG_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        mSubscriptionManager = getSystemService(SubscriptionManager.class);
 
         UserManager userManager = getSystemService(UserManager.class);
         if (!userManager.isAdminUser()) {
@@ -87,10 +86,12 @@
                 SwitchToEuiccSubscriptionSidecar.get(getFragmentManager());
         mEnable = intent.getBooleanExtra(ARG_enable, true);
 
-        if (mEnable) {
-            handleEnablingSubAction();
-        } else {
-            handleDisablingSubAction();
+        if (savedInstanceState == null) {
+            if (mEnable) {
+                handleEnablingSubAction();
+            } else {
+                showDisableSimConfirmDialog();
+            }
         }
     }
 
@@ -113,6 +114,31 @@
         }
     }
 
+    @Override
+    public void onConfirm(int tag, boolean confirmed) {
+        if (!confirmed) {
+            finish();
+            return;
+        }
+
+        switch (tag) {
+            case DIALOG_TAG_DISABLE_SIM_CONFIRMATION:
+                if (mSubInfo.isEmbedded()) {
+                    Log.i(TAG, "Disabling the eSIM profile.");
+                    showProgressDialog(
+                            getString(R.string.privileged_action_disable_sub_dialog_progress));
+                    mSwitchToEuiccSubscriptionSidecar.run(
+                            SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+                    return;
+                }
+                Log.i(TAG, "Disabling the pSIM profile.");
+                break;
+            default:
+                Log.e(TAG, "Unrecognized confirmation dialog tag: " + tag);
+                break;
+        }
+    }
+
     private void handleSwitchToEuiccSubscriptionSidecarStateChange() {
         switch (mSwitchToEuiccSubscriptionSidecar.getState()) {
             case SidecarFragment.State.SUCCESS:
@@ -134,8 +160,7 @@
                 dismissProgressDialog();
                 showErrorDialog(
                         getString(R.string.privileged_action_disable_fail_title),
-                        getString(R.string.privileged_action_disable_fail_text),
-                        (dialog, which) -> finish());
+                        getString(R.string.privileged_action_disable_fail_text));
                 break;
         }
     }
@@ -146,45 +171,24 @@
         // TODO(b/160819390): Implement enabling eSIM/pSIM profile.
     }
 
-    /* Handles the disabling SIM action. */
-    private void handleDisablingSubAction() {
-        showToggleSimConfirmDialog(
-                (dialog, which) -> {
-                    if (mSubInfo.isEmbedded()) {
-                        Log.i(TAG, "Disabling the eSIM profile.");
-                        showProgressDialog(
-                                getString(R.string.privileged_action_disable_sub_dialog_progress));
-                        mSwitchToEuiccSubscriptionSidecar.run(
-                                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-                        return;
-                    }
-                    Log.i(TAG, "Disabling the pSIM profile.");
-                    // TODO(b/160819390): Implement disabling pSIM profile.
-                });
-    }
-
     /* Displays the SIM toggling confirmation dialog. */
-    private void showToggleSimConfirmDialog(
-            DialogInterface.OnClickListener positiveOnClickListener) {
-        if (mToggleSimConfirmDialog == null) {
-            mToggleSimConfirmDialog =
-                    new AlertDialog.Builder(this)
-                            .setTitle(getToggleSimConfirmDialogTitle())
-                            .setPositiveButton(
-                                    R.string.yes,
-                                    (dialog, which) -> {
-                                        positiveOnClickListener.onClick(dialog, which);
-                                        dismissToggleSimConfirmDialog();
-                                    })
-                            .setNegativeButton(
-                                    R.string.cancel,
-                                    (dialog, which) -> {
-                                        dismissToggleSimConfirmDialog();
-                                        finish();
-                                    })
-                            .create();
-        }
-        mToggleSimConfirmDialog.show();
+    private void showDisableSimConfirmDialog() {
+        String title =
+                mSubInfo == null || TextUtils.isEmpty(mSubInfo.getDisplayName())
+                        ? getString(
+                                R.string.privileged_action_disable_sub_dialog_title_without_carrier)
+                        : getString(
+                                R.string.privileged_action_disable_sub_dialog_title,
+                                mSubInfo.getDisplayName());
+
+        ConfirmDialogFragment.show(
+                this,
+                ConfirmDialogFragment.OnConfirmListener.class,
+                DIALOG_TAG_DISABLE_SIM_CONFIRMATION,
+                title,
+                null,
+                getString(R.string.yes),
+                getString(R.string.cancel));
     }
 
     /* Dismisses the SIM toggling confirmation dialog. */
@@ -193,17 +197,4 @@
             mToggleSimConfirmDialog.dismiss();
         }
     }
-
-    /* Returns the title of toggling SIM confirmation dialog. */
-    private String getToggleSimConfirmDialogTitle() {
-        if (mEnable) {
-            // TODO(b/160819390): Handle the case for enabling SIM.
-            return null;
-        }
-        return mSubInfo == null || TextUtils.isEmpty(mSubInfo.getDisplayName())
-                ? getString(R.string.privileged_action_disable_sub_dialog_title_without_carrier)
-                : getString(
-                        R.string.privileged_action_disable_sub_dialog_title,
-                        mSubInfo.getDisplayName());
-    }
 }
diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java
index bb62a56..eaff9e1 100644
--- a/src/com/android/settings/notification/RemoteVolumeGroupController.java
+++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java
@@ -102,43 +102,80 @@
         mLocalMediaManager.stopScan();
     }
 
-    private void refreshPreference() {
-        mPreferenceCategory.removeAll();
+    private synchronized void refreshPreference() {
         if (!isAvailable()) {
             mPreferenceCategory.setVisible(false);
             return;
         }
         final CharSequence castVolume = mContext.getText(R.string.remote_media_volume_option_title);
         mPreferenceCategory.setVisible(true);
-
         for (RoutingSessionInfo info : mRoutingSessionInfos) {
-            if (mPreferenceCategory.findPreference(info.getId()) != null) {
-                continue;
+            final CharSequence appName = Utils.getApplicationLabel(mContext,
+                    info.getClientPackageName());
+            RemoteVolumeSeekBarPreference seekBarPreference = mPreferenceCategory.findPreference(
+                    info.getId());
+            if (seekBarPreference != null) {
+                // Update slider
+                if (seekBarPreference.getProgress() != info.getVolume()) {
+                    seekBarPreference.setProgress(info.getVolume());
+                }
+            } else {
+                // Add slider
+                seekBarPreference = new RemoteVolumeSeekBarPreference(mContext);
+                seekBarPreference.setKey(info.getId());
+                seekBarPreference.setTitle(castVolume);
+                seekBarPreference.setMax(info.getVolumeMax());
+                seekBarPreference.setProgress(info.getVolume());
+                seekBarPreference.setMin(0);
+                seekBarPreference.setOnPreferenceChangeListener(this);
+                seekBarPreference.setIcon(R.drawable.ic_volume_remote);
+                mPreferenceCategory.addPreference(seekBarPreference);
             }
-            final CharSequence appName = Utils.getApplicationLabel(
-                    mContext, info.getClientPackageName());
+
+            Preference switcherPreference = mPreferenceCategory.findPreference(
+                    SWITCHER_PREFIX + info.getId());
+            final boolean isMediaOutputDisabled = mLocalMediaManager.shouldDisableMediaOutput(
+                    info.getClientPackageName());
             final CharSequence outputTitle = mContext.getString(R.string.media_output_label_title,
                     appName);
-            // Add slider
-            final RemoteVolumeSeekBarPreference seekBarPreference =
-                    new RemoteVolumeSeekBarPreference(mContext);
-            seekBarPreference.setKey(info.getId());
-            seekBarPreference.setTitle(castVolume);
-            seekBarPreference.setMax(info.getVolumeMax());
-            seekBarPreference.setProgress(info.getVolume());
-            seekBarPreference.setMin(0);
-            seekBarPreference.setOnPreferenceChangeListener(this);
-            seekBarPreference.setIcon(R.drawable.ic_volume_remote);
-            mPreferenceCategory.addPreference(seekBarPreference);
-            // Add output indicator
-            final boolean isMediaOutputDisabled = Utils.isMediaOutputDisabled(
-                    mRouterManager, info.getClientPackageName());
-            final Preference preference = new Preference(mContext);
-            preference.setKey(SWITCHER_PREFIX + info.getId());
-            preference.setTitle(isMediaOutputDisabled ? appName : outputTitle);
-            preference.setSummary(info.getName());
-            preference.setEnabled(!isMediaOutputDisabled);
-            mPreferenceCategory.addPreference(preference);
+            if (switcherPreference != null) {
+                // Update output indicator
+                switcherPreference.setTitle(isMediaOutputDisabled ? appName : outputTitle);
+                switcherPreference.setSummary(info.getName());
+                switcherPreference.setEnabled(!isMediaOutputDisabled);
+            } else {
+                // Add output indicator
+                switcherPreference = new Preference(mContext);
+                switcherPreference.setKey(SWITCHER_PREFIX + info.getId());
+                switcherPreference.setTitle(isMediaOutputDisabled ? appName : outputTitle);
+                switcherPreference.setSummary(info.getName());
+                switcherPreference.setEnabled(!isMediaOutputDisabled);
+                mPreferenceCategory.addPreference(switcherPreference);
+            }
+        }
+
+        // Check and remove non-active session preference
+        // There is a pair of preferences for each session. First one is a seekBar preference.
+        // The second one shows the session information and provide an entry-point to launch output
+        // switcher. It is unnecessary to go through all preferences. It is fine ignore the second
+        // preference and only to check the seekBar's key value.
+        for (int i = 0; i < mPreferenceCategory.getPreferenceCount(); i = i + 2) {
+            final Preference preference = mPreferenceCategory.getPreference(i);
+            boolean isActive = false;
+            for (RoutingSessionInfo info : mRoutingSessionInfos) {
+                if (TextUtils.equals(preference.getKey(), info.getId())) {
+                    isActive = true;
+                    break;
+                }
+            }
+            if (isActive) {
+                continue;
+            }
+            final Preference switcherPreference = mPreferenceCategory.getPreference(i + 1);
+            if (switcherPreference != null) {
+                mPreferenceCategory.removePreference(preference);
+                mPreferenceCategory.removePreference(switcherPreference);
+            }
         }
     }
 
@@ -159,11 +196,11 @@
             if (TextUtils.equals(info.getId(),
                     preference.getKey().substring(SWITCHER_PREFIX.length()))) {
                 final Intent intent = new Intent()
-                        .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
-                        .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+                        .setAction(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
+                        .setPackage(MediaOutputSliceConstants.SYSTEMUI_PACKAGE_NAME)
                         .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
                                 info.getClientPackageName());
-                mContext.startActivity(intent);
+                mContext.sendBroadcast(intent);
                 return true;
             }
         }
@@ -181,8 +218,10 @@
             // Preference group is not ready.
             return;
         }
-        initRemoteMediaSession();
-        refreshPreference();
+        ThreadUtils.postOnMainThread(() -> {
+            initRemoteMediaSession();
+            refreshPreference();
+        });
     }
 
     @Override
diff --git a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
index c9a203e..14c9117 100644
--- a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
+++ b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
@@ -142,13 +142,14 @@
 
     private static PendingIntent getPrimaryAction(Context context) {
         final Intent intent = getIntent(context);
-        return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */);
+        return PendingIntent.getActivity(context, 0 /* requestCode */, intent,
+                PendingIntent.FLAG_IMMUTABLE);
     }
 
     private static PendingIntent getBroadcastIntent(Context context) {
         final Intent intent = new Intent(ACTION_ZEN_MODE_SLICE_CHANGED)
                 .setClass(context, SliceBroadcastReceiver.class);
         return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
-                PendingIntent.FLAG_CANCEL_CURRENT);
+                PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE);
     }
 }
diff --git a/src/com/android/settings/panel/VolumePanel.java b/src/com/android/settings/panel/VolumePanel.java
index d45bfd1..b5e807d 100644
--- a/src/com/android/settings/panel/VolumePanel.java
+++ b/src/com/android/settings/panel/VolumePanel.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.panel;
 
+import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
+import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
+
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
 import static com.android.settings.slices.CustomSliceRegistry.REMOTE_MEDIA_SLICE_URI;
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_ALARM_URI;
@@ -24,20 +27,40 @@
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_RINGER_URI;
 
 import android.app.settings.SettingsEnums;
+import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
+import android.content.IntentFilter;
 import android.net.Uri;
 import android.provider.Settings;
 
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.OnLifecycleEvent;
+
 import com.android.settings.R;
+import com.android.settingslib.media.MediaOutputSliceConstants;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class VolumePanel implements PanelContent {
+/**
+ * Panel data class for Volume settings.
+ */
+public class VolumePanel implements PanelContent, LifecycleObserver {
 
     private final Context mContext;
 
+    private PanelContentCallback mCallback;
+
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (MediaOutputSliceConstants.ACTION_CLOSE_PANEL.equals(intent.getAction())) {
+                mCallback.forceClose();
+            }
+        }
+    };
+
     public static VolumePanel create(Context context) {
         return new VolumePanel(context);
     }
@@ -46,6 +69,20 @@
         mContext = context.getApplicationContext();
     }
 
+    /** Invoked when the panel is resumed. */
+    @OnLifecycleEvent(ON_RESUME)
+    public void onResume() {
+        final IntentFilter filter = new IntentFilter();
+        filter.addAction(MediaOutputSliceConstants.ACTION_CLOSE_PANEL);
+        mContext.registerReceiver(mReceiver, filter);
+    }
+
+    /** Invoked when the panel is paused. */
+    @OnLifecycleEvent(ON_PAUSE)
+    public void onPause() {
+        mContext.unregisterReceiver(mReceiver);
+    }
+
     @Override
     public CharSequence getTitle() {
         return mContext.getText(R.string.sound_settings);
@@ -78,4 +115,9 @@
     public int getViewType() {
         return PanelContent.VIEW_TYPE_SLIDER;
     }
+
+    @Override
+    public void registerCallback(PanelContentCallback callback) {
+        mCallback = callback;
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/print/PrintSettingPreferenceController.java b/src/com/android/settings/print/PrintSettingPreferenceController.java
index 16c4320..c0adfa3 100644
--- a/src/com/android/settings/print/PrintSettingPreferenceController.java
+++ b/src/com/android/settings/print/PrintSettingPreferenceController.java
@@ -60,6 +60,7 @@
     @Override
     public int getAvailabilityStatus() {
         return mPackageManager.hasSystemFeature(PackageManager.FEATURE_PRINTING)
+                && mPrintManager != null
                 ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
@@ -71,12 +72,16 @@
 
     @Override
     public void onStart() {
-        mPrintManager.addPrintJobStateChangeListener(this);
+        if (mPrintManager != null) {
+            mPrintManager.addPrintJobStateChangeListener(this);
+        }
     }
 
     @Override
     public void onStop() {
-        mPrintManager.removePrintJobStateChangeListener(this);
+        if (mPrintManager != null) {
+            mPrintManager.removePrintJobStateChangeListener(this);
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/slices/CustomSliceRegistry.java b/src/com/android/settings/slices/CustomSliceRegistry.java
index bb7def6..7a4cd5b 100644
--- a/src/com/android/settings/slices/CustomSliceRegistry.java
+++ b/src/com/android/settings/slices/CustomSliceRegistry.java
@@ -26,8 +26,8 @@
 
 import androidx.annotation.VisibleForTesting;
 
-import com.android.settings.display.AdaptiveSleepPreferenceController;
 import com.android.settings.display.AlwaysOnDisplaySlice;
+import com.android.settings.display.ScreenTimeoutPreferenceController;
 import com.android.settings.flashlight.FlashlightSlice;
 import com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController;
 import com.android.settings.homepage.contextualcards.deviceinfo.StorageSlice;
@@ -63,7 +63,7 @@
             .scheme(ContentResolver.SCHEME_CONTENT)
             .authority(SettingsSliceProvider.SLICE_AUTHORITY)
             .appendPath(SettingsSlicesContract.PATH_SETTING_INTENT)
-            .appendPath(AdaptiveSleepPreferenceController.PREF_NAME)
+            .appendPath(ScreenTimeoutPreferenceController.PREF_NAME)
             .build();
 
     /**
diff --git a/src/com/android/settings/slices/CustomSliceable.java b/src/com/android/settings/slices/CustomSliceable.java
index 92c604e..57475a9 100644
--- a/src/com/android/settings/slices/CustomSliceable.java
+++ b/src/com/android/settings/slices/CustomSliceable.java
@@ -95,7 +95,7 @@
                 .setData(getUri())
                 .setClass(context, SliceBroadcastReceiver.class);
         return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
-                PendingIntent.FLAG_UPDATE_CURRENT);
+                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
     }
 
     @Override
diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java
index 552927e..402e044 100644
--- a/src/com/android/settings/slices/SliceBuilderUtils.java
+++ b/src/com/android/settings/slices/SliceBuilderUtils.java
@@ -159,7 +159,7 @@
                 .setClass(context, SliceBroadcastReceiver.class)
                 .putExtra(EXTRA_SLICE_KEY, data.getKey());
         return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
-                PendingIntent.FLAG_UPDATE_CURRENT);
+                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
     }
 
     /**
@@ -167,7 +167,8 @@
      */
     public static PendingIntent getContentPendingIntent(Context context, SliceData sliceData) {
         final Intent intent = getContentIntent(context, sliceData);
-        return PendingIntent.getActivity(context, 0 /* requestCode */, intent, 0 /* flags */);
+        return PendingIntent.getActivity(context, 0 /* requestCode */, intent,
+                PendingIntent.FLAG_IMMUTABLE);
     }
 
     /**
diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java
index da92b2b..40a4d56 100644
--- a/src/com/android/settings/sound/MediaOutputPreferenceController.java
+++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java
@@ -22,14 +22,13 @@
 import android.media.AudioManager;
 import android.media.session.MediaController;
 import android.media.session.MediaSessionManager;
-import android.media.session.PlaybackState;
 import android.text.TextUtils;
 
-import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.media.MediaOutputUtils;
 import com.android.settingslib.Utils;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.HearingAidProfile;
@@ -51,7 +50,8 @@
 
     public MediaOutputPreferenceController(Context context, String key) {
         super(context, key);
-        mMediaController = getActiveLocalMediaController();
+        mMediaController = MediaOutputUtils.getActiveLocalMediaController(context.getSystemService(
+                MediaSessionManager.class));
     }
 
     @Override
@@ -133,34 +133,15 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            final Intent intent = new Intent()
-                    .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
-                    .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            mContext.startActivity(intent);
+            mContext.sendBroadcast(new Intent()
+                    .setAction(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
+                    .setPackage(MediaOutputSliceConstants.SYSTEMUI_PACKAGE_NAME)
+                    .putExtra(MediaOutputSliceConstants.EXTRA_PACKAGE_NAME,
+                            mMediaController.getPackageName())
+                    .putExtra(MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN,
+                            mMediaController.getSessionToken()));
             return true;
         }
         return false;
     }
-
-    @Nullable
-    MediaController getActiveLocalMediaController() {
-        final MediaSessionManager mMediaSessionManager = mContext.getSystemService(
-                MediaSessionManager.class);
-
-        for (MediaController controller : mMediaSessionManager.getActiveSessions(null)) {
-            final MediaController.PlaybackInfo pi = controller.getPlaybackInfo();
-            if (pi == null) {
-                return null;
-            }
-            final PlaybackState playbackState = controller.getPlaybackState();
-            if (playbackState == null) {
-                return null;
-            }
-            if (pi.getPlaybackType() == MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL
-                    && playbackState.getState() == PlaybackState.STATE_PLAYING) {
-                return controller;
-            }
-        }
-        return null;
-    }
 }
diff --git a/src/com/android/settings/users/EditUserInfoController.java b/src/com/android/settings/users/EditUserInfoController.java
deleted file mode 100644
index 6b5e670..0000000
--- a/src/com/android/settings/users/EditUserInfoController.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.users;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.pm.UserInfo;
-import android.graphics.Bitmap;
-import android.graphics.drawable.Drawable;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.text.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.EditText;
-import android.widget.ImageView;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.Fragment;
-
-import com.android.settings.R;
-import com.android.settingslib.drawable.CircleFramedDrawable;
-
-import java.io.File;
-
-/**
- * This class encapsulates a Dialog for editing the user nickname and photo.
- */
-public class EditUserInfoController {
-
-    private static final String KEY_AWAITING_RESULT = "awaiting_result";
-    private static final String KEY_SAVED_PHOTO = "pending_photo";
-
-    private Dialog mEditUserInfoDialog;
-    private Bitmap mSavedPhoto;
-    private EditUserPhotoController mEditUserPhotoController;
-    private UserHandle mUser;
-    private UserManager mUserManager;
-    private boolean mWaitingForActivityResult = false;
-
-    /**
-     * Callback made when either the username text or photo choice changes.
-     */
-    public interface OnContentChangedCallback {
-        /** Photo updated. */
-        void onPhotoChanged(UserHandle user, Drawable photo);
-        /** Username updated. */
-        void onLabelChanged(UserHandle user, CharSequence label);
-    }
-
-    /**
-     * Callback made when the dialog finishes.
-     */
-    public interface OnDialogCompleteCallback {
-        /** Dialog closed with positive button. */
-        void onPositive();
-        /** Dialog closed with negative button or cancelled. */
-        void onNegativeOrCancel();
-    }
-
-    public void clear() {
-        if (mEditUserPhotoController != null) {
-            mEditUserPhotoController.removeNewUserPhotoBitmapFile();
-        }
-        mEditUserInfoDialog = null;
-        mSavedPhoto = null;
-    }
-
-    public Dialog getDialog() {
-        return mEditUserInfoDialog;
-    }
-
-    public void onRestoreInstanceState(Bundle icicle) {
-        String pendingPhoto = icicle.getString(KEY_SAVED_PHOTO);
-        if (pendingPhoto != null) {
-            mSavedPhoto = EditUserPhotoController.loadNewUserPhotoBitmap(new File(pendingPhoto));
-        }
-        mWaitingForActivityResult = icicle.getBoolean(KEY_AWAITING_RESULT, false);
-    }
-
-    public void onSaveInstanceState(Bundle outState) {
-        if (mEditUserInfoDialog != null && mEditUserPhotoController != null) {
-            // Bitmap cannot be stored into bundle because it may exceed parcel limit
-            // Store it in a temporary file instead
-            File file = mEditUserPhotoController.saveNewUserPhotoBitmap();
-            if (file != null) {
-                outState.putString(KEY_SAVED_PHOTO, file.getPath());
-            }
-        }
-        if (mWaitingForActivityResult) {
-            outState.putBoolean(KEY_AWAITING_RESULT, mWaitingForActivityResult);
-        }
-    }
-
-    public void startingActivityForResult() {
-        mWaitingForActivityResult = true;
-    }
-
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        mWaitingForActivityResult = false;
-
-        if (mEditUserPhotoController != null && mEditUserInfoDialog != null) {
-            mEditUserPhotoController.onActivityResult(requestCode, resultCode, data);
-        }
-    }
-
-    public Dialog createDialog(final Fragment fragment, final Drawable currentUserIcon,
-            final CharSequence currentUserName,
-            String title, final OnContentChangedCallback callback, UserHandle user,
-            OnDialogCompleteCallback completeCallback) {
-        Activity activity = fragment.getActivity();
-        mUser = user;
-        if (mUserManager == null) {
-            mUserManager = activity.getSystemService(UserManager.class);
-        }
-        LayoutInflater inflater = activity.getLayoutInflater();
-        View content = inflater.inflate(R.layout.edit_user_info_dialog_content, null);
-
-        final EditText userNameView = (EditText) content.findViewById(R.id.user_name);
-        userNameView.setText(currentUserName);
-
-        final ImageView userPhotoView = (ImageView) content.findViewById(R.id.user_photo);
-
-        boolean canChangePhoto = mUserManager != null &&
-                canChangePhoto(activity, mUserManager.getUserInfo(user.getIdentifier()));
-        if (!canChangePhoto) {
-            // some users can't change their photos so we need to remove suggestive
-            // background from the photoView
-            userPhotoView.setBackground(null);
-        }
-        Drawable drawable = null;
-        if (mSavedPhoto != null) {
-            drawable = CircleFramedDrawable.getInstance(activity, mSavedPhoto);
-        } else {
-            drawable = currentUserIcon;
-        }
-        userPhotoView.setImageDrawable(drawable);
-        if (canChangePhoto) {
-            mEditUserPhotoController =
-                    createEditUserPhotoController(fragment, userPhotoView, drawable);
-        }
-        mEditUserInfoDialog = new AlertDialog.Builder(activity)
-                .setTitle(title)
-                .setView(content)
-                .setCancelable(true)
-                .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        if (which == DialogInterface.BUTTON_POSITIVE) {
-                            // Update the name if changed.
-                            CharSequence userName = userNameView.getText();
-                            if (!TextUtils.isEmpty(userName)) {
-                                if (currentUserName == null
-                                        || !userName.toString().equals(
-                                        currentUserName.toString())) {
-                                    if (callback != null) {
-                                        callback.onLabelChanged(mUser, userName.toString());
-                                    }
-                                }
-                            }
-                            // Update the photo if changed.
-                            if (mEditUserPhotoController != null) {
-                                Drawable drawable =
-                                        mEditUserPhotoController.getNewUserPhotoDrawable();
-                                if (drawable != null && !drawable.equals(currentUserIcon)) {
-                                    if (callback != null) {
-                                        callback.onPhotoChanged(mUser, drawable);
-                                    }
-                                }
-                            }
-                        }
-                        clear();
-                        if (completeCallback != null) {
-                            completeCallback.onPositive();
-                        }
-                    }
-                })
-                .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        clear();
-                        if (completeCallback != null) {
-                            completeCallback.onNegativeOrCancel();
-                        }
-                    }
-                })
-                .setOnCancelListener(new DialogInterface.OnCancelListener() {
-                    @Override
-                    public void onCancel(DialogInterface dialog) {
-                        clear();
-                        if (completeCallback != null) {
-                            completeCallback.onNegativeOrCancel();
-                        }
-                    }
-                })
-                .create();
-
-        // Make sure the IME is up.
-        mEditUserInfoDialog.getWindow().setSoftInputMode(
-                WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
-
-        return mEditUserInfoDialog;
-    }
-
-    @VisibleForTesting
-    boolean canChangePhoto(Context context, UserInfo user) {
-        return PhotoCapabilityUtils.canCropPhoto(context) &&
-                (PhotoCapabilityUtils.canChoosePhoto(context)
-                        || PhotoCapabilityUtils.canTakePhoto(context));
-    }
-
-    @VisibleForTesting
-    EditUserPhotoController createEditUserPhotoController(Fragment fragment,
-            ImageView userPhotoView, Drawable drawable) {
-        return new EditUserPhotoController(fragment, userPhotoView,
-                mSavedPhoto, drawable, mWaitingForActivityResult);
-    }
-}
diff --git a/src/com/android/settings/users/EditUserPhotoController.java b/src/com/android/settings/users/EditUserPhotoController.java
deleted file mode 100644
index a20513a..0000000
--- a/src/com/android/settings/users/EditUserPhotoController.java
+++ /dev/null
@@ -1,465 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.users;
-
-import android.app.Activity;
-import android.content.ClipData;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.database.Cursor;
-import android.graphics.Bitmap;
-import android.graphics.Bitmap.Config;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.os.AsyncTask;
-import android.os.StrictMode;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.ContactsContract.DisplayPhoto;
-import android.provider.MediaStore;
-import android.util.Log;
-import android.view.Gravity;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ImageView;
-import android.widget.ListPopupWindow;
-import android.widget.TextView;
-
-import androidx.core.content.FileProvider;
-import androidx.fragment.app.Fragment;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.drawable.CircleFramedDrawable;
-
-import libcore.io.Streams;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-public class EditUserPhotoController {
-    private static final String TAG = "EditUserPhotoController";
-
-    // It seems that this class generates custom request codes and they may
-    // collide with ours, these values are very unlikely to have a conflict.
-    private static final int REQUEST_CODE_CHOOSE_PHOTO = 1001;
-    private static final int REQUEST_CODE_TAKE_PHOTO   = 1002;
-    private static final int REQUEST_CODE_CROP_PHOTO   = 1003;
-
-    private static final String CROP_PICTURE_FILE_NAME = "CropEditUserPhoto.jpg";
-    private static final String TAKE_PICTURE_FILE_NAME = "TakeEditUserPhoto2.jpg";
-    private static final String NEW_USER_PHOTO_FILE_NAME = "NewUserPhoto.png";
-
-    private final int mPhotoSize;
-
-    private final Context mContext;
-    private final Fragment mFragment;
-    private final ImageView mImageView;
-
-    private final Uri mCropPictureUri;
-    private final Uri mTakePictureUri;
-
-    private Bitmap mNewUserPhotoBitmap;
-    private Drawable mNewUserPhotoDrawable;
-
-    public EditUserPhotoController(Fragment fragment, ImageView view,
-            Bitmap bitmap, Drawable drawable, boolean waiting) {
-        mContext = view.getContext();
-        mFragment = fragment;
-        mImageView = view;
-        mCropPictureUri = createTempImageUri(mContext, CROP_PICTURE_FILE_NAME, !waiting);
-        mTakePictureUri = createTempImageUri(mContext, TAKE_PICTURE_FILE_NAME, !waiting);
-        mPhotoSize = getPhotoSize(mContext);
-        mImageView.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                showUpdatePhotoPopup();
-            }
-        });
-        mNewUserPhotoBitmap = bitmap;
-        mNewUserPhotoDrawable = drawable;
-    }
-
-    public boolean onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (resultCode != Activity.RESULT_OK) {
-            return false;
-        }
-        final Uri pictureUri = data != null && data.getData() != null
-                ? data.getData() : mTakePictureUri;
-        switch (requestCode) {
-            case REQUEST_CODE_CROP_PHOTO:
-                onPhotoCropped(pictureUri, true);
-                return true;
-            case REQUEST_CODE_TAKE_PHOTO:
-            case REQUEST_CODE_CHOOSE_PHOTO:
-                if (mTakePictureUri.equals(pictureUri)) {
-                    cropPhoto();
-                } else {
-                    copyAndCropPhoto(pictureUri);
-                }
-                return true;
-        }
-        return false;
-    }
-
-    public Bitmap getNewUserPhotoBitmap() {
-        return mNewUserPhotoBitmap;
-    }
-
-    public Drawable getNewUserPhotoDrawable() {
-        return mNewUserPhotoDrawable;
-    }
-
-    private void showUpdatePhotoPopup() {
-        final Context context = mImageView.getContext();
-        final boolean canTakePhoto = PhotoCapabilityUtils.canTakePhoto(context);
-        final boolean canChoosePhoto = PhotoCapabilityUtils.canChoosePhoto(context);
-
-        if (!canTakePhoto && !canChoosePhoto) {
-            return;
-        }
-
-        final List<EditUserPhotoController.RestrictedMenuItem> items = new ArrayList<>();
-
-        if (canTakePhoto) {
-            final String title = context.getString(R.string.user_image_take_photo);
-            final Runnable action = new Runnable() {
-                @Override
-                public void run() {
-                    takePhoto();
-                }
-            };
-            items.add(new RestrictedMenuItem(context, title, UserManager.DISALLOW_SET_USER_ICON,
-                    action));
-        }
-
-        if (canChoosePhoto) {
-            final String title = context.getString(R.string.user_image_choose_photo);
-            final Runnable action = new Runnable() {
-                @Override
-                public void run() {
-                    choosePhoto();
-                }
-            };
-            items.add(new RestrictedMenuItem(context, title, UserManager.DISALLOW_SET_USER_ICON,
-                    action));
-        }
-
-        final ListPopupWindow listPopupWindow = new ListPopupWindow(context);
-
-        listPopupWindow.setAnchorView(mImageView);
-        listPopupWindow.setModal(true);
-        listPopupWindow.setInputMethodMode(ListPopupWindow.INPUT_METHOD_NOT_NEEDED);
-        listPopupWindow.setAdapter(new RestrictedPopupMenuAdapter(context, items));
-
-        final int width = Math.max(mImageView.getWidth(), context.getResources()
-                .getDimensionPixelSize(R.dimen.update_user_photo_popup_min_width));
-        listPopupWindow.setWidth(width);
-        listPopupWindow.setDropDownGravity(Gravity.START);
-
-        listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
-                listPopupWindow.dismiss();
-                final RestrictedMenuItem item =
-                        (RestrictedMenuItem) parent.getAdapter().getItem(position);
-                item.doAction();
-            }
-        });
-
-        listPopupWindow.show();
-    }
-
-    private void takePhoto() {
-        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
-        appendOutputExtra(intent, mTakePictureUri);
-        mFragment.startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO);
-    }
-
-    private void choosePhoto() {
-        Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
-        intent.setType("image/*");
-        appendOutputExtra(intent, mTakePictureUri);
-        mFragment.startActivityForResult(intent, REQUEST_CODE_CHOOSE_PHOTO);
-    }
-
-    private void copyAndCropPhoto(final Uri pictureUri) {
-        new AsyncTask<Void, Void, Void>() {
-            @Override
-            protected Void doInBackground(Void... params) {
-                final ContentResolver cr = mContext.getContentResolver();
-                try (InputStream in = cr.openInputStream(pictureUri);
-                        OutputStream out = cr.openOutputStream(mTakePictureUri)) {
-                    Streams.copy(in, out);
-                } catch (IOException e) {
-                    Log.w(TAG, "Failed to copy photo", e);
-                }
-                return null;
-            }
-
-            @Override
-            protected void onPostExecute(Void result) {
-                if (!mFragment.isAdded()) return;
-                cropPhoto();
-            }
-        }.execute();
-    }
-
-    private void cropPhoto() {
-        // TODO: Use a public intent, when there is one.
-        Intent intent = new Intent("com.android.camera.action.CROP");
-        intent.setDataAndType(mTakePictureUri, "image/*");
-        appendOutputExtra(intent, mCropPictureUri);
-        appendCropExtras(intent);
-        if (intent.resolveActivity(mContext.getPackageManager()) != null) {
-            try {
-                StrictMode.disableDeathOnFileUriExposure();
-                mFragment.startActivityForResult(intent, REQUEST_CODE_CROP_PHOTO);
-            } finally {
-                StrictMode.enableDeathOnFileUriExposure();
-            }
-        } else {
-            onPhotoCropped(mTakePictureUri, false);
-        }
-    }
-
-    private void appendOutputExtra(Intent intent, Uri pictureUri) {
-        intent.putExtra(MediaStore.EXTRA_OUTPUT, pictureUri);
-        intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION
-                | Intent.FLAG_GRANT_READ_URI_PERMISSION);
-        intent.setClipData(ClipData.newRawUri(MediaStore.EXTRA_OUTPUT, pictureUri));
-    }
-
-    private void appendCropExtras(Intent intent) {
-        intent.putExtra("crop", "true");
-        intent.putExtra("scale", true);
-        intent.putExtra("scaleUpIfNeeded", true);
-        intent.putExtra("aspectX", 1);
-        intent.putExtra("aspectY", 1);
-        intent.putExtra("outputX", mPhotoSize);
-        intent.putExtra("outputY", mPhotoSize);
-    }
-
-    private void onPhotoCropped(final Uri data, final boolean cropped) {
-        new AsyncTask<Void, Void, Bitmap>() {
-            @Override
-            protected Bitmap doInBackground(Void... params) {
-                if (cropped) {
-                    InputStream imageStream = null;
-                    try {
-                        imageStream = mContext.getContentResolver()
-                                .openInputStream(data);
-                        return BitmapFactory.decodeStream(imageStream);
-                    } catch (FileNotFoundException fe) {
-                        Log.w(TAG, "Cannot find image file", fe);
-                        return null;
-                    } finally {
-                        if (imageStream != null) {
-                            try {
-                                imageStream.close();
-                            } catch (IOException ioe) {
-                                Log.w(TAG, "Cannot close image stream", ioe);
-                            }
-                        }
-                    }
-                } else {
-                    // Scale and crop to a square aspect ratio
-                    Bitmap croppedImage = Bitmap.createBitmap(mPhotoSize, mPhotoSize,
-                            Config.ARGB_8888);
-                    Canvas canvas = new Canvas(croppedImage);
-                    Bitmap fullImage = null;
-                    try {
-                        InputStream imageStream = mContext.getContentResolver()
-                                .openInputStream(data);
-                        fullImage = BitmapFactory.decodeStream(imageStream);
-                    } catch (FileNotFoundException fe) {
-                        return null;
-                    }
-                    if (fullImage != null) {
-                        final int squareSize = Math.min(fullImage.getWidth(),
-                                fullImage.getHeight());
-                        final int left = (fullImage.getWidth() - squareSize) / 2;
-                        final int top = (fullImage.getHeight() - squareSize) / 2;
-                        Rect rectSource = new Rect(left, top,
-                                left + squareSize, top + squareSize);
-                        Rect rectDest = new Rect(0, 0, mPhotoSize, mPhotoSize);
-                        Paint paint = new Paint();
-                        canvas.drawBitmap(fullImage, rectSource, rectDest, paint);
-                        return croppedImage;
-                    } else {
-                        // Bah! Got nothin.
-                        return null;
-                    }
-                }
-            }
-
-            @Override
-            protected void onPostExecute(Bitmap bitmap) {
-                if (bitmap != null) {
-                    mNewUserPhotoBitmap = bitmap;
-                    mNewUserPhotoDrawable = CircleFramedDrawable
-                            .getInstance(mImageView.getContext(), mNewUserPhotoBitmap);
-                    mImageView.setImageDrawable(mNewUserPhotoDrawable);
-                }
-                new File(mContext.getCacheDir(), TAKE_PICTURE_FILE_NAME).delete();
-                new File(mContext.getCacheDir(), CROP_PICTURE_FILE_NAME).delete();
-            }
-        }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[]) null);
-    }
-
-    private static int getPhotoSize(Context context) {
-        Cursor cursor = context.getContentResolver().query(
-                DisplayPhoto.CONTENT_MAX_DIMENSIONS_URI,
-                new String[]{DisplayPhoto.DISPLAY_MAX_DIM}, null, null, null);
-        try {
-            cursor.moveToFirst();
-            return cursor.getInt(0);
-        } finally {
-            cursor.close();
-        }
-    }
-
-    private Uri createTempImageUri(Context context, String fileName, boolean purge) {
-        final File folder = context.getCacheDir();
-        folder.mkdirs();
-        final File fullPath = new File(folder, fileName);
-        if (purge) {
-            fullPath.delete();
-        }
-        return FileProvider.getUriForFile(context, Utils.FILE_PROVIDER_AUTHORITY, fullPath);
-    }
-
-    File saveNewUserPhotoBitmap() {
-        if (mNewUserPhotoBitmap == null) {
-            return null;
-        }
-        try {
-            File file = new File(mContext.getCacheDir(), NEW_USER_PHOTO_FILE_NAME);
-            OutputStream os = new FileOutputStream(file);
-            mNewUserPhotoBitmap.compress(Bitmap.CompressFormat.PNG, 100, os);
-            os.flush();
-            os.close();
-            return file;
-        } catch (IOException e) {
-            Log.e(TAG, "Cannot create temp file", e);
-        }
-        return null;
-    }
-
-    static Bitmap loadNewUserPhotoBitmap(File file) {
-        return BitmapFactory.decodeFile(file.getAbsolutePath());
-    }
-
-    void removeNewUserPhotoBitmapFile() {
-        new File(mContext.getCacheDir(), NEW_USER_PHOTO_FILE_NAME).delete();
-    }
-
-    private static final class RestrictedMenuItem {
-        private final Context mContext;
-        private final String mTitle;
-        private final Runnable mAction;
-        private final RestrictedLockUtils.EnforcedAdmin mAdmin;
-        // Restriction may be set by system or something else via UserManager.setUserRestriction().
-        private final boolean mIsRestrictedByBase;
-
-        /**
-         * The menu item, used for popup menu. Any element of such a menu can be disabled by admin.
-         * @param context A context.
-         * @param title The title of the menu item.
-         * @param restriction The restriction, that if is set, blocks the menu item.
-         * @param action The action on menu item click.
-         */
-        public RestrictedMenuItem(Context context, String title, String restriction,
-                Runnable action) {
-            mContext = context;
-            mTitle = title;
-            mAction = action;
-
-            final int myUserId = UserHandle.myUserId();
-            mAdmin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(context,
-                    restriction, myUserId);
-            mIsRestrictedByBase = RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext,
-                    restriction, myUserId);
-        }
-
-        @Override
-        public String toString() {
-            return mTitle;
-        }
-
-        final void doAction() {
-            if (isRestrictedByBase()) {
-                return;
-            }
-
-            if (isRestrictedByAdmin()) {
-                RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, mAdmin);
-                return;
-            }
-
-            mAction.run();
-        }
-
-        final boolean isRestrictedByAdmin() {
-            return mAdmin != null;
-        }
-
-        final boolean isRestrictedByBase() {
-            return mIsRestrictedByBase;
-        }
-    }
-
-    /**
-     * Provide this adapter to ListPopupWindow.setAdapter() to have a popup window menu, where
-     * any element can be restricted by admin (profile owner or device owner).
-     */
-    private static final class RestrictedPopupMenuAdapter extends ArrayAdapter<RestrictedMenuItem> {
-        public RestrictedPopupMenuAdapter(Context context, List<RestrictedMenuItem> items) {
-            super(context, R.layout.restricted_popup_menu_item, R.id.text, items);
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            final View view = super.getView(position, convertView, parent);
-            final RestrictedMenuItem item = getItem(position);
-            final TextView text = (TextView) view.findViewById(R.id.text);
-            final ImageView image = (ImageView) view.findViewById(R.id.restricted_icon);
-
-            text.setEnabled(!item.isRestrictedByAdmin() && !item.isRestrictedByBase());
-            image.setVisibility(item.isRestrictedByAdmin() && !item.isRestrictedByBase() ?
-                    ImageView.VISIBLE : ImageView.GONE);
-
-            return view;
-        }
-    }
-}
diff --git a/src/com/android/settings/users/PhotoCapabilityUtils.java b/src/com/android/settings/users/PhotoCapabilityUtils.java
deleted file mode 100644
index 1e09857..0000000
--- a/src/com/android/settings/users/PhotoCapabilityUtils.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.users;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.provider.MediaStore;
-
-class PhotoCapabilityUtils {
-
-    /**
-     * Check if the current user can perform any activity for
-     * android.media.action.IMAGE_CAPTURE action.
-     */
-    static boolean canTakePhoto(Context context) {
-        return context.getPackageManager().queryIntentActivities(
-                new Intent(MediaStore.ACTION_IMAGE_CAPTURE),
-                PackageManager.MATCH_DEFAULT_ONLY).size() > 0;
-    }
-
-    /**
-     * Check if the current user can perform any activity for
-     * android.intent.action.GET_CONTENT action for images.
-     */
-    static boolean canChoosePhoto(Context context) {
-        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
-        intent.setType("image/*");
-        return context.getPackageManager().queryIntentActivities(intent, 0).size() > 0;
-    }
-
-    /**
-     * Check if the current user can perform any activity for
-     * com.android.camera.action.CROP action for images.
-     */
-    static boolean canCropPhoto(Context context) {
-        Intent intent = new Intent("com.android.camera.action.CROP");
-        intent.setType("image/*");
-        return context.getPackageManager().queryIntentActivities(intent, 0).size() > 0;
-    }
-
-}
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 8bfac91..50cb5de 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.users;
 
-import static android.os.Process.myUserHandle;
-
 import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.Dialog;
@@ -39,10 +37,12 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.ContactsContract;
+import android.text.TextUtils;
 import android.util.Log;
 import android.util.SparseArray;
 import android.view.Menu;
@@ -73,6 +73,8 @@
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.drawable.CircleFramedDrawable;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.users.EditUserInfoController;
+import com.android.settingslib.users.UserCreatingDialog;
 import com.android.settingslib.utils.ThreadUtils;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -83,7 +85,6 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Random;
 
 /**
  * Screen that manages the list of users on the device.
@@ -165,9 +166,11 @@
     private static SparseArray<Bitmap> sDarkDefaultUserBitmapCache = new SparseArray<>();
 
     private MultiUserSwitchBarController mSwitchBarController;
-    private EditUserInfoController mEditUserInfoController = new EditUserInfoController();
+    private EditUserInfoController mEditUserInfoController =
+            new EditUserInfoController(Utils.FILE_PROVIDER_AUTHORITY);
     private AddUserWhenLockedPreferenceController mAddUserWhenLockedPreferenceController;
     private MultiUserFooterPreferenceController mMultiUserFooterPreferenceController;
+    private UserCreatingDialog mUserCreatingDialog;
 
     private CharSequence mPendingUserName;
     private Drawable mPendingUserIcon;
@@ -175,6 +178,8 @@
     // A place to cache the generated default avatar
     private Drawable mDefaultIconDrawable;
 
+    // TODO:   Replace current Handler solution to something that doesn't leak memory and works
+    // TODO:   during a configuration change
     private Handler mHandler = new Handler() {
         @Override
         public void handleMessage(Message msg) {
@@ -321,9 +326,9 @@
 
     @Override
     public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
         mEditUserInfoController.onSaveInstanceState(outState);
         outState.putInt(SAVE_REMOVING_USER, mRemovingUserId);
+        super.onSaveInstanceState(outState);
     }
 
     @Override
@@ -471,11 +476,22 @@
     }
 
     private void onUserCreated(int userId) {
+        hideUserCreatingDialog();
+        // prevent crash when config changes during user creation
+        if (getContext() == null) {
+            return;
+        }
         mAddingUser = false;
         UserInfo userInfo = mUserManager.getUserInfo(userId);
         openUserDetails(userInfo, true);
     }
 
+    private void hideUserCreatingDialog() {
+        if (mUserCreatingDialog != null && mUserCreatingDialog.isShowing()) {
+            mUserCreatingDialog.dismiss();
+        }
+    }
+
     private void openUserDetails(UserInfo userInfo, boolean newUser) {
         Bundle extras = new Bundle();
         extras.putInt(UserDetailsSettings.EXTRA_USER_ID, userInfo.id);
@@ -605,94 +621,82 @@
                 return dlg;
             }
             case DIALOG_USER_PROFILE_EDITOR: {
-                UserHandle user = myUserHandle();
-                UserInfo info = mUserManager.getUserInfo(user.getIdentifier());
-                return mEditUserInfoController.createDialog(
-                        this,
-                        Utils.getUserIcon(getPrefContext(), mUserManager, info),
-                        info.name,
-                        getString(com.android.settingslib.R.string.profile_info_settings_title),
-                        new EditUserInfoController.OnContentChangedCallback() {
-                            @Override
-                            public void onPhotoChanged(UserHandle user, Drawable photo) {
-                                ThreadUtils.postOnBackgroundThread(new Runnable() {
-                                    @Override
-                                    public void run() {
-                                        mUserManager.setUserIcon(user.getIdentifier(),
-                                                UserIcons.convertToBitmap(photo));
-                                    }
-                                });
-                                mMePreference.setIcon(photo);
-                            }
-
-                            @Override
-                            public void onLabelChanged(UserHandle user, CharSequence label) {
-                                mMePreference.setTitle(label.toString());
-                                mUserManager.setUserName(user.getIdentifier(), label.toString());
-                            }
-                        },
-                        user,
-                        null);
+                return buildEditCurrentUserDialog();
             }
             case DIALOG_USER_PROFILE_EDITOR_ADD_USER: {
                 synchronized (mUserLock) {
-                    mPendingUserIcon = UserIcons.getDefaultUserIcon(getPrefContext().getResources(),
-                            new Random(System.currentTimeMillis()).nextInt(8), false);
                     mPendingUserName = getString(
                             com.android.settingslib.R.string.user_new_user_name);
+                    mPendingUserIcon = null;
                 }
-                return buildAddUserProfileEditorDialog(USER_TYPE_USER);
+                return buildAddUserDialog(USER_TYPE_USER);
             }
             case DIALOG_USER_PROFILE_EDITOR_ADD_RESTRICTED_PROFILE: {
                 synchronized (mUserLock) {
-                    mPendingUserIcon = UserIcons.getDefaultUserIcon(getPrefContext().getResources(),
-                            new Random(System.currentTimeMillis()).nextInt(8), false);
                     mPendingUserName = getString(
                             com.android.settingslib.R.string.user_new_profile_name);
+                    mPendingUserIcon = null;
                 }
-                return buildAddUserProfileEditorDialog(USER_TYPE_RESTRICTED_PROFILE);
+                return buildAddUserDialog(USER_TYPE_RESTRICTED_PROFILE);
             }
             default:
                 return null;
         }
     }
 
-    private Dialog buildAddUserProfileEditorDialog(int userType) {
+    private Dialog buildEditCurrentUserDialog() {
+        final Activity activity = getActivity();
+        if (activity == null) {
+            return null;
+        }
+
+        UserInfo user = mUserManager.getUserInfo(Process.myUserHandle().getIdentifier());
+        Drawable userIcon = Utils.getUserIcon(activity, mUserManager, user);
+
+        return mEditUserInfoController.createDialog(
+                activity,
+                this::startActivityForResult,
+                userIcon,
+                user.name,
+                getString(com.android.settingslib.R.string.profile_info_settings_title),
+                (newUserName, newUserIcon) -> {
+                    if (newUserIcon != userIcon) {
+                        ThreadUtils.postOnBackgroundThread(() ->
+                                mUserManager.setUserIcon(user.id,
+                                        UserIcons.convertToBitmap(newUserIcon)));
+                        mMePreference.setIcon(newUserIcon);
+                    }
+
+                    if (!TextUtils.isEmpty(newUserName) && !newUserName.equals(user.name)) {
+                        mMePreference.setTitle(newUserName);
+                        mUserManager.setUserName(user.id, newUserName);
+                    }
+                }, null);
+    }
+
+    private Dialog buildAddUserDialog(int userType) {
         Dialog d;
         synchronized (mUserLock) {
             d = mEditUserInfoController.createDialog(
-                    this,
-                    mPendingUserIcon,
-                    mPendingUserName,
+                    getActivity(),
+                    this::startActivityForResult,
+                    null,
+                    mPendingUserName.toString(),
                     getString(userType == USER_TYPE_USER
                             ? com.android.settingslib.R.string.user_info_settings_title
                             : com.android.settingslib.R.string.profile_info_settings_title),
-                    new EditUserInfoController.OnContentChangedCallback() {
-                        @Override
-                        public void onPhotoChanged(UserHandle user, Drawable photo) {
-                            mPendingUserIcon = photo;
-                        }
-
-                        @Override
-                        public void onLabelChanged(UserHandle user, CharSequence label) {
-                            mPendingUserName = label;
-                        }
+                    (userName, userIcon) -> {
+                        mPendingUserIcon = userIcon;
+                        mPendingUserName = userName;
+                        addUserNow(userType);
                     },
-                    myUserHandle(),
-                    new EditUserInfoController.OnDialogCompleteCallback() {
-                        @Override
-                        public void onPositive() {
-                            addUserNow(userType);
+                    () -> {
+                        synchronized (mUserLock) {
+                            mPendingUserIcon = null;
+                            mPendingUserName = null;
                         }
-
-                        @Override
-                        public void onNegativeOrCancel() {
-                            synchronized (mUserLock) {
-                                mPendingUserIcon = null;
-                                mPendingUserName = null;
-                            }
-                        }
-                    });
+                    }
+            );
         }
         return d;
     }
@@ -759,6 +763,9 @@
                     : (mPendingUserName != null ? mPendingUserName.toString()
                             : getString(R.string.user_new_profile_name));
         }
+
+        mUserCreatingDialog = new UserCreatingDialog(getActivity());
+        mUserCreatingDialog.show();
         ThreadUtils.postOnBackgroundThread(new Runnable() {
             @Override
             public void run() {
@@ -781,13 +788,15 @@
                         mAddingUser = false;
                         mPendingUserIcon = null;
                         mPendingUserName = null;
+                        ThreadUtils.postOnMainThread(() -> hideUserCreatingDialog());
                         return;
                     }
 
-                    if (mPendingUserIcon != null) {
-                        mUserManager.setUserIcon(user.id,
-                                UserIcons.convertToBitmap(mPendingUserIcon));
+                    Drawable newUserIcon = mPendingUserIcon;
+                    if (newUserIcon == null) {
+                        newUserIcon = UserIcons.getDefaultUserIcon(getResources(), user.id, false);
                     }
+                    mUserManager.setUserIcon(user.id, UserIcons.convertToBitmap(newUserIcon));
 
                     if (userType == USER_TYPE_USER) {
                         mHandler.sendEmptyMessage(MESSAGE_UPDATE_LIST);
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 9676f58..a2b143e 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -738,10 +738,7 @@
         }
 
         mMacAddressPref.setVisible(true);
-
-        mMacAddressPref.setTitle((mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC)
-                ? R.string.wifi_advanced_randomized_mac_address_title
-                : R.string.wifi_advanced_device_mac_address_title);
+        mMacAddressPref.setTitle(getMacAddressTitle());
 
         if (macAddress.equals(WifiInfo.DEFAULT_MAC_ADDRESS)) {
             mMacAddressPref.setSummary(R.string.device_info_not_available);
@@ -750,6 +747,15 @@
         }
     }
 
+    private int getMacAddressTitle() {
+        if (mWifiEntry.getPrivacy() == WifiEntry.PRIVACY_RANDOMIZED_MAC) {
+            return mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED
+                    ? R.string.wifi_advanced_randomized_mac_address_title
+                    : R.string.wifi_advanced_randomized_mac_address_disconnected_title;
+        }
+        return R.string.wifi_advanced_device_mac_address_title;
+    }
+
     private void updatePreference(Preference pref, String detailText) {
         if (!TextUtils.isEmpty(detailText)) {
             pref.setSummary(detailText);
diff --git a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
index 76a8c5f..db8bd67 100644
--- a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
+++ b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
@@ -255,6 +255,11 @@
      * API call for refreshing the preferences in this fragment.
      */
     public void refreshPreferences() {
+        updatePreferenceStates();
+        displayPreferenceControllers();
+    }
+
+    protected void displayPreferenceControllers() {
         final PreferenceScreen screen = getPreferenceScreen();
         for (AbstractPreferenceController controller : mControllers) {
             // WifiDetailPreferenceController2 gets the callback WifiEntryCallback#onUpdated,
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
index a0d4b16..60c1d99 100644
--- a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -69,12 +69,12 @@
     public void updateState(Preference preference) {
         final DropDownPreference dropDownPreference = (DropDownPreference) preference;
         final int randomizationLevel = getRandomizationValue();
+        final boolean isSelectable = mWifiEntry.canSetPrivacy();
+        preference.setSelectable(isSelectable);
         dropDownPreference.setValue(Integer.toString(randomizationLevel));
-        updateSummary(dropDownPreference, randomizationLevel);
-
-        // Makes preference not selectable, when this is a ephemeral network.
-        if (!mWifiEntry.canSetPrivacy()) {
-            preference.setSelectable(false);
+        if (isSelectable) {
+            updateSummary(dropDownPreference, randomizationLevel);
+        } else {
             dropDownPreference.setSummary(R.string.wifi_privacy_settings_ephemeral_summary);
         }
     }
diff --git a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
index e914b01..e251669 100644
--- a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
@@ -35,6 +35,6 @@
         // Nightmode is currently hidden
         preferenceKeys.remove("night_mode");
 
-        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+        assertThat(preferenceScreenKeys).containsAtLeastElementsIn(preferenceKeys);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/LegalSettingsTest.java b/tests/robotests/src/com/android/settings/LegalSettingsTest.java
index 78a5ee3..3418a40 100644
--- a/tests/robotests/src/com/android/settings/LegalSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/LegalSettingsTest.java
@@ -46,6 +46,6 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.about_legal);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/SettingsInitializeTest.java b/tests/robotests/src/com/android/settings/SettingsInitializeTest.java
index c28ffc4..a8f42c2 100644
--- a/tests/robotests/src/com/android/settings/SettingsInitializeTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsInitializeTest.java
@@ -94,6 +94,6 @@
 
         final List<ShortcutInfo> updatedShortcuts = mShortcutManager.getPinnedShortcuts();
         assertThat(updatedShortcuts).hasSize(1);
-        assertThat(updatedShortcuts.get(0)).isSameAs(info);
+        assertThat(updatedShortcuts.get(0)).isSameInstanceAs(info);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java
index 303fb1b..2aa8418 100644
--- a/tests/robotests/src/com/android/settings/UtilsTest.java
+++ b/tests/robotests/src/com/android/settings/UtilsTest.java
@@ -40,8 +40,6 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.VectorDrawable;
-import android.media.MediaRoute2Info;
-import android.media.MediaRouter2Manager;
 import android.net.ConnectivityManager;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
@@ -301,33 +299,4 @@
 
         assertThat(Utils.isSettingsIntelligence(mContext)).isFalse();
     }
-
-    @Test
-    public void isMediaOutputDisabled_infosSizeEqual1_returnsTrue() {
-        final MediaRouter2Manager router2Manager = mock(MediaRouter2Manager.class);
-        final MediaRoute2Info info = mock(MediaRoute2Info.class);
-        final List<MediaRoute2Info> infos = new ArrayList<>();
-        infos.add(info);
-
-        when(router2Manager.getAvailableRoutes(anyString())).thenReturn(infos);
-        when(info.getType()).thenReturn(0);
-
-        assertThat(Utils.isMediaOutputDisabled(router2Manager, "test")).isTrue();
-    }
-
-    @Test
-    public void isMediaOutputDisabled_infosSizeOverThan1_returnsFalse() {
-        final MediaRouter2Manager router2Manager = mock(MediaRouter2Manager.class);
-        final MediaRoute2Info info = mock(MediaRoute2Info.class);
-        final MediaRoute2Info info2 = mock(MediaRoute2Info.class);
-        final List<MediaRoute2Info> infos = new ArrayList<>();
-        infos.add(info);
-        infos.add(info2);
-
-        when(router2Manager.getAvailableRoutes(anyString())).thenReturn(infos);
-        when(info.getType()).thenReturn(0);
-        when(info2.getType()).thenReturn(0);
-
-        assertThat(Utils.isMediaOutputDisabled(router2Manager, "test")).isFalse();
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 329c23d..c2cc609 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -99,7 +99,7 @@
         final List<String> keys =
                 XmlTestUtils.getKeysFromPreferenceXml(mContext, R.xml.accessibility_settings);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/ForceBoldTextPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ForceBoldTextPreferenceControllerTest.java
new file mode 100644
index 0000000..46e1f48
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/ForceBoldTextPreferenceControllerTest.java
@@ -0,0 +1,95 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class ForceBoldTextPreferenceControllerTest {
+    private static final int ON = 2;
+    private static final int OFF = 1;
+    private static final int UNKNOWN = 0;
+
+    private Context mContext;
+    private SwitchPreference mPreference;
+    private ForceBoldTextPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SwitchPreference(mContext);
+        mController = new ForceBoldTextPreferenceController(mContext, "force_bold_text");
+    }
+
+    @Test
+    public void getAvailabilityStatus_byDefault_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isChecked_enabledTextContrast_shouldReturnTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.FORCE_BOLD_TEXT, ON);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_disabledTextContrast_shouldReturnFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.FORCE_BOLD_TEXT, OFF);
+
+        mController.updateState(mPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_setTrue_shouldEnableTextContrast() {
+        mController.setChecked(true);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.FORCE_BOLD_TEXT, UNKNOWN)).isEqualTo(ON);
+
+    }
+
+    @Test
+    public void setChecked_setFalse_shouldDisableTextContrast() {
+        mController.setChecked(false);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.FORCE_BOLD_TEXT, UNKNOWN)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/PreferredShortcutTest.java b/tests/robotests/src/com/android/settings/accessibility/PreferredShortcutTest.java
new file mode 100644
index 0000000..e7d0996
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/PreferredShortcutTest.java
@@ -0,0 +1,63 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/** Tests for {@link PreferredShortcut} */
+@RunWith(AndroidJUnit4.class)
+public class PreferredShortcutTest {
+
+    private static final String STUB_COMPONENT_NAME = new ComponentName("com.example",
+            "com.example.testActivity").flattenToString();
+    private static final int STUB_TYPE = 3;
+
+    @Test
+    public void fromString_matchMemberObject() {
+        final String preferredShortcutString = STUB_COMPONENT_NAME + ":" + STUB_TYPE;
+
+        final PreferredShortcut shortcut = PreferredShortcut.fromString(preferredShortcutString);
+
+        assertThat(shortcut.getComponentName()).isEqualTo(STUB_COMPONENT_NAME);
+        assertThat(shortcut.getType()).isEqualTo(STUB_TYPE);
+    }
+
+    @Test
+    public void toString_matchString() {
+        final PreferredShortcut shortcut = new PreferredShortcut(STUB_COMPONENT_NAME, STUB_TYPE);
+
+        final String preferredShortcutString = shortcut.toString();
+
+        assertThat(preferredShortcutString).isEqualTo(STUB_COMPONENT_NAME + ":" + STUB_TYPE);
+    }
+
+    @Test
+    public void assertSameObject() {
+        final String preferredShortcutString = STUB_COMPONENT_NAME + ":" + STUB_TYPE;
+        final PreferredShortcut targetShortcut = PreferredShortcut.fromString(
+                preferredShortcutString);
+
+        assertThat(targetShortcut).isEqualTo(new PreferredShortcut(STUB_COMPONENT_NAME, STUB_TYPE));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/PreferredShortcutsTest.java b/tests/robotests/src/com/android/settings/accessibility/PreferredShortcutsTest.java
new file mode 100644
index 0000000..a694aa3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/PreferredShortcutsTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link PreferredShortcuts} */
+@RunWith(RobolectricTestRunner.class)
+public class PreferredShortcutsTest {
+
+    private static final String PACKAGE_NAME_1 = "com.test1.example";
+    private static final String CLASS_NAME_1 = PACKAGE_NAME_1 + ".test1";
+    private static final ComponentName COMPONENT_NAME_1 = new ComponentName(PACKAGE_NAME_1,
+            CLASS_NAME_1);
+    private static final String PACKAGE_NAME_2 = "com.test2.example";
+    private static final String CLASS_NAME_2 = PACKAGE_NAME_2 + ".test2";
+    private static final ComponentName COMPONENT_NAME_2 = new ComponentName(PACKAGE_NAME_2,
+            CLASS_NAME_2);
+
+    private Context mContext = ApplicationProvider.getApplicationContext();
+
+    @Test
+    public void retrieveUserShortcutType_fromSingleData_matchSavedType() {
+        final int type = 1;
+        final PreferredShortcut shortcut = new PreferredShortcut(COMPONENT_NAME_1.flattenToString(),
+                type);
+
+        PreferredShortcuts.saveUserShortcutType(mContext, shortcut);
+        final int retrieveType = PreferredShortcuts.retrieveUserShortcutType(mContext,
+                COMPONENT_NAME_1.flattenToString(), 0);
+
+        assertThat(retrieveType).isEqualTo(type);
+    }
+
+    @Test
+    public void retrieveUserShortcutType_fromMultiData_matchSavedType() {
+        final int type1 = 1;
+        final int type2 = 2;
+        final PreferredShortcut shortcut1 = new PreferredShortcut(
+                COMPONENT_NAME_1.flattenToString(), type1);
+        final PreferredShortcut shortcut2 = new PreferredShortcut(
+                COMPONENT_NAME_2.flattenToString(), type2);
+
+        PreferredShortcuts.saveUserShortcutType(mContext, shortcut1);
+        PreferredShortcuts.saveUserShortcutType(mContext, shortcut2);
+        final int retrieveType = PreferredShortcuts.retrieveUserShortcutType(mContext,
+                COMPONENT_NAME_1.flattenToString(), 0);
+
+        assertThat(retrieveType).isEqualTo(type1);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index f008b03..9a157fe 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -43,7 +43,6 @@
 
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
-import com.android.settings.accessibility.ToggleFeaturePreferenceFragment.AccessibilityUserShortcutType;
 import com.android.settings.testutils.shadow.ShadowFragment;
 
 import org.junit.Before;
@@ -55,21 +54,10 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.stream.Collectors;
-
 /** Tests for {@link ToggleFeaturePreferenceFragment} */
 @RunWith(RobolectricTestRunner.class)
 public class ToggleFeaturePreferenceFragmentTest {
 
-    private static final String TEST_SERVICE_KEY_1 = "abc:111";
-    private static final String TEST_SERVICE_KEY_2 = "mno:222";
-    private static final String TEST_SERVICE_KEY_3 = "xyz:333";
-    private static final String TEST_SERVICE_NAME_1 = "abc";
-    private static final int TEST_SERVICE_VALUE_1 = 111;
-
     private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";
     private static final String PLACEHOLDER_CLASS_NAME = PLACEHOLDER_PACKAGE_NAME + ".placeholder";
     private static final ComponentName PLACEHOLDER_COMPONENT_NAME = new ComponentName(
@@ -98,59 +86,6 @@
     }
 
     @Test
-    public void a11yUserShortcutType_setConcatString_shouldReturnTargetValue() {
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(
-                TEST_SERVICE_KEY_1);
-
-        assertThat(shortcut.getComponentName()).isEqualTo(TEST_SERVICE_NAME_1);
-        assertThat(shortcut.getType()).isEqualTo(TEST_SERVICE_VALUE_1);
-    }
-
-    @Test
-    public void a11yUserShortcutType_shouldUpdateConcatString() {
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(
-                TEST_SERVICE_KEY_2);
-
-        shortcut.setComponentName(TEST_SERVICE_NAME_1);
-        shortcut.setType(TEST_SERVICE_VALUE_1);
-
-        assertThat(shortcut.flattenToString()).isEqualTo(TEST_SERVICE_KEY_1);
-    }
-
-    @Test
-    public void stringSet_convertA11yPreferredShortcut_shouldRemoveTarget() {
-        Set<String> mySet = new HashSet<>();
-        mySet.add(TEST_SERVICE_KEY_1);
-        mySet.add(TEST_SERVICE_KEY_2);
-        mySet.add(TEST_SERVICE_KEY_3);
-
-        final Set<String> filtered = mySet.stream()
-                .filter(str -> str.contains(TEST_SERVICE_NAME_1))
-                .collect(Collectors.toSet());
-        mySet.removeAll(filtered);
-
-        assertThat(mySet).doesNotContain(TEST_SERVICE_KEY_1);
-        assertThat(mySet).hasSize(/* expectedSize= */2);
-    }
-
-    @Test
-    public void stringSet_convertA11yUserShortcutType_shouldReturnPreferredShortcut() {
-        Set<String> mySet = new HashSet<>();
-        mySet.add(TEST_SERVICE_KEY_1);
-        mySet.add(TEST_SERVICE_KEY_2);
-        mySet.add(TEST_SERVICE_KEY_3);
-
-        final Set<String> filtered = mySet.stream()
-                .filter(str -> str.contains(TEST_SERVICE_NAME_1))
-                .collect(Collectors.toSet());
-
-        final String str = (String) filtered.toArray()[0];
-        final AccessibilityUserShortcutType shortcut = new AccessibilityUserShortcutType(str);
-        final int type = shortcut.getType();
-        assertThat(type).isEqualTo(TEST_SERVICE_VALUE_1);
-    }
-
-    @Test
     public void createFragment_shouldOnlyAddPreferencesOnce() {
         FragmentController.setupFragment(mFragment, FragmentActivity.class,
                 /* containerViewId= */ 0, /* bundle= */null);
@@ -184,7 +119,7 @@
     @Test
     public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
         mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
-        final AccessibilityUserShortcutType hardwareShortcut = new AccessibilityUserShortcutType(
+        final PreferredShortcut hardwareShortcut = new PreferredShortcut(
                 PLACEHOLDER_COMPONENT_NAME.flattenToString(), UserShortcutType.HARDWARE);
 
         putUserShortcutTypeIntoSharedPreference(mContext, hardwareShortcut);
@@ -219,10 +154,8 @@
     }
 
     private void putUserShortcutTypeIntoSharedPreference(Context context,
-            AccessibilityUserShortcutType shortcut) {
-        Set<String> value = new HashSet<>(Collections.singletonList(shortcut.flattenToString()));
-
-        SharedPreferenceUtils.setUserShortcutType(context, value);
+            PreferredShortcut shortcut) {
+        PreferredShortcuts.saveUserShortcutType(context, shortcut);
     }
 
     private void callEmptyOnClicked(DialogInterface dialog, int which) {}
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
index 8bc3009..5c0cb6d 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
@@ -44,7 +44,6 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
-import com.android.settings.accessibility.ToggleFeaturePreferenceFragment.AccessibilityUserShortcutType;
 import com.android.settings.testutils.shadow.ShadowFragment;
 
 import org.junit.Before;
@@ -55,10 +54,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
 @RunWith(RobolectricTestRunner.class)
 public class ToggleScreenMagnificationPreferenceFragmentTest {
 
@@ -183,7 +178,7 @@
 
     @Test
     public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
-        final AccessibilityUserShortcutType tripleTapShortcut = new AccessibilityUserShortcutType(
+        final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
                 MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TRIPLETAP);
 
         putUserShortcutTypeIntoSharedPreference(mContext, tripleTapShortcut);
@@ -217,10 +212,8 @@
     }
 
     private void putUserShortcutTypeIntoSharedPreference(Context context,
-            AccessibilityUserShortcutType shortcut) {
-        Set<String> value = new HashSet<>(Collections.singletonList(shortcut.flattenToString()));
-
-        SharedPreferenceUtils.setUserShortcutType(context, value);
+            PreferredShortcut shortcut) {
+        PreferredShortcuts.saveUserShortcutType(context, shortcut);
     }
 
     private void setMagnificationTripleTapEnabled(boolean enabled) {
diff --git a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
index 1651cb6..7044389 100644
--- a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
@@ -280,7 +280,7 @@
 
         final List<String> expectedPackages = Arrays.asList(testDialer, testSms,
                 testLocationHistory);
-        assertThat(keepEnabledPackages).containsAllIn(expectedPackages);
+        assertThat(keepEnabledPackages).containsAtLeastElementsIn(expectedPackages);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
index a5ac209..9a65dc8 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
@@ -420,7 +420,7 @@
         mController.forceStopPackage(PACKAGE_NAME);
 
         verify(mAm).forceStopPackage(PACKAGE_NAME);
-        assertThat(mController.mAppEntry).isSameAs(appEntry);
+        assertThat(mController.mAppEntry).isSameInstanceAs(appEntry);
         verify(mController).updateForceStopButton();
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
index 78ab49b..465e735 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.biometrics.fingerprint;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -92,7 +93,7 @@
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
         IntentForResult startedActivity =
                 shadowActivity.getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity 1").isNotNull();
+        assertWithMessage("Next activity 1").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
     }
@@ -107,12 +108,12 @@
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
         IntentForResult startedActivity =
                 shadowActivity.getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity 1").isNotNull();
+        assertWithMessage("Next activity 1").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
 
         // Should only start one next activity
-        assertThat(shadowActivity.getNextStartedActivityForResult()).named("Next activity 2")
+        assertWithMessage("Next activity 2").that(shadowActivity.getNextStartedActivityForResult())
                 .isNull();
     }
 
@@ -129,7 +130,7 @@
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
         IntentForResult startedActivity =
                 shadowActivity.getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity").isNotNull();
+        assertWithMessage("Next activity").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(new ComponentName(application, FingerprintEnrollEnrolling.class));
     }
@@ -140,7 +141,7 @@
         layout.getMixin(FooterBarMixin.class).getSecondaryButtonView().performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mActivity);
-        assertThat(shadowActivity.getResultCode()).named("result code")
+        assertWithMessage("result code").that(shadowActivity.getResultCode())
                 .isEqualTo(BiometricEnrollBase.RESULT_SKIP);
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java
index 9fa6099..ea5511d 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivityTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.biometrics.fingerprint;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -70,12 +71,13 @@
         final Button cancelButton =
                 layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
         assertThat(cancelButton.getText().toString()).isEqualTo("Cancel");
-        assertThat(cancelButton.getVisibility()).named("Cancel visible").isEqualTo(View.VISIBLE);
+        assertWithMessage("Cancel visible").that(cancelButton.getVisibility())
+                .isEqualTo(View.VISIBLE);
         cancelButton.performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mController.get());
-        assertThat(mController.get().isFinishing()).named("Is finishing").isTrue();
-        assertThat(shadowActivity.getResultCode()).named("Result code")
+        assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue();
+        assertWithMessage("Result code").that(shadowActivity.getResultCode())
             .isEqualTo(Activity.RESULT_CANCELED);
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
index 57a56fc..e238a0e 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
@@ -19,6 +19,7 @@
 import static com.android.settings.biometrics.fingerprint.FingerprintEnrollFinish.FINGERPRINT_SUGGESTION_ACTIVITY;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -76,7 +77,7 @@
 
         ShadowActivity.IntentForResult startedActivity =
                 Shadows.shadowOf(mActivity).getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity").isNotNull();
+        assertWithMessage("Next activity").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(enrollingComponent);
     }
@@ -91,7 +92,7 @@
 
         ShadowActivity.IntentForResult startedActivity =
                 Shadows.shadowOf(mActivity).getNextStartedActivityForResult();
-        assertThat(startedActivity).named("Next activity").isNotNull();
+        assertWithMessage("Next activity").that(startedActivity).isNotNull();
         assertThat(startedActivity.intent.getComponent())
                 .isEqualTo(enrollingComponent);
     }
@@ -162,4 +163,4 @@
         assertThat(application.getPackageManager().getComponentEnabledSetting(
                 mComponentName)).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
index 2e70236..25780f7 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.biometrics.fingerprint;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -106,12 +107,12 @@
                 mController.get().findViewById(R.id.setup_wizard_layout);
         final Button skipButton =
                 layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
-        assertThat(skipButton.getVisibility()).named("Skip visible").isEqualTo(View.VISIBLE);
+        assertWithMessage("Skip visible").that(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
         skipButton.performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mController.get());
-        assertThat(mController.get().isFinishing()).named("Is finishing").isTrue();
-        assertThat(shadowActivity.getResultCode()).named("Result code")
+        assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue();
+        assertWithMessage("Result code").that(shadowActivity.getResultCode())
             .isEqualTo(SetupSkipDialog.RESULT_SKIP);
     }
 
@@ -125,12 +126,12 @@
                 mController.get().findViewById(R.id.setup_wizard_layout);
         final Button skipButton =
                 layout.getMixin(FooterBarMixin.class).getSecondaryButtonView();
-        assertThat(skipButton.getVisibility()).named("Skip visible").isEqualTo(View.VISIBLE);
+        assertWithMessage("Skip visible").that(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
         skipButton.performClick();
 
         ShadowActivity shadowActivity = Shadows.shadowOf(mController.get());
-        assertThat(mController.get().isFinishing()).named("Is finishing").isTrue();
-        assertThat(shadowActivity.getResultCode()).named("Result code")
+        assertWithMessage("Is finishing").that(mController.get().isFinishing()).isTrue();
+        assertWithMessage("Result code").that(shadowActivity.getResultCode())
             .isEqualTo(BiometricEnrollBase.RESULT_SKIP);
     }
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
index 5c4e03d..4d2ad36 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
@@ -42,6 +42,7 @@
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.Before;
@@ -285,6 +286,68 @@
         verify(mBitmap).recycle();
     }
 
+    @Test
+    public void showBatteryPredictionIfNecessary_estimateReadyIsAvailable_showView() {
+        mController.showBatteryPredictionIfNecessary(1, 14218009,
+                mLayoutPreference.findViewById(R.id.layout_left));
+        mController.showBatteryPredictionIfNecessary(1, 14218009,
+                mLayoutPreference.findViewById(R.id.layout_middle));
+        mController.showBatteryPredictionIfNecessary(1, 14218009,
+                mLayoutPreference.findViewById(R.id.layout_right));
+
+        assertBatteryPredictionVisible(mLayoutPreference.findViewById(R.id.layout_left),
+                View.VISIBLE);
+        assertBatteryPredictionVisible(mLayoutPreference.findViewById(R.id.layout_middle),
+                View.VISIBLE);
+        assertBatteryPredictionVisible(mLayoutPreference.findViewById(R.id.layout_right),
+                View.VISIBLE);
+    }
+
+    @Test
+    public void showBatteryPredictionIfNecessary_estimateReadyIsNotAvailable_notShowView() {
+        mController.showBatteryPredictionIfNecessary(0, 14218009,
+                mLayoutPreference.findViewById(R.id.layout_left));
+        mController.showBatteryPredictionIfNecessary(0, 14218009,
+                mLayoutPreference.findViewById(R.id.layout_middle));
+        mController.showBatteryPredictionIfNecessary(0, 14218009,
+                mLayoutPreference.findViewById(R.id.layout_right));
+
+        assertBatteryPredictionVisible(mLayoutPreference.findViewById(R.id.layout_left),
+                View.GONE);
+        assertBatteryPredictionVisible(mLayoutPreference.findViewById(R.id.layout_middle),
+                View.GONE);
+        assertBatteryPredictionVisible(mLayoutPreference.findViewById(R.id.layout_right),
+                View.GONE);
+    }
+
+    @Test
+    public void showBatteryPredictionIfNecessary_estimateReadyIsAvailable_showCorrectValue() {
+        final String leftBatteryPrediction =
+                StringUtil.formatElapsedTime(mContext, 12000000, false).toString();
+        final String rightBatteryPrediction =
+                StringUtil.formatElapsedTime(mContext, 1200000, false).toString();
+
+        mController.showBatteryPredictionIfNecessary(1, 12000000,
+                mLayoutPreference.findViewById(R.id.layout_left));
+        mController.showBatteryPredictionIfNecessary(1, 1200000,
+                mLayoutPreference.findViewById(R.id.layout_right));
+
+        assertBatteryPrediction(mLayoutPreference.findViewById(R.id.layout_left),
+                leftBatteryPrediction);
+        assertBatteryPrediction(mLayoutPreference.findViewById(R.id.layout_right),
+                rightBatteryPrediction);
+    }
+
+    private void assertBatteryPredictionVisible(LinearLayout linearLayout, int visible) {
+        final TextView textView = linearLayout.findViewById(R.id.bt_battery_prediction);
+        assertThat(textView.getVisibility()).isEqualTo(visible);
+    }
+
+    private void assertBatteryPrediction(LinearLayout linearLayout, String prediction) {
+        final TextView textView = linearLayout.findViewById(R.id.bt_battery_prediction);
+        assertThat(textView.getText().toString()).isEqualTo(prediction);
+    }
+
     private void assertBatteryLevel(LinearLayout linearLayout, int batteryLevel) {
         final TextView textView = linearLayout.findViewById(R.id.bt_battery_summary);
         assertThat(textView.getText().toString()).isEqualTo(
diff --git a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
index 41e1ab1..4cde04b 100644
--- a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.core;
 
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_APPEND;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEYWORDS;
@@ -38,7 +40,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -52,7 +53,7 @@
  * uncommon (such as summaryOn).
  *
  * If changing a preference file breaks a test in this test file, please replace its reference
- * with another preference with a matchin replacement attribute.
+ * with another preference with a matching replacement attribute.
  */
 @RunWith(RobolectricTestRunner.class)
 public class PreferenceXmlParserUtilsTest {
@@ -61,43 +62,43 @@
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = getApplicationContext();
     }
 
     @Test
     public void testDataTitleValid_ReturnsPreferenceTitle() {
         XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.TimeoutListPreference");
+                "com.android.settings.display.darkmode.DarkModePreference");
         final AttributeSet attrs = Xml.asAttributeSet(parser);
         String title = PreferenceXmlParserUtils.getDataTitle(mContext, attrs);
-        String expTitle = mContext.getString(R.string.screen_timeout);
+        String expTitle = mContext.getString(R.string.dark_ui_mode);
         assertThat(title).isEqualTo(expTitle);
     }
 
     @Test
     public void testDataKeywordsValid_ReturnsPreferenceKeywords() {
         XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.TimeoutListPreference");
+                "com.android.settings.display.darkmode.DarkModePreference");
         final AttributeSet attrs = Xml.asAttributeSet(parser);
         String keywords = PreferenceXmlParserUtils.getDataKeywords(mContext, attrs);
-        String expKeywords = mContext.getString(R.string.keywords_screen_timeout);
+        String expKeywords = mContext.getString(R.string.keywords_dark_ui_mode);
         assertThat(keywords).isEqualTo(expKeywords);
     }
 
     @Test
     public void testDataKeyValid_ReturnsPreferenceKey() {
         XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.TimeoutListPreference");
+                "com.android.settings.display.darkmode.DarkModePreference");
         final AttributeSet attrs = Xml.asAttributeSet(parser);
         String key = PreferenceXmlParserUtils.getDataKey(mContext, attrs);
-        String expKey = "screen_timeout";
+        String expKey = "dark_ui_mode";
         assertThat(key).isEqualTo(expKey);
     }
 
     @Test
     public void testDataSummaryValid_ReturnsPreferenceSummary() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.TimeoutListPreference");
+        XmlResourceParser parser = getChildByType(R.xml.sound_settings,
+                "com.android.settings.DefaultRingtonePreference");
         final AttributeSet attrs = Xml.asAttributeSet(parser);
         String summary = PreferenceXmlParserUtils.getDataSummary(mContext, attrs);
         String expSummary = mContext.getString(R.string.summary_placeholder);
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
index 9b1c411..a6bd865 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
@@ -47,6 +47,6 @@
         MetricsFeatureProvider feature2 =
                 FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
 
-        assertThat(feature1).isSameAs(feature2);
+        assertThat(feature1).isSameInstanceAs(feature2);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java b/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
index 64eaad5..a0db866 100644
--- a/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/CategoryManagerTest.java
@@ -67,7 +67,7 @@
 
     @Test
     public void getInstance_shouldBeSingleton() {
-        assertThat(mCategoryManager).isSameAs(CategoryManager.get(mContext));
+        assertThat(mCategoryManager).isSameInstanceAs(CategoryManager.get(mContext));
     }
 
     @Test
@@ -147,9 +147,9 @@
         mCategoryManager.sortCategories(RuntimeEnvironment.application, mCategoryByKeyMap);
 
         // Verify they are now sorted.
-        assertThat(category.getTile(0)).isSameAs(tile3);
-        assertThat(category.getTile(1)).isSameAs(tile1);
-        assertThat(category.getTile(2)).isSameAs(tile2);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile3);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile2);
     }
 
     @Test
@@ -170,9 +170,9 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify they are now sorted.
-        assertThat(category.getTile(0)).isSameAs(tile2);
-        assertThat(category.getTile(1)).isSameAs(tile1);
-        assertThat(category.getTile(2)).isSameAs(tile3);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile3);
     }
 
     @Test
@@ -192,9 +192,9 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify the sorting order is not changed
-        assertThat(category.getTile(0)).isSameAs(tile1);
-        assertThat(category.getTile(1)).isSameAs(tile2);
-        assertThat(category.getTile(2)).isSameAs(tile3);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile3);
     }
 
     @Test
@@ -217,10 +217,10 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify the sorting order is not changed
-        assertThat(category.getTile(0)).isSameAs(tile1);
-        assertThat(category.getTile(1)).isSameAs(tile2);
-        assertThat(category.getTile(2)).isSameAs(tile3);
-        assertThat(category.getTile(3)).isSameAs(tile4);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile1);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile3);
+        assertThat(category.getTile(3)).isSameInstanceAs(tile4);
     }
 
     @Test
@@ -242,9 +242,9 @@
         mCategoryManager.sortCategories(mContext, mCategoryByKeyMap);
 
         // Verify the sorting order is internal first, follow by package name ordering
-        assertThat(category.getTile(0)).isSameAs(tile2);
-        assertThat(category.getTile(1)).isSameAs(tile3);
-        assertThat(category.getTile(2)).isSameAs(tile1);
+        assertThat(category.getTile(0)).isSameInstanceAs(tile2);
+        assertThat(category.getTile(1)).isSameInstanceAs(tile3);
+        assertThat(category.getTile(2)).isSameInstanceAs(tile1);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
index 4b53ed1..efc7263 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
@@ -129,7 +129,7 @@
         final TestPreferenceController retrievedController = mTestFragment.use
                 (TestPreferenceController.class);
 
-        assertThat(controller).isSameAs(retrievedController);
+        assertThat(controller).isSameInstanceAs(retrievedController);
     }
 
     @Test
@@ -142,7 +142,7 @@
         final TestPreferenceController retrievedController = mTestFragment.use
                 (TestPreferenceController.class);
 
-        assertThat(controller1).isSameAs(retrievedController);
+        assertThat(controller1).isSameInstanceAs(retrievedController);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
index 210f0fd7..4a5bc70 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
@@ -184,9 +184,10 @@
         CharSequence value = captor.getValue();
         assertThat(value.toString()).isEqualTo("512 MB data warning / 1.00 GB data limit");
 
+        // TODO (b/170330084): return intent instead of null for mSummaryPreference
         verify(mSummaryPreference).setUsageInfo((info.cycleEnd / 1000) * 1000,
                 now - UPDATE_BACKOFF_MS,
-                CARRIER_NAME, 1 /* numPlans */, intent);
+                CARRIER_NAME, 1 /* numPlans */, null /* launchIntent */);
         verify(mSummaryPreference).setChartEnabled(true);
         verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
                 false /* isSingleWifi */);
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
index 1acbcda..d21aa04 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/model/TimeZoneDataTest.java
@@ -54,7 +54,7 @@
         when(countryTimeZones.getTimeZoneMappings()).thenReturn(emptyList());
         when(mCountryZonesFinder.lookupCountryTimeZones("US")).thenReturn(countryTimeZones);
         assertThat(timeZoneData.lookupCountryTimeZones("US").getCountryTimeZones())
-                .isSameAs(countryTimeZones);
+                .isSameInstanceAs(countryTimeZones);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/display/AdaptiveSleepDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AdaptiveSleepDetailPreferenceControllerTest.java
deleted file mode 100644
index fe0e812..0000000
--- a/tests/robotests/src/com/android/settings/display/AdaptiveSleepDetailPreferenceControllerTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.display;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.os.UserHandle;
-import android.os.UserManager;
-
-import com.android.internal.R;
-import com.android.settings.bluetooth.RestrictionUtils;
-import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {SettingsShadowResources.class})
-public class AdaptiveSleepDetailPreferenceControllerTest {
-    private static RestrictedLockUtils.EnforcedAdmin sFakeEnforcedAdmin;
-
-    @BeforeClass
-    public static void beforeClass() {
-        sFakeEnforcedAdmin = new RestrictedLockUtils.EnforcedAdmin(
-                new ComponentName("test.package", "test.Class"),
-                UserHandle.of(10));
-    }
-
-    private AdaptiveSleepDetailPreferenceController mController;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private RestrictionUtils mRestrictionUtils;
-    @Mock
-    private RestrictedSwitchPreference mPreference;
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = Mockito.spy(RuntimeEnvironment.application);
-        doReturn(mPackageManager).when(mContext).getPackageManager();
-        mController = new AdaptiveSleepDetailPreferenceController(mContext, "test_key",
-                mRestrictionUtils);
-    }
-
-    @Test
-    public void isSliceable_returnTrue() {
-        mController.onPreferenceChange(null, true);
-        assertThat(mController.isSliceable()).isTrue();
-    }
-
-    @Test
-    public void isPublicSlice_returnTrue() {
-        assertThat(mController.isPublicSlice()).isTrue();
-    }
-
-    @Test
-    public void getAvailabilityStatus_configTrueSet_shouldReturnAvailable() {
-        SettingsShadowResources.overrideResource(R.bool.config_adaptive_sleep_available, true);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_configFalseSet_shouldReturnUnsupportedOnDevice() {
-        SettingsShadowResources.overrideResource(R.bool.config_adaptive_sleep_available, false);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
-    public void updateState_noRestriction_allowScreenAttentionSet() {
-        when(mRestrictionUtils.checkIfRestrictionEnforced(mContext,
-                UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT)).thenReturn(null);
-
-        mController.updateState(mPreference);
-
-        verify(mPreference, never()).setDisabledByAdmin(
-                any(RestrictedLockUtils.EnforcedAdmin.class));
-    }
-
-    @Test
-    public void updateState_enforceRestrictions_disallowScreenAttentionSet() {
-        when(mRestrictionUtils.checkIfRestrictionEnforced(mContext,
-                UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT)).thenReturn(sFakeEnforcedAdmin);
-
-        mController.updateState(mPreference);
-
-        verify(mPreference).setDisabledByAdmin(sFakeEnforcedAdmin);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceControllerTest.java
index f2edf98..0ac600f 100644
--- a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPermissionPreferenceControllerTest.java
@@ -11,73 +11,69 @@
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
- * limitations under the License
+ * limitations under the License.
  */
 
 package com.android.settings.display;
 
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
 
-import static com.google.common.truth.Truth.assertThat;
-
+import static org.mockito.ArgumentMatchers.any;
 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 static org.mockito.Mockito.when;
 
-import android.Manifest;
 import android.content.Context;
 import android.content.pm.PackageManager;
 
-import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class AdaptiveSleepPermissionPreferenceControllerTest {
-    private final static String PACKAGE_NAME = "package_name";
+    private Context mContext;
     private AdaptiveSleepPermissionPreferenceController mController;
+
     @Mock
     private PackageManager mPackageManager;
     @Mock
-    private Preference mPreference;
+    private PreferenceScreen mScreen;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        Context context = Mockito.spy(RuntimeEnvironment.application);
-        doReturn(mPackageManager).when(context).getPackageManager();
-        doReturn(PACKAGE_NAME).when(mPackageManager).getAttentionServicePackageName();
-        doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission(
-                Manifest.permission.CAMERA, PACKAGE_NAME);
-        mController = new AdaptiveSleepPermissionPreferenceController(context, "test_key");
-        doReturn(mController.getPreferenceKey()).when(mPreference).getKey();
+        mContext = spy(getApplicationContext());
+
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+        when(mPackageManager.getAttentionServicePackageName()).thenReturn("some.package");
+        when(mPackageManager.checkPermission(any(), any())).thenReturn(
+                PackageManager.PERMISSION_GRANTED);
+
+        mController = new AdaptiveSleepPermissionPreferenceController(mContext);
     }
 
     @Test
-    public void getAvailabilityStatus_returnAvailableUnsearchable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    public void addToScreen_normalCase_hidePreference() {
+        mController.addToScreen(mScreen);
+
+        verify(mScreen, never()).addPreference(mController.mPreference);
     }
 
     @Test
-    public void updateStates_permissionGranted_preferenceInvisible() {
-        mController.updateState(mPreference);
+    public void addToScreen_permissionNotGranted_showPreference() {
+        when(mPackageManager.checkPermission(any(), any())).thenReturn(
+                PackageManager.PERMISSION_DENIED);
 
-        verify(mPreference).setVisible(false);
-    }
+        mController.addToScreen(mScreen);
 
-    @Test
-    public void updateStates_permissionRevoked_preferenceVisible() {
-        doReturn(PackageManager.PERMISSION_DENIED).when(mPackageManager).checkPermission(
-                Manifest.permission.CAMERA, PACKAGE_NAME);
-
-        mController.updateState(mPreference);
-
-        verify(mPreference).setVisible(true);
+        verify(mScreen).addPreference(mController.mPreference);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
index 87f59f2..1db7873 100644
--- a/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AdaptiveSleepPreferenceControllerTest.java
@@ -18,27 +18,32 @@
 
 import static android.provider.Settings.Secure.ADAPTIVE_SLEEP;
 
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.isA;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.os.UserManager;
 import android.provider.Settings;
 
-import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
+import com.android.settings.bluetooth.RestrictionUtils;
+import com.android.settingslib.RestrictedLockUtils;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,13 +51,9 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class AdaptiveSleepPreferenceControllerTest {
-
-    private static final String PREFERENCE_KEY = "adaptive_sleep";
-
     private Context mContext;
     private AdaptiveSleepPreferenceController mController;
     private ContentResolver mContentResolver;
@@ -62,114 +63,101 @@
     @Mock
     private PreferenceScreen mScreen;
     @Mock
-    private Preference mPreference;
+    private RestrictionUtils mRestrictionUtils;
+    @Mock
+    private RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = spy(getApplicationContext());
         mContentResolver = mContext.getContentResolver();
 
         doReturn(mPackageManager).when(mContext).getPackageManager();
         when(mPackageManager.getAttentionServicePackageName()).thenReturn("some.package");
         when(mPackageManager.checkPermission(any(), any())).thenReturn(
                 PackageManager.PERMISSION_GRANTED);
+        when(mRestrictionUtils.checkIfRestrictionEnforced(any(),
+                eq(UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT))).thenReturn(null);
 
-        mController = new AdaptiveSleepPreferenceController(mContext, PREFERENCE_KEY);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController = new AdaptiveSleepPreferenceController(mContext, mRestrictionUtils);
     }
 
     @Test
-    public void isControllerAvailable_ServiceUnavailable_returnUnsupported() {
-        doReturn(null).when(mPackageManager).resolveService(isA(Intent.class), anyInt());
+    public void controlSetting_preferenceChecked_FeatureTurnOn() {
+        mController.mPreference.setChecked(false);
+
+        mController.mPreference.performClick();
+
+        int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 0);
+        assertThat(mode).isEqualTo(1);
+    }
+
+    @Test
+    public void controlSetting_preferenceNotChecked_FeatureTurnOff() {
+        mController.mPreference.setChecked(true);
+
+        mController.mPreference.performClick();
+
+        int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 1);
+        assertThat(mode).isEqualTo(0);
+    }
+
+    @Test
+    public void isControllerAvailable_serviceNotSupported_returnUnsupportedCode() {
+        when(mPackageManager.resolveService(isA(Intent.class), anyInt())).thenReturn(null);
 
         assertThat(AdaptiveSleepPreferenceController.isControllerAvailable(mContext)).isEqualTo(
                 UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
-    public void onPreferenceChange_turnOn_returnOn() {
-        mController.onPreferenceChange(null, true);
-
-        final int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 0);
-        assertThat(mode).isEqualTo(1);
+    public void hasSufficientPermission_permissionGranted_returnTrue() {
+        assertThat(AdaptiveSleepPreferenceController.hasSufficientPermission(
+                mPackageManager)).isTrue();
     }
 
     @Test
-    public void onPreferenceChange_turnOff_returnOff() {
-        mController.onPreferenceChange(null, false);
-
-        final int mode = Settings.Secure.getInt(mContentResolver, ADAPTIVE_SLEEP, 1);
-        assertThat(mode).isEqualTo(0);
-    }
-
-    @Test
-    public void setChecked_updatesCorrectly() {
-        mController.setChecked(true);
-
-        assertThat(mController.isChecked()).isTrue();
-
-        mController.setChecked(false);
-
-        assertThat(mController.isChecked()).isFalse();
-    }
-
-    @Test
-    public void isChecked_no() {
-        Settings.System.putInt(mContentResolver, ADAPTIVE_SLEEP, 0);
-
-        assertThat(mController.isChecked()).isFalse();
-    }
-
-    @Test
-    public void isChecked_yes() {
-        Settings.Secure.putInt(mContentResolver, ADAPTIVE_SLEEP, 1);
-
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void getSummary_settingOn_shouldReturnOnSummary() {
-        mController.setChecked(true);
-
-        assertThat(mController.getSummary())
-                .isEqualTo(mContext.getText(R.string.adaptive_sleep_summary_on));
-    }
-
-    @Test
-    public void getSummary_settingOff_shouldReturnOffSummary() {
-        mController.setChecked(false);
-
-        assertThat(mController.getSummary())
-                .isEqualTo(mContext.getText(R.string.adaptive_sleep_summary_off));
-    }
-
-    @Test
-    public void isSliceable_returnsTrue() {
-        final AdaptiveSleepPreferenceController controller =
-                new AdaptiveSleepPreferenceController(mContext, "any_key");
-        assertThat(controller.isSliceable()).isTrue();
-    }
-
-    @Test
-    public void isChecked_returnsFalseWhenNotSufficientPermissions() {
-        when(mPackageManager.checkPermission(any(), any())).thenReturn(
-                PackageManager.PERMISSION_DENIED);
-        final AdaptiveSleepPreferenceController controller = new AdaptiveSleepPreferenceController(
-                mContext, PREFERENCE_KEY);
-
-        controller.setChecked(true);
-        assertThat(controller.isChecked()).isFalse();
-    }
-
-    @Test
-    public void isEnabled_returnsFalseWhenNotSufficientPermissions() {
+    public void hasSufficientPermission_permissionNotGranted_returnFalse() {
         when(mPackageManager.checkPermission(any(), any())).thenReturn(
                 PackageManager.PERMISSION_DENIED);
 
-        mController.setChecked(true);
-        mController.displayPreference(mScreen);
-        assertThat(mPreference.isEnabled()).isFalse();
+        assertThat(AdaptiveSleepPreferenceController.hasSufficientPermission(
+                mPackageManager)).isFalse();
+    }
+
+    @Test
+    public void addToScreen_normalCase_enablePreference() {
+        mController.mPreference.setEnabled(false);
+        when(mPackageManager.checkPermission(any(), any())).thenReturn(
+                PackageManager.PERMISSION_GRANTED);
+
+        mController.addToScreen(mScreen);
+
+        assertThat(mController.mPreference.isEnabled()).isTrue();
+        verify(mScreen).addPreference(mController.mPreference);
+    }
+
+    @Test
+    public void addToScreen_permissionNotGranted_disablePreference() {
+        mController.mPreference.setEnabled(true);
+        when(mPackageManager.checkPermission(any(), any())).thenReturn(
+                PackageManager.PERMISSION_DENIED);
+
+        mController.addToScreen(mScreen);
+
+        assertThat(mController.mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void addToScreen_enforcedAdmin_disablePreference() {
+        mController.mPreference.setEnabled(true);
+
+        when(mRestrictionUtils.checkIfRestrictionEnforced(any(),
+                eq(UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT))).thenReturn(mEnforcedAdmin);
+
+        mController.addToScreen(mScreen);
+
+        assertThat(mController.mPreference.isEnabled()).isFalse();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
new file mode 100644
index 0000000..48912de
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
@@ -0,0 +1,99 @@
+/*
+ * 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.display;
+
+import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.Resources;
+import android.provider.SearchIndexableResource;
+import android.provider.Settings;
+
+import com.android.settings.R;
+
+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 java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class ScreenTimeoutSettingsTest {
+    private static final String[] TIMEOUT_ENTRIES = new String[]{"15 secs", "30 secs"};
+    private static final String[] TIMEOUT_VALUES = new String[]{"15000", "30000"};
+
+    private ScreenTimeoutSettings mSettings;
+    private Context mContext;
+    private ContentResolver mContentResolver;
+
+    @Mock
+    private Resources mResources;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(getApplicationContext());
+        mSettings = spy(new ScreenTimeoutSettings());
+        mContentResolver = mContext.getContentResolver();
+
+        doReturn(TIMEOUT_ENTRIES).when(mResources).getStringArray(R.array.screen_timeout_entries);
+        doReturn(TIMEOUT_VALUES).when(mResources).getStringArray(R.array.screen_timeout_entries);
+        doReturn(mResources).when(mSettings).getResources();
+        doReturn(mContext).when(mSettings).getContext();
+    }
+
+    @Test
+    public void searchIndexProvider_shouldIndexResource() {
+        final List<SearchIndexableResource> indexRes =
+                ScreenTimeoutSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
+                        mContext, true /* enabled */);
+
+        assertThat(indexRes).isNotNull();
+        assertThat(indexRes.get(0).xmlResId).isEqualTo(mSettings.getPreferenceScreenResId());
+    }
+
+    @Test
+    public void getDefaultKey_returnCurrentTimeout() {
+        long timeout = Long.parseLong(TIMEOUT_VALUES[1]);
+        Settings.System.putLong(mContentResolver, SCREEN_OFF_TIMEOUT, timeout);
+
+        String key = mSettings.getDefaultKey();
+
+        assertThat(key).isEqualTo(TIMEOUT_VALUES[1]);
+    }
+
+    @Test
+    public void setDefaultKey_controlCurrentScreenTimeout() {
+        mSettings.setDefaultKey(TIMEOUT_VALUES[0]);
+
+        long timeout = Settings.System.getLong(mContentResolver, SCREEN_OFF_TIMEOUT,
+                30000 /* default */);
+
+        assertThat(Long.toString(timeout)).isEqualTo(TIMEOUT_VALUES[0]);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index 79a19b5..89f51a7 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -533,7 +533,7 @@
         BatterySipper sipper = mBatteryUtils.findBatterySipperByType(mUsageList,
                 BatterySipper.DrainType.SCREEN);
 
-        assertThat(sipper).isSameAs(mScreenBatterySipper);
+        assertThat(sipper).isSameInstanceAs(mScreenBatterySipper);
     }
 
     @Test
@@ -541,7 +541,7 @@
         BatterySipper sipper = mBatteryUtils.findBatterySipperByType(mUsageList,
                 BatterySipper.DrainType.APP);
 
-        assertThat(sipper).isSameAs(mNormalBatterySipper);
+        assertThat(sipper).isSameInstanceAs(mNormalBatterySipper);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index 7839e1a..a94ca93 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -232,7 +232,7 @@
         final List<String> keys =
                 XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.power_usage_summary);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/gestures/PanicGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PanicGesturePreferenceControllerTest.java
index d071681..f451276 100644
--- a/tests/robotests/src/com/android/settings/gestures/PanicGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PanicGesturePreferenceControllerTest.java
@@ -23,6 +23,9 @@
 
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ResolveInfo;
 import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
@@ -35,15 +38,22 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowPackageManager;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = SettingsShadowResources.class)
 public class PanicGesturePreferenceControllerTest {
 
+    private static final String TEST_PKG_NAME = "test_pkg";
+    private static final String TEST_CLASS_NAME = "name";
+    private static final Intent SETTING_INTENT = new Intent(
+            PanicGesturePreferenceController.ACTION_PANIC_SETTINGS).setPackage(TEST_PKG_NAME);
 
     private Context mContext;
     private ContentResolver mContentResolver;
+    private ShadowPackageManager mPackageManager;
     private PanicGesturePreferenceController mController;
     private static final String PREF_KEY = "gesture_panic_button";
 
@@ -51,6 +61,7 @@
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
         mContentResolver = mContext.getContentResolver();
+        mPackageManager = Shadows.shadowOf(mContext.getPackageManager());
         mController = new PanicGesturePreferenceController(mContext, PREF_KEY);
     }
 
@@ -60,6 +71,28 @@
     }
 
     @Test
+    public void constructor_hasCustomPackageConfig_shouldSetIntent() {
+        final ResolveInfo info = new ResolveInfo();
+        info.activityInfo = new ActivityInfo();
+        info.activityInfo.packageName = TEST_PKG_NAME;
+        info.activityInfo.name = TEST_CLASS_NAME;
+
+        mPackageManager.addResolveInfoForIntent(SETTING_INTENT, info);
+
+        SettingsShadowResources.overrideResource(
+                R.bool.config_show_panic_gesture_settings,
+                Boolean.TRUE);
+
+        SettingsShadowResources.overrideResource(
+                R.string.panic_gesture_settings_package,
+                TEST_PKG_NAME);
+
+        mController = new PanicGesturePreferenceController(mContext, PREF_KEY);
+
+        assertThat(mController.mIntent).isNotNull();
+    }
+
+    @Test
     public void isAvailable_configIsTrue_shouldReturnTrue() {
         SettingsShadowResources.overrideResource(
                 R.bool.config_show_panic_gesture_settings,
diff --git a/tests/robotests/src/com/android/settings/homepage/TopLevelSettingsTest.java b/tests/robotests/src/com/android/settings/homepage/TopLevelSettingsTest.java
index 5a6ca86..0cc6b43 100644
--- a/tests/robotests/src/com/android/settings/homepage/TopLevelSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/TopLevelSettingsTest.java
@@ -22,6 +22,10 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.util.FeatureFlagUtils;
+
+import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -45,4 +49,17 @@
     public void shouldForceRoundedIcon_true() {
         assertThat(mSettings.shouldForceRoundedIcon()).isTrue();
     }
+
+    @Test
+    public void getPreferenceScreenResId_silkyHomeDisabled_defaultSettings() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, false);
+        assertThat(mSettings.getPreferenceScreenResId()).isEqualTo(R.xml.top_level_settings);
+    }
+
+    @Test
+    public void getPreferenceScreenResId_silkyHomeEnabled_groupedSettings() {
+        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
+        assertThat(mSettings.getPreferenceScreenResId()).isEqualTo(
+                R.xml.top_level_settings_grouped);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
index a6a362e..5a92aa2 100644
--- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
@@ -133,7 +133,7 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
@@ -151,7 +151,7 @@
             preferenceKeys.add(controller.getPreferenceKey());
         }
 
-        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+        assertThat(preferenceScreenKeys).containsAtLeastElementsIn(preferenceKeys);
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
index 28620e9..68848af 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
@@ -23,6 +23,8 @@
 
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
@@ -54,6 +56,7 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
@@ -203,31 +206,45 @@
     }
 
     @Test
-    public void getMediaOutputSliceIntent_withActiveLocalMedia_verifyIntentExtra() {
+    public void onNotifyChange_withActiveLocalMedia_verifyIntentExtra() {
         when(mMediaController.getSessionToken()).thenReturn(mToken);
         when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGE_NAME);
         doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
                 .getActiveLocalMediaController();
-        final Intent intent = mMediaOutputIndicatorSlice.getMediaOutputSliceIntent();
+        ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class);
+
+        mMediaOutputIndicatorSlice.onNotifyChange(null);
+        verify(mContext, times(2)).sendBroadcast(argument.capture());
+        List<Intent> intentList = argument.getAllValues();
+        Intent intent = intentList.get(0);
 
         assertThat(TextUtils.equals(TEST_PACKAGE_NAME, intent.getStringExtra(
                 MediaOutputSliceConstants.EXTRA_PACKAGE_NAME))).isTrue();
-        assertThat(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT).isEqualTo(intent.getAction());
-        assertThat(TextUtils.equals(Utils.SETTINGS_PACKAGE_NAME, intent.getPackage())).isTrue();
+        assertThat(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG).isEqualTo(
+                intent.getAction());
+        assertThat(TextUtils.equals(MediaOutputSliceConstants.SYSTEMUI_PACKAGE_NAME,
+                intent.getPackage())).isTrue();
         assertThat(mToken == intent.getExtras().getParcelable(
                 MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN)).isTrue();
     }
 
     @Test
-    public void getMediaOutputSliceIntent_withoutActiveLocalMedia_verifyIntentExtra() {
+    public void onNotifyChange_withoutActiveLocalMedia_verifyIntentExtra() {
         doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
                 .getActiveLocalMediaController();
-        final Intent intent = mMediaOutputIndicatorSlice.getMediaOutputSliceIntent();
+        ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class);
+
+        mMediaOutputIndicatorSlice.onNotifyChange(null);
+        verify(mContext, times(2)).sendBroadcast(argument.capture());
+        List<Intent> intentList = argument.getAllValues();
+        Intent intent = intentList.get(0);
 
         assertThat(TextUtils.isEmpty(intent.getStringExtra(
                 MediaOutputSliceConstants.EXTRA_PACKAGE_NAME))).isTrue();
-        assertThat(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT).isEqualTo(intent.getAction());
-        assertThat(TextUtils.equals(Utils.SETTINGS_PACKAGE_NAME, intent.getPackage())).isTrue();
+        assertThat(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG).isEqualTo(
+                intent.getAction());
+        assertThat(TextUtils.equals(MediaOutputSliceConstants.SYSTEMUI_PACKAGE_NAME,
+                intent.getPackage())).isTrue();
         assertThat(intent.getExtras().getParcelable(
                 MediaOutputSliceConstants.KEY_MEDIA_SESSION_TOKEN) == null).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
index c6d3c5e..2339f4c 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
@@ -259,4 +259,29 @@
 
         assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isNull();
     }
+
+    @Test
+    public void getActiveLocalMediaController_bothHaveRemoteMediaAndLocalMedia_returnNull() {
+        final MediaController.PlaybackInfo playbackInfo = new MediaController.PlaybackInfo(
+                MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE,
+                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+                100,
+                10,
+                new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+                null);
+        final PlaybackState playbackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_PLAYING, 0, 1)
+                .build();
+        final MediaController remoteMediaController = mock(MediaController.class);
+
+        mMediaControllers.add(remoteMediaController);
+        initPlayback();
+
+        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+        when(remoteMediaController.getPlaybackInfo()).thenReturn(playbackInfo);
+        when(remoteMediaController.getPlaybackState()).thenReturn(playbackState);
+
+        assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isNull();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputUtilsTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputUtilsTest.java
new file mode 100644
index 0000000..dea6a2c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputUtilsTest.java
@@ -0,0 +1,180 @@
+/*
+ * 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.media;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.media.AudioAttributes;
+import android.media.VolumeProvider;
+import android.media.session.MediaController;
+import android.media.session.MediaSessionManager;
+import android.media.session.PlaybackState;
+
+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;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+public class MediaOutputUtilsTest {
+
+    @Mock
+    private MediaSessionManager mMediaSessionManager;
+    @Mock
+    private MediaController mMediaController;
+
+    private Context mContext;
+    private List<MediaController> mMediaControllers = new ArrayList<>();
+    private PlaybackState mPlaybackState;
+    private MediaController.PlaybackInfo mPlaybackInfo;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        doReturn(mMediaSessionManager).when(mContext).getSystemService(MediaSessionManager.class);
+        mMediaControllers.add(mMediaController);
+        doReturn(mMediaControllers).when(mMediaSessionManager).getActiveSessions(any());
+    }
+
+    @Test
+    public void getActiveLocalMediaController_localMediaPlaying_returnController() {
+        initPlayback();
+
+        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+
+        assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isEqualTo(
+                mMediaController);
+    }
+
+    @Test
+    public void getActiveLocalMediaController_remoteMediaPlaying_returnNull() {
+        mPlaybackInfo = new MediaController.PlaybackInfo(
+                MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE,
+                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+                100,
+                10,
+                new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+                null);
+        mPlaybackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_PLAYING, 0, 1)
+                .build();
+
+        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+
+        assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
+    }
+
+    @Test
+    public void getActiveLocalMediaController_localMediaStopped_returnNull() {
+        mPlaybackInfo = new MediaController.PlaybackInfo(
+                MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
+                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+                100,
+                10,
+                new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+                null);
+        mPlaybackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_STOPPED, 0, 1)
+                .build();
+
+        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+
+        assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
+    }
+
+    @Test
+    public void getActiveLocalMediaController_bothHaveRemoteMediaAndLocalMedia_returnNull() {
+        mMediaControllers.clear();
+        final MediaController.PlaybackInfo playbackInfo = new MediaController.PlaybackInfo(
+                MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE,
+                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+                100,
+                10,
+                new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+                null);
+        final PlaybackState playbackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_PLAYING, 0, 1)
+                .build();
+        final MediaController remoteMediaController = mock(MediaController.class);
+
+        mMediaControllers.add(remoteMediaController);
+        mMediaControllers.add(mMediaController);
+        initPlayback();
+
+        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+        when(remoteMediaController.getPlaybackInfo()).thenReturn(playbackInfo);
+        when(remoteMediaController.getPlaybackState()).thenReturn(playbackState);
+
+        assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
+    }
+
+    @Test
+    public void getActiveLocalMediaController_bothHaveLocalMediaAndRemoteMedia_returnNull() {
+        final MediaController.PlaybackInfo playbackInfo = new MediaController.PlaybackInfo(
+                MediaController.PlaybackInfo.PLAYBACK_TYPE_REMOTE,
+                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+                100,
+                10,
+                new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+                null);
+        final PlaybackState playbackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_PLAYING, 0, 1)
+                .build();
+        final MediaController remoteMediaController = mock(MediaController.class);
+
+        mMediaControllers.add(remoteMediaController);
+        initPlayback();
+
+        when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+        when(remoteMediaController.getPlaybackInfo()).thenReturn(playbackInfo);
+        when(remoteMediaController.getPlaybackState()).thenReturn(playbackState);
+
+        assertThat(MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager)).isNull();
+    }
+
+    private void initPlayback() {
+        mPlaybackInfo = new MediaController.PlaybackInfo(
+                MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
+                VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
+                100,
+                10,
+                new AudioAttributes.Builder().setUsage(AudioAttributes.USAGE_MEDIA).build(),
+                null);
+        mPlaybackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_PLAYING, 0, 1)
+                .build();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
index a7e59fc..5fd417d 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
@@ -22,6 +22,7 @@
 import static android.provider.Settings.Global.PRIVATE_DNS_MODE;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.mock;
@@ -145,13 +146,13 @@
             mPreference.mEditText.setText(invalid);
 
             mPreference.onCheckedChanged(null, R.id.private_dns_mode_off);
-            assertThat(mSaveButton.isEnabled()).named("off: " + invalid).isTrue();
+            assertWithMessage("off: " + invalid).that(mSaveButton.isEnabled()).isTrue();
 
             mPreference.onCheckedChanged(null, R.id.private_dns_mode_opportunistic);
-            assertThat(mSaveButton.isEnabled()).named("opportunistic: " + invalid).isTrue();
+            assertWithMessage("opportunistic: " + invalid).that(mSaveButton.isEnabled()).isTrue();
 
             mPreference.onCheckedChanged(null, R.id.private_dns_mode_provider);
-            assertThat(mSaveButton.isEnabled()).named("provider: " + invalid).isFalse();
+            assertWithMessage("provider: " + invalid).that(mSaveButton.isEnabled()).isFalse();
         }
     }
 
diff --git a/tests/robotests/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
index 401a92e..502e3fe 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
@@ -39,6 +39,7 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -117,6 +118,7 @@
     }
 
     @Test
+    @Ignore
     public void onPreferenceClick_startsIntent() {
         mController.init(SUB_ID, mFragment, REQUEST_CODE);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
index a612657..c28c28c 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
@@ -115,9 +115,11 @@
     @Test
     public void setChecked_setDataIntoSubscriptionManager() {
         mController.setChecked(true);
-        verify(mTelephonyManager).setAlwaysAllowMmsData(true);
+        verify(mTelephonyManager).setMobileDataPolicyEnabledStatus(
+                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, true);
 
         mController.setChecked(false);
-        verify(mTelephonyManager).setAlwaysAllowMmsData(false);
+        verify(mTelephonyManager).setMobileDataPolicyEnabledStatus(
+                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, false);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java b/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
index 525f3ef..6740cb0 100644
--- a/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/nfc/PaymentSettingsTest.java
@@ -113,7 +113,7 @@
         final List<String> niks =
                 PaymentSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
 
-        assertThat(niks).containsAllOf(FOREGROUND_KEY, PAYMENT_KEY);
+        assertThat(niks).containsAtLeast(FOREGROUND_KEY, PAYMENT_KEY);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
index b6f06f4..af0567f 100644
--- a/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/SoundSettingsTest.java
@@ -70,7 +70,7 @@
         keys.add("ring_volume");
         keys.add("notification_volume");
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
index 4adc01b..5067de6 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericControllerTest.java
@@ -22,6 +22,7 @@
 import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
@@ -84,24 +85,24 @@
     public void isScreenLockVisible_shouldRespectResourceConfig() {
         for (ScreenLockType lock : ScreenLockType.values()) {
             // All locks except managed defaults to visible
-            assertThat(mController.isScreenLockVisible(lock)).named(lock + " visible")
+            assertWithMessage(lock + " visible").that(mController.isScreenLockVisible(lock))
                     .isEqualTo(lock != ScreenLockType.MANAGED);
         }
 
         SettingsShadowResources.overrideResource(R.bool.config_hide_none_security_option, true);
         SettingsShadowResources.overrideResource(R.bool.config_hide_swipe_security_option, true);
-        assertThat(mController.isScreenLockVisible(ScreenLockType.NONE)).named("NONE visible")
+        assertWithMessage("NONE visible").that(mController.isScreenLockVisible(ScreenLockType.NONE))
                 .isFalse();
-        assertThat(mController.isScreenLockVisible(ScreenLockType.SWIPE)).named("SWIPE visible")
-                .isFalse();
+        assertWithMessage("SWIPE visible").that(
+                mController.isScreenLockVisible(ScreenLockType.SWIPE)).isFalse();
     }
 
     @Test
     public void isScreenLockVisible_notCurrentUser_shouldHideInsecure() {
         mController = new ChooseLockGenericController(application, 1 /* userId */);
-        assertThat(mController.isScreenLockVisible(ScreenLockType.SWIPE)).named("SWIPE visible")
-                .isFalse();
-        assertThat(mController.isScreenLockVisible(ScreenLockType.NONE)).named("NONE visible")
+        assertWithMessage("SWIPE visible").that(
+                mController.isScreenLockVisible(ScreenLockType.SWIPE)).isFalse();
+        assertWithMessage("NONE visible").that(mController.isScreenLockVisible(ScreenLockType.NONE))
                 .isFalse();
     }
 
@@ -109,34 +110,31 @@
     public void isScreenLockVisible_managedPasswordChoosable_shouldShowManaged() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
 
-        assertThat(mController.isScreenLockVisible(ScreenLockType.MANAGED)).named("MANAGED visible")
-                .isTrue();
+        assertWithMessage("MANAGED visible").that(
+                mController.isScreenLockVisible(ScreenLockType.MANAGED)).isTrue();
     }
 
     @Test
     public void isScreenLockEnabled_lowerQuality_shouldReturnFalse() {
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockEnabled(lock, lock.maxQuality + 1))
-                    .named(lock + " enabled")
-                    .isFalse();
+            assertWithMessage(lock + " enabled").that(
+                    mController.isScreenLockEnabled(lock, lock.maxQuality + 1)).isFalse();
         }
     }
 
     @Test
     public void isScreenLockEnabled_equalQuality_shouldReturnTrue() {
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockEnabled(lock, lock.defaultQuality))
-                    .named(lock + " enabled")
-                    .isTrue();
+            assertWithMessage(lock + " enabled").that(
+                    mController.isScreenLockEnabled(lock, lock.defaultQuality)).isTrue();
         }
     }
 
     @Test
     public void isScreenLockEnabled_higherQuality_shouldReturnTrue() {
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockEnabled(lock, lock.maxQuality - 1))
-                    .named(lock + " enabled")
-                    .isTrue();
+            assertWithMessage(lock + " enabled").that(
+                    mController.isScreenLockEnabled(lock, lock.maxQuality - 1)).isTrue();
         }
     }
 
@@ -144,9 +142,8 @@
     public void isScreenLockDisabledByAdmin_lowerQuality_shouldReturnTrue() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality + 1))
-                    .named(lock + " disabledByAdmin")
-                    .isTrue();
+            assertWithMessage(lock + " disabledByAdmin").that(
+                    mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality + 1)).isTrue();
         }
     }
 
@@ -154,9 +151,8 @@
     public void isScreenLockDisabledByAdmin_equalQuality_shouldReturnFalse() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality))
-                    .named(lock + " disabledByAdmin")
-                    .isFalse();
+            assertWithMessage(lock + " disabledByAdmin").that(
+                    mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality)).isFalse();
         }
     }
 
@@ -164,18 +160,16 @@
     public void isScreenLockDisabledByAdmin_higherQuality_shouldReturnFalse() {
         doReturn(true).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
         for (ScreenLockType lock : ScreenLockType.values()) {
-            assertThat(mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality - 1))
-                    .named(lock + " disabledByAdmin")
-                    .isFalse();
+            assertWithMessage(lock + " disabledByAdmin").that(
+                    mController.isScreenLockDisabledByAdmin(lock, lock.maxQuality - 1)).isFalse();
         }
     }
 
     @Test
     public void isScreenLockDisabledByAdmin_managedNotChoosable_shouldReturnTrue() {
         doReturn(false).when(mManagedLockPasswordProvider).isManagedPasswordChoosable();
-        assertThat(mController.isScreenLockDisabledByAdmin(
+        assertWithMessage("MANANGED disabledByAdmin").that(mController.isScreenLockDisabledByAdmin(
                 ScreenLockType.MANAGED, DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED))
-                .named("MANANGED disabledByAdmin")
                 .isTrue();
     }
 
@@ -218,7 +212,7 @@
 
         final int upgradedQuality =
             mController.upgradeQuality(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
-        assertThat(upgradedQuality).named("upgradedQuality")
+        assertWithMessage("upgradedQuality").that(upgradedQuality)
                 .isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
     }
 
@@ -230,7 +224,7 @@
 
         final int upgradedQuality =
             mController.upgradeQuality(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
-        assertThat(upgradedQuality).named("upgradedQuality")
+        assertWithMessage("upgradedQuality").that(upgradedQuality)
                 .isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index a9bb8ce..09e4408 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -33,6 +33,7 @@
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -92,18 +93,16 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FORCE_VERIFY, false))
-                .named("EXTRA_KEY_FORCE_VERIFY")
+        assertWithMessage("EXTRA_KEY_FORCE_VERIFY").that(
+                intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FORCE_VERIFY, false))
                 .isFalse();
-        assertThat((LockscreenCredential) intent.getParcelableExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
-                .named("EXTRA_KEY_PASSWORD")
+        assertWithMessage("EXTRA_KEY_PASSWORD").that(
+                (LockscreenCredential) intent.getParcelableExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
                 .isEqualTo(LockscreenCredential.createPassword("password"));
-        assertThat(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
-                .named("PASSWORD_TYPE_KEY")
+        assertWithMessage("PASSWORD_TYPE_KEY").that(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
                 .isEqualTo(DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
-        assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
+        assertWithMessage("EXTRA_USER_ID").that(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .isEqualTo(123);
     }
 
@@ -115,15 +114,13 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE,
-                false))
-                .named("EXTRA_KEY_REQUEST_GK_PW")
+        assertWithMessage("EXTRA_KEY_REQUEST_GK_PW").that(
+                intent.getBooleanExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, false))
                 .isTrue();
-        assertThat(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
-                .named("PASSWORD_TYPE_KEY")
+        assertWithMessage("PASSWORD_TYPE_KEY").that(intent.getIntExtra(PASSWORD_TYPE_KEY, 0))
                 .isEqualTo(PASSWORD_QUALITY_ALPHANUMERIC);
-        assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
+        assertWithMessage("EXTRA_USER_ID").that(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .isEqualTo(123);
     }
 
@@ -151,12 +148,12 @@
                 .setProfileToUnify(23, LockscreenCredential.createNone())
                 .build();
 
-        assertThat(intent.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_ID")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_ID").that(
+                intent.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
                 .isEqualTo(23);
-        assertThat((LockscreenCredential) intent.getParcelableExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL").that(
+                (LockscreenCredential) intent.getParcelableExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
                 .isNotNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index f95fda4..1cb946b 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.password;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -58,16 +59,13 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent
+        assertWithMessage("EXTRA_KEY_FORCE_VERIFY").that(intent
                 .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FORCE_VERIFY, false))
-                .named("EXTRA_KEY_FORCE_VERIFY")
                 .isFalse();
-        assertThat((LockscreenCredential) intent
+        assertWithMessage("EXTRA_KEY_PASSWORD").that((LockscreenCredential) intent
                 .getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD))
-                .named("EXTRA_KEY_PASSWORD")
                 .isEqualTo(createPattern("1234"));
-        assertThat(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
+        assertWithMessage("EXTRA_USER_ID").that(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .isEqualTo(123);
     }
 
@@ -78,13 +76,11 @@
                 .setUserId(123)
                 .build();
 
-        assertThat(intent
+        assertWithMessage("EXTRA_KEY_REQUEST_GK_PW").that(intent
                 .getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, false))
-                .named("EXTRA_KEY_REQUEST_GK_PW")
                 .isTrue();
-        assertThat(intent
-                .getIntExtra(Intent.EXTRA_USER_ID, 0))
-                .named("EXTRA_USER_ID")
+        assertWithMessage("EXTRA_USER_ID")
+                .that(intent.getIntExtra(Intent.EXTRA_USER_ID, 0))
                 .isEqualTo(123);
     }
 
@@ -94,12 +90,12 @@
                 .setProfileToUnify(23, LockscreenCredential.createNone())
                 .build();
 
-        assertThat(intent.getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_ID")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_ID").that(intent
+                .getIntExtra(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 0))
                 .isEqualTo(23);
-        assertThat((LockscreenCredential) intent.getParcelableExtra(
-                ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
-                .named("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL")
+        assertWithMessage("EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL").that(
+                (LockscreenCredential) intent.getParcelableExtra(
+                        ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL))
                 .isNotNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index 1a76799..5242e11 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.password;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -115,7 +116,7 @@
         activity.findViewById(R.id.screen_lock_options).performClick();
         AlertDialog latestAlertDialog = (AlertDialog) ShadowDialog.getLatestDialog();
         int count = latestAlertDialog.getListView().getCount();
-        assertThat(count).named("List items shown").isEqualTo(3);
+        assertWithMessage("List items shown").that(count).isEqualTo(3);
     }
 
     @Test
@@ -141,7 +142,7 @@
         assertThat(nextStartedActivity).isNotNull();
         assertThat(nextStartedActivity.getBooleanExtra(
                 ChooseLockGenericFragment.EXTRA_SHOW_OPTIONS_BUTTON, false)).isTrue();
-        assertThat(nextStartedActivity.getStringExtra("foo")).named("Foo extra")
+        assertWithMessage("Foo extra").that(nextStartedActivity.getStringExtra("foo"))
                 .isEqualTo("bar");
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index 4852546..53e68d9 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.password;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.robolectric.RuntimeEnvironment.application;
 
@@ -112,7 +113,7 @@
         AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(chooserDialog).isNotNull();
         int count = chooserDialog.getListView().getCount();
-        assertThat(count).named("List items shown").isEqualTo(3);
+        assertWithMessage("List items shown").that(count).isEqualTo(3);
     }
 
     @Config(qualifiers = "sw400dp")
diff --git a/tests/robotests/src/com/android/settings/print/PrintSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/print/PrintSettingsPreferenceControllerTest.java
index 69db28f..e24eb8f 100644
--- a/tests/robotests/src/com/android/settings/print/PrintSettingsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/print/PrintSettingsPreferenceControllerTest.java
@@ -19,14 +19,19 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
 import static com.google.common.truth.Truth.assertThat;
 
 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.content.pm.PackageManager;
 import android.os.UserManager;
 import android.print.PrintJob;
 import android.print.PrintJobInfo;
@@ -61,6 +66,8 @@
     private UserManager mUserManager;
     @Mock
     private RestrictedPreference mPreference;
+    @Mock
+    private PackageManager mPackageManager;
 
     private Context mContext;
     private PrintSettingPreferenceController mController;
@@ -77,6 +84,7 @@
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         ReflectionHelpers.setField(mController, "mPrintManager", mPrintManager);
+        ReflectionHelpers.setField(mController, "mPackageManager", mPackageManager);
         mLifecycle.addObserver(mController);
     }
 
@@ -90,6 +98,17 @@
     }
 
     @Test
+    public void onStartStop_printManagerIsNull_doNothing() {
+        ReflectionHelpers.setField(mController, "mPrintManager", null);
+
+        mLifecycle.handleLifecycleEvent(ON_START);
+        mLifecycle.handleLifecycleEvent(ON_STOP);
+
+        verify(mPrintManager, never()).addPrintJobStateChangeListener(mController);
+        verify(mPrintManager, never()).removePrintJobStateChangeListener(mController);
+    }
+
+    @Test
     public void updateState_hasActiveJob_shouldSetSummaryToNumberOfJobs() {
         final List<PrintJob> printJobs = new ArrayList<>();
         final PrintJob job = mock(PrintJob.class, Mockito.RETURNS_DEEP_STUBS);
@@ -133,4 +152,29 @@
         mController.updateState(mPreference);
         verify(mPreference).checkRestrictionAndSetDisabled(UserManager.DISALLOW_PRINTING);
     }
+
+    @Test
+    public void getAvailabilityStatus_hasFeature_returnsAvailable() {
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_PRINTING))
+                .thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_noFeature_returnsUnsupported() {
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_PRINTING))
+                .thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_printManagerIsNull_returnsUnsupported() {
+        ReflectionHelpers.setField(mController, "mPrintManager", null);
+        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_PRINTING))
+                .thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
index c9bff38..1fc0230 100644
--- a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
@@ -117,7 +117,7 @@
         }
 
         assertThat(keys).hasSize(3);
-        assertThat(keys).containsAllOf("pref_key_1", "pref_key_3", "pref_key_5");
+        assertThat(keys).containsAtLeast("pref_key_1", "pref_key_3", "pref_key_5");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java b/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
index 2adad00..43d8d94 100644
--- a/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
+++ b/tests/robotests/src/com/android/settings/security/InstallCertificateFromStorageTest.java
@@ -80,7 +80,7 @@
         final List<String> nonIndexableKeys =
                 SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
 
-        assertThat(nonIndexableKeys).containsAllIn(mTestKeys);
+        assertThat(nonIndexableKeys).containsAtLeastElementsIn(mTestKeys);
     }
 
 }
diff --git a/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
index 8b5c5fe..294d05e 100644
--- a/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/security/LockscreenDashboardFragmentTest.java
@@ -74,7 +74,7 @@
         List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(RuntimeEnvironment.application,
                 mTestFragment.getPreferenceScreenResId());
 
-        assertThat(keys).containsAllOf(LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON,
+        assertThat(keys).containsAtLeast(LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON,
                 LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON_WORK_PROFILE,
                 LockscreenDashboardFragment.KEY_LOCK_SCREEN_NOTIFICATON_WORK_PROFILE_HEADER);
     }
diff --git a/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
index 8dc0db5..392d44e 100644
--- a/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/security/SecurityFeatureProviderImplTest.java
@@ -48,7 +48,7 @@
         final TrustAgentManager m1 = mImpl.getTrustAgentManager();
         final TrustAgentManager m2 = mImpl.getTrustAgentManager();
 
-        assertThat(m1).isSameAs(m2);
+        assertThat(m1).isSameInstanceAs(m2);
     }
 
     @Test
@@ -56,6 +56,6 @@
         final LockPatternUtils l1 = mImpl.getLockPatternUtils(mContext);
         final LockPatternUtils l2 = mImpl.getLockPatternUtils(mContext);
 
-        assertThat(l1).isSameAs(l2);
+        assertThat(l1).isSameInstanceAs(l2);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
index 8225c69..eb84a4f 100644
--- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
@@ -300,9 +300,9 @@
 
         mPreference.setKey(TEST_KEY);
         mController.handlePreferenceTreeClick(mPreference);
-        verify(mContext).startActivity(intentCaptor.capture());
+        verify(mContext).sendBroadcast(intentCaptor.capture());
         assertThat(intentCaptor.getValue().getAction())
-                .isEqualTo(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT);
+                .isEqualTo(MediaOutputSliceConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG);
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
index 7bdc368..baa4690 100644
--- a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
@@ -73,7 +73,7 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
 
-        assertThat(keys).containsAllIn(niks);
+        assertThat(keys).containsAtLeastElementsIn(niks);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/users/EditUserInfoControllerTest.java b/tests/robotests/src/com/android/settings/users/EditUserInfoControllerTest.java
deleted file mode 100644
index db9872f..0000000
--- a/tests/robotests/src/com/android/settings/users/EditUserInfoControllerTest.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.users;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.ArgumentMatchers.same;
-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;
-
-import android.app.Dialog;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.UserInfo;
-import android.graphics.drawable.Drawable;
-import android.widget.EditText;
-import android.widget.ImageView;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.settings.R;
-import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-
-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;
-import org.robolectric.android.controller.ActivityController;
-import org.robolectric.annotation.Config;
-
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-@RunWith(RobolectricTestRunner.class)
-public class EditUserInfoControllerTest {
-    private static final int MAX_USER_NAME_LENGTH = 100;
-
-    @Mock
-    private Fragment mFragment;
-    @Mock
-    private Drawable mCurrentIcon;
-
-    private boolean mCanChangePhoto;
-
-    private FragmentActivity mActivity;
-    private TestEditUserInfoController mController;
-
-    public class TestEditUserInfoController extends EditUserInfoController {
-        private EditUserPhotoController mPhotoController;
-
-        private EditUserPhotoController getPhotoController() {
-            return mPhotoController;
-        }
-
-        @Override
-        protected EditUserPhotoController createEditUserPhotoController(Fragment fragment,
-                ImageView userPhotoView, Drawable drawable) {
-            mPhotoController = mock(EditUserPhotoController.class, Answers.RETURNS_DEEP_STUBS);
-            return mPhotoController;
-        }
-
-        @Override
-        boolean canChangePhoto(Context context, UserInfo user) {
-            return mCanChangePhoto;
-        }
-    }
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mActivity = spy(ActivityController.of(new FragmentActivity()).get());
-        when(mFragment.getActivity()).thenReturn(mActivity);
-        mController = new TestEditUserInfoController();
-        mCanChangePhoto = true;
-    }
-
-    @Test
-    public void photoControllerOnActivityResult_whenWaiting_isCalled() {
-        mController.createDialog(mFragment, mCurrentIcon, "test user",
-                "title", null,
-                android.os.Process.myUserHandle(), null);
-        mController.startingActivityForResult();
-        Intent resultData = new Intent();
-        mController.onActivityResult(0, 0, resultData);
-        EditUserPhotoController photoController = mController.getPhotoController();
-        assertThat(photoController).isNotNull();
-        verify(photoController).onActivityResult(eq(0), eq(0), same(resultData));
-    }
-
-    @Test
-    @Config(shadows = ShadowAlertDialogCompat.class)
-    public void userNameView_inputLongName_shouldBeConstrained() {
-        // generate a string of 200 'A's
-        final String longName = Stream.generate(
-                () -> String.valueOf('A')).limit(200).collect(Collectors.joining());
-        final AlertDialog dialog = (AlertDialog) mController.createDialog(mFragment, mCurrentIcon,
-                "test user", "title", null,
-                android.os.Process.myUserHandle(), null);
-        final EditText userName = ShadowAlertDialogCompat.shadowOf(dialog).getView()
-                .findViewById(R.id.user_name);
-
-        userName.setText(longName);
-
-        assertThat(userName.getText().length()).isEqualTo(MAX_USER_NAME_LENGTH);
-    }
-
-    @Test
-    public void onDialogCompleteCallback_isCalled_whenCancelled() {
-        EditUserInfoController.OnContentChangedCallback contentChangeCallback = mock(
-                EditUserInfoController.OnContentChangedCallback.class);
-
-        EditUserInfoController.OnDialogCompleteCallback dialogCompleteCallback = mock(
-                EditUserInfoController.OnDialogCompleteCallback.class);
-
-        AlertDialog dialog = (AlertDialog) mController.createDialog(
-                mFragment, mCurrentIcon, "test",
-                "title", contentChangeCallback,
-                android.os.Process.myUserHandle(),
-                dialogCompleteCallback);
-
-        dialog.show();
-        dialog.cancel();
-
-        verify(contentChangeCallback, times(0))
-                .onLabelChanged(any(), any());
-        verify(contentChangeCallback, times(0))
-                .onPhotoChanged(any(), any());
-        verify(dialogCompleteCallback, times(0)).onPositive();
-        verify(dialogCompleteCallback, times(1)).onNegativeOrCancel();
-    }
-
-    @Test
-    public void onDialogCompleteCallback_isCalled_whenPositiveClicked() {
-        EditUserInfoController.OnContentChangedCallback contentChangeCallback = mock(
-                EditUserInfoController.OnContentChangedCallback.class);
-
-        EditUserInfoController.OnDialogCompleteCallback dialogCompleteCallback = mock(
-                EditUserInfoController.OnDialogCompleteCallback.class);
-
-        AlertDialog dialog = (AlertDialog) mController.createDialog(
-                mFragment, mCurrentIcon, "test",
-                "title", contentChangeCallback,
-                android.os.Process.myUserHandle(),
-                dialogCompleteCallback);
-
-        // No change to the photo.
-        when(mController.getPhotoController().getNewUserPhotoDrawable()).thenReturn(mCurrentIcon);
-
-        dialog.show();
-        dialog.getButton(Dialog.BUTTON_POSITIVE).performClick();
-
-        verify(contentChangeCallback, times(0))
-                .onLabelChanged(any(), any());
-        verify(contentChangeCallback, times(0))
-                .onPhotoChanged(any(), any());
-        verify(dialogCompleteCallback, times(1)).onPositive();
-        verify(dialogCompleteCallback, times(0)).onNegativeOrCancel();
-    }
-
-    @Test
-    public void onDialogCompleteCallback_isCalled_whenNegativeClicked() {
-        EditUserInfoController.OnContentChangedCallback contentChangeCallback = mock(
-                EditUserInfoController.OnContentChangedCallback.class);
-
-        EditUserInfoController.OnDialogCompleteCallback dialogCompleteCallback = mock(
-                EditUserInfoController.OnDialogCompleteCallback.class);
-
-        AlertDialog dialog = (AlertDialog) mController.createDialog(
-                mFragment, mCurrentIcon, "test",
-                "title", contentChangeCallback,
-                android.os.Process.myUserHandle(),
-                dialogCompleteCallback);
-
-        dialog.show();
-        dialog.getButton(Dialog.BUTTON_NEGATIVE).performClick();
-
-        verify(contentChangeCallback, times(0))
-                .onLabelChanged(any(), any());
-        verify(contentChangeCallback, times(0))
-                .onPhotoChanged(any(), any());
-        verify(dialogCompleteCallback, times(0)).onPositive();
-        verify(dialogCompleteCallback, times(1)).onNegativeOrCancel();
-    }
-
-    @Test
-    public void onContentChangedCallback_isCalled_whenLabelChanges() {
-        EditUserInfoController.OnContentChangedCallback contentChangeCallback = mock(
-                EditUserInfoController.OnContentChangedCallback.class);
-
-        EditUserInfoController.OnDialogCompleteCallback dialogCompleteCallback = mock(
-                EditUserInfoController.OnDialogCompleteCallback.class);
-
-        AlertDialog dialog = (AlertDialog) mController.createDialog(
-                mFragment, mCurrentIcon, "test",
-                "title", contentChangeCallback,
-                android.os.Process.myUserHandle(),
-                dialogCompleteCallback);
-
-        // No change to the photo.
-        when(mController.getPhotoController().getNewUserPhotoDrawable()).thenReturn(mCurrentIcon);
-
-        dialog.show();
-        String expectedNewName = "new test user";
-        EditText editText = (EditText) dialog.findViewById(R.id.user_name);
-        editText.setText(expectedNewName);
-
-        dialog.getButton(Dialog.BUTTON_POSITIVE).performClick();
-
-        verify(contentChangeCallback, times(1))
-                .onLabelChanged(any(), eq(expectedNewName));
-        verify(contentChangeCallback, times(0))
-                .onPhotoChanged(any(), any());
-        verify(dialogCompleteCallback, times(1)).onPositive();
-        verify(dialogCompleteCallback, times(0)).onNegativeOrCancel();
-    }
-
-    @Test
-    public void onContentChangedCallback_isCalled_whenPhotoChanges() {
-        EditUserInfoController.OnContentChangedCallback contentChangeCallback = mock(
-                EditUserInfoController.OnContentChangedCallback.class);
-
-        EditUserInfoController.OnDialogCompleteCallback dialogCompleteCallback = mock(
-                EditUserInfoController.OnDialogCompleteCallback.class);
-
-        AlertDialog dialog = (AlertDialog) mController.createDialog(
-                mFragment, mCurrentIcon, "test",
-                "title", contentChangeCallback,
-                android.os.Process.myUserHandle(),
-                dialogCompleteCallback);
-
-        // A different drawable.
-        Drawable newPhoto = mock(Drawable.class);
-        when(mController.getPhotoController().getNewUserPhotoDrawable()).thenReturn(newPhoto);
-
-        dialog.show();
-        dialog.getButton(Dialog.BUTTON_POSITIVE).performClick();
-
-        verify(contentChangeCallback, times(0))
-                .onLabelChanged(any(), any());
-        verify(contentChangeCallback, times(1))
-                .onPhotoChanged(any(), eq(newPhoto));
-        verify(dialogCompleteCallback, times(1)).onPositive();
-        verify(dialogCompleteCallback, times(0)).onNegativeOrCancel();
-    }
-
-    @Test
-    public void createDialog_canNotChangePhoto_nullPhotoController() {
-        mCanChangePhoto = false;
-
-        mController.createDialog(
-                mFragment, mCurrentIcon, "test",
-                "title", null,
-                android.os.Process.myUserHandle(),
-                null);
-
-        assertThat(mController.mPhotoController).isNull();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index 27c90b0..ec2fdc6 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -398,7 +398,7 @@
         ArgumentCaptor<UserPreference> captor = ArgumentCaptor.forClass(UserPreference.class);
         verify(mFragment.mUserListCategory).addPreference(captor.capture());
         UserPreference adminPref = captor.getValue();
-        assertThat(adminPref).isSameAs(mMePreference);
+        assertThat(adminPref).isSameInstanceAs(mMePreference);
     }
 
     @Test
@@ -417,7 +417,7 @@
         assertThat(guestPref.getKey()).isEqualTo(KEY_USER_GUEST);
         assertThat(guestPref.isEnabled()).isEqualTo(true);
         assertThat(guestPref.isSelectable()).isEqualTo(true);
-        assertThat(guestPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(guestPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -436,7 +436,7 @@
         assertThat(userPref.getKey()).isEqualTo("id=" + INACTIVE_SECONDARY_USER_ID);
         assertThat(userPref.isEnabled()).isEqualTo(true);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -456,7 +456,7 @@
         assertThat(userPref.getSummary()).isEqualTo("Restricted profile");
         assertThat(userPref.isEnabled()).isEqualTo(true);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -493,7 +493,7 @@
         assertThat(userPref.getSummary()).isEqualTo("Not set up - Restricted profile");
         assertThat(userPref.isEnabled()).isEqualTo(true);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
@@ -518,7 +518,7 @@
         assertThat(userPref.getSummary()).isEqualTo("Not set up");
         assertThat(userPref.isEnabled()).isEqualTo(false);
         assertThat(userPref.isSelectable()).isEqualTo(true);
-        assertThat(userPref.getOnPreferenceClickListener()).isSameAs(mFragment);
+        assertThat(userPref.getOnPreferenceClickListener()).isSameInstanceAs(mFragment);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java b/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
index f7702be..5a17622 100644
--- a/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
+++ b/tests/robotests/src/com/android/settings/utils/LocalClassLoaderContextThemeWrapperTest.java
@@ -36,6 +36,6 @@
         final Class clazz = LocalClassLoaderContextThemeWrapperTest.class;
         mContextThemeWrapper = new LocalClassLoaderContextThemeWrapper(clazz, context, 0);
 
-        assertThat(mContextThemeWrapper.getClassLoader()).isSameAs(clazz.getClassLoader());
+        assertThat(mContextThemeWrapper.getClassLoader()).isSameInstanceAs(clazz.getClassLoader());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index df9a2c1..f73d0f7 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -105,7 +105,7 @@
         mController = EntityHeaderController.newInstance(mActivity, mFragment, inputView);
         View view = mController.done(mActivity);
 
-        assertThat(view).isSameAs(inputView);
+        assertThat(view).isSameInstanceAs(inputView);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
index 9521e7a..89df035 100644
--- a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
@@ -36,6 +36,6 @@
 
         final List<String> keys = XmlTestUtils.getKeysFromPreferenceXml(mContext, xmlId);
         assertThat(keys).isNotNull();
-        assertThat(niks).containsAllIn(keys);
+        assertThat(niks).containsAtLeastElementsIn(keys);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index 1f4254e..c5f2a7f 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -815,6 +815,22 @@
     }
 
     @Test
+    public void macAddressPref_shouldVisibleAsRandomizedForConnectedNetwork() {
+        setUpForConnectedNetwork();
+        setUpSpyController();
+        when(mMockWifiEntry.isSaved()).thenReturn(true);
+        when(mMockWifiEntry.getPrivacy()).thenReturn(WifiEntry.PRIVACY_RANDOMIZED_MAC);
+        when(mMockWifiEntry.getMacAddress()).thenReturn(RANDOMIZED_MAC_ADDRESS);
+
+        displayAndResume();
+
+        verify(mMockMacAddressPref).setVisible(true);
+        verify(mMockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
+        verify(mMockMacAddressPref).setTitle(
+                R.string.wifi_advanced_randomized_mac_address_title);
+    }
+
+    @Test
     public void macAddressPref_shouldVisibleAsRandomizedForDisconnectedNetwork() {
         setUpForDisconnectedNetwork();
         when(mMockWifiEntry.isSaved()).thenReturn(true);
@@ -825,7 +841,8 @@
 
         verify(mMockMacAddressPref).setVisible(true);
         verify(mMockMacAddressPref).setSummary(RANDOMIZED_MAC_ADDRESS);
-        verify(mMockMacAddressPref).setTitle(R.string.wifi_advanced_randomized_mac_address_title);
+        verify(mMockMacAddressPref).setTitle(
+                R.string.wifi_advanced_randomized_mac_address_disconnected_title);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
index 4b1a8ca..7f03623 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
@@ -73,4 +73,46 @@
 
         verify(menuItem).setIcon(com.android.internal.R.drawable.ic_mode_edit);
     }
+
+    @Test
+    public void refreshPreferences_shouldUpdatePreferenceStates() {
+        final FakeWifiNetworkDetailsFragment2 fakeFragment = new FakeWifiNetworkDetailsFragment2();
+
+        fakeFragment.refreshPreferences();
+
+        assertThat(fakeFragment.isUpdatePreferenceStatesCalled()).isTrue();
+    }
+
+    @Test
+    public void refreshPreferences_shouldDisplayPreferenceControllers() {
+        final FakeWifiNetworkDetailsFragment2 fakeFragment = new FakeWifiNetworkDetailsFragment2();
+
+        fakeFragment.refreshPreferences();
+
+        assertThat(fakeFragment.isDisplayPreferenceControllersCalled()).isTrue();
+    }
+
+    // Fake WifiNetworkDetailsFragment2 to verify the protected functions
+    public class FakeWifiNetworkDetailsFragment2 extends WifiNetworkDetailsFragment2 {
+
+        private boolean mUpdatePreferenceStatesCalled;
+        private boolean mDisplayPreferenceControllersCalled;
+
+        @Override
+        protected void updatePreferenceStates() {
+            mUpdatePreferenceStatesCalled = true;
+        }
+
+        @Override
+        protected void displayPreferenceControllers() {
+            mDisplayPreferenceControllersCalled = true;
+        }
+
+        public boolean isUpdatePreferenceStatesCalled() {
+            return mUpdatePreferenceStatesCalled;
+        }
+        public boolean isDisplayPreferenceControllersCalled() {
+            return mDisplayPreferenceControllersCalled;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
index 0414b1c..adf3a07 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
@@ -105,4 +105,38 @@
 
         assertThat(mDropDownPreference.isSelectable()).isFalse();
     }
+
+    @Test
+    public void testUpdateState_canSetPrivacyInNextUpdate_shouldBeSelectable() {
+        // Return false in WifiEntry#canSetPrivacy to make preference un-selectable first.
+        when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.isSelectable()).isFalse();
+
+        // Return true in WifiEntry#canSetPrivacy to verify preference back to selectable.
+        when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.isSelectable()).isTrue();
+    }
+
+    @Test
+    public void testUpdateState_canNotSetPrivacyInNextUpdate_shouldNotSelectable() {
+        // Return true in WifiEntry#canSetPrivacy to make preference selectable first.
+        when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.isSelectable()).isTrue();
+
+        // Return false in WifiEntry#canSetPrivacy to verify preference back to un-selectable.
+        when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
+
+        mPreferenceController.updateState(mDropDownPreference);
+
+        assertThat(mDropDownPreference.isSelectable()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
index 81615f2..c9d2119 100644
--- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
@@ -103,7 +103,7 @@
             preferenceKeys.add(controller.getPreferenceKey());
         }
 
-        assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys);
+        assertThat(preferenceScreenKeys).containsAtLeastElementsIn(preferenceKeys);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/applications/AppOpsSettingsTest.java b/tests/unit/src/com/android/settings/applications/AppOpsSettingsTest.java
deleted file mode 100644
index fbbc01a..0000000
--- a/tests/unit/src/com/android/settings/applications/AppOpsSettingsTest.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.applications;
-
-import static android.app.AppOpsManager.MODE_ALLOWED;
-import static android.app.AppOpsManager.MODE_DEFAULT;
-import static android.app.AppOpsManager.MODE_ERRORED;
-import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
-import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import android.app.AppOpsManager;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
-import android.net.Uri;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.BySelector;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.test.InstrumentationRegistry;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.util.List;
-
-/**
- * An abstract parent for testing settings activities that manage an AppOps permission.
- */
-abstract public class AppOpsSettingsTest {
-    private static final String WM_DISMISS_KEYGUARD_COMMAND = "wm dismiss-keyguard";
-    private static final long START_ACTIVITY_TIMEOUT = 5000;
-
-    private Context mContext;
-    private UiDevice mUiDevice;
-    private PackageManager mPackageManager;
-    private AppOpsManager mAppOpsManager;
-    private List<UserInfo> mProfiles;
-    private String mPackageName;
-
-    // These depend on which app op's settings UI is being tested.
-    private final String mActivityAction;
-    private final int mAppOpCode;
-
-    protected AppOpsSettingsTest(String activityAction, int appOpCode) {
-        mActivityAction = activityAction;
-        mAppOpCode = appOpCode;
-    }
-
-    @Before
-    public void setUp() throws Exception {
-        mContext = InstrumentationRegistry.getTargetContext();
-        mPackageName = InstrumentationRegistry.getContext().getPackageName();
-        mPackageManager = mContext.getPackageManager();
-        mAppOpsManager = mContext.getSystemService(AppOpsManager.class);
-        mProfiles = mContext.getSystemService(UserManager.class).getProfiles(UserHandle.myUserId());
-        resetAppOpModeForAllProfiles();
-        mUiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mUiDevice.wakeUp();
-        mUiDevice.executeShellCommand(WM_DISMISS_KEYGUARD_COMMAND);
-    }
-
-    private void resetAppOpModeForAllProfiles() throws Exception {
-        for (UserInfo user : mProfiles) {
-            final int uid = mPackageManager.getPackageUidAsUser(mPackageName, user.id);
-            mAppOpsManager.setMode(mAppOpCode, uid, mPackageName, MODE_DEFAULT);
-        }
-    }
-
-    /**
-     * Creates an intent for showing the permission settings for all apps.
-     */
-    private Intent createManageAllAppsIntent() {
-        final Intent intent = new Intent(mActivityAction);
-        intent.addFlags(FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK);
-        return intent;
-    }
-
-    /**
-     * Creates an intent for showing the permission setting for a single app.
-     */
-    private Intent createManageSingleAppIntent(String packageName) {
-        final Intent intent = createManageAllAppsIntent();
-        intent.setData(Uri.parse("package:" + packageName));
-        return intent;
-    }
-
-    private String getApplicationLabel(String packageName) throws Exception {
-        final ApplicationInfo info = mPackageManager.getApplicationInfo(packageName, 0);
-        return mPackageManager.getApplicationLabel(info).toString();
-    }
-
-    private UiObject2 findAndVerifySwitchState(boolean checked) {
-        final BySelector switchSelector = By.clazz(Switch.class).res("android:id/switch_widget");
-        final UiObject2 switchPref = mUiDevice.wait(Until.findObject(switchSelector),
-                START_ACTIVITY_TIMEOUT);
-        assertNotNull("Switch not shown", switchPref);
-        assertTrue("Switch in invalid state", switchPref.isChecked() == checked);
-        return switchPref;
-    }
-
-    @Test
-    public void testAppList() throws Exception {
-        final String testAppLabel = getApplicationLabel(mPackageName);
-
-        mContext.startActivity(createManageAllAppsIntent());
-        final BySelector preferenceListSelector =
-                By.clazz(RecyclerView.class).res("com.android.settings:id/apps_list");
-        final UiObject2 preferenceList = mUiDevice.wait(Until.findObject(preferenceListSelector),
-                START_ACTIVITY_TIMEOUT);
-        assertNotNull("App list not shown", preferenceList);
-
-        final BySelector appLabelTextViewSelector = By.clazz(TextView.class)
-                .res("android:id/title")
-                .text(testAppLabel);
-        List<UiObject2> listOfMatchingTextViews;
-        do {
-            listOfMatchingTextViews = preferenceList.findObjects(appLabelTextViewSelector);
-            // assuming the number of profiles will be sufficiently small so that all the entries
-            // for the same package will fit in one screen at some time during the scroll.
-        } while (listOfMatchingTextViews.size() != mProfiles.size() &&
-                preferenceList.scroll(Direction.DOWN, 0.2f));
-        assertEquals("Test app not listed for each profile", mProfiles.size(),
-                listOfMatchingTextViews.size());
-
-        for (UiObject2 matchingObject : listOfMatchingTextViews) {
-            matchingObject.click();
-            findAndVerifySwitchState(true);
-            mUiDevice.pressBack();
-        }
-    }
-
-    private void testAppDetailScreenForAppOp(int appOpMode, int userId) throws Exception {
-        final String testAppLabel = getApplicationLabel(mPackageName);
-        final BySelector appDetailTitleSelector = By.clazz(TextView.class)
-                .res("com.android.settings:id/app_detail_title")
-                .text(testAppLabel);
-
-        mAppOpsManager.setMode(mAppOpCode,
-                mPackageManager.getPackageUidAsUser(mPackageName, userId), mPackageName, appOpMode);
-        mContext.startActivityAsUser(createManageSingleAppIntent(mPackageName),
-                UserHandle.of(userId));
-        mUiDevice.wait(Until.findObject(appDetailTitleSelector), START_ACTIVITY_TIMEOUT);
-        findAndVerifySwitchState(appOpMode == MODE_ALLOWED || appOpMode == MODE_DEFAULT);
-        mUiDevice.pressBack();
-    }
-
-    @Test
-    public void testSingleApp() throws Exception {
-        // App op MODE_DEFAULT is already tested in #testAppList
-        for (UserInfo user : mProfiles) {
-            testAppDetailScreenForAppOp(MODE_ALLOWED, user.id);
-            testAppDetailScreenForAppOp(MODE_ERRORED, user.id);
-        }
-    }
-
-    private void testSwitchToggle(int fromAppOp, int toAppOp) throws Exception {
-        final int packageUid = mPackageManager.getPackageUid(mPackageName, 0);
-        final boolean initialState = (fromAppOp == MODE_ALLOWED || fromAppOp == MODE_DEFAULT);
-
-        mAppOpsManager.setMode(mAppOpCode, packageUid, mPackageName, fromAppOp);
-        mContext.startActivity(createManageSingleAppIntent(mPackageName));
-        final UiObject2 switchPref = findAndVerifySwitchState(initialState);
-        switchPref.click();
-        Thread.sleep(1000);
-        assertEquals("Toggling switch did not change app op", toAppOp,
-                mAppOpsManager.checkOpNoThrow(mAppOpCode, packageUid,
-                        mPackageName));
-        mUiDevice.pressBack();
-    }
-
-    @Test
-    public void testIfSwitchTogglesAppOp() throws Exception {
-        testSwitchToggle(MODE_ALLOWED, MODE_ERRORED);
-        testSwitchToggle(MODE_ERRORED, MODE_ALLOWED);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        mUiDevice.pressHome();
-        resetAppOpModeForAllProfiles();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/applications/DrawOverlaySettingsTest.java b/tests/unit/src/com/android/settings/applications/DrawOverlaySettingsTest.java
deleted file mode 100644
index b6d51ff..0000000
--- a/tests/unit/src/com/android/settings/applications/DrawOverlaySettingsTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.applications;
-
-import android.app.AppOpsManager;
-import android.provider.Settings;
-
-import androidx.test.filters.LargeTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@LargeTest
-public class DrawOverlaySettingsTest extends AppOpsSettingsTest {
-
-    public DrawOverlaySettingsTest() {
-        super(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, AppOpsManager.OP_SYSTEM_ALERT_WINDOW);
-    }
-
-    // Test cases are in the superclass.
-}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/applications/ExternalSourcesSettingsTest.java b/tests/unit/src/com/android/settings/applications/ExternalSourcesSettingsTest.java
deleted file mode 100644
index b35d6cb..0000000
--- a/tests/unit/src/com/android/settings/applications/ExternalSourcesSettingsTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.applications;
-
-import android.app.AppOpsManager;
-import android.provider.Settings;
-
-import androidx.test.filters.LargeTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@LargeTest
-public class ExternalSourcesSettingsTest extends AppOpsSettingsTest {
-
-    public ExternalSourcesSettingsTest() {
-        super(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES,
-                AppOpsManager.OP_REQUEST_INSTALL_PACKAGES);
-    }
-
-    // Test cases are in the superclass.
-}
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinishTest.java b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinishTest.java
deleted file mode 100644
index 589680d..0000000
--- a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinishTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.biometrics.fingerprint;
-
-import static androidx.test.InstrumentationRegistry.getTargetContext;
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.intent.Intents.intended;
-import static androidx.test.espresso.intent.Intents.intending;
-import static androidx.test.espresso.intent.matcher.IntentMatchers.hasComponent;
-import static androidx.test.espresso.matcher.ViewMatchers.withId;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import android.app.Activity;
-import android.app.Instrumentation.ActivityResult;
-import android.content.ComponentName;
-
-import androidx.test.espresso.intent.rule.IntentsTestRule;
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.R;
-
-import com.google.android.setupcompat.PartnerCustomizationLayout;
-import com.google.android.setupcompat.template.FooterBarMixin;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class FingerprintEnrollFinishTest {
-
-    @Rule
-    public IntentsTestRule<FingerprintEnrollFinish> mActivityRule =
-            new IntentsTestRule<>(FingerprintEnrollFinish.class);
-
-    @Test
-    public void clickAddAnother_shouldLaunchEnrolling() {
-        final ComponentName enrollingComponent = new ComponentName(
-                getTargetContext(),
-                FingerprintEnrollEnrolling.class);
-
-        intending(hasComponent(enrollingComponent))
-                .respondWith(new ActivityResult(Activity.RESULT_CANCELED, null));
-
-        PartnerCustomizationLayout layout =
-                mActivityRule.getActivity().findViewById(R.id.setup_wizard_layout);
-        layout.getMixin(FooterBarMixin.class).getPrimaryButtonView().performClick();
-
-        intended(hasComponent(enrollingComponent));
-        assertFalse(mActivityRule.getActivity().isFinishing());
-    }
-
-    @Test
-    public void clickAddAnother_shouldPropagateResults() {
-        final ComponentName enrollingComponent = new ComponentName(
-                getTargetContext(),
-                FingerprintEnrollEnrolling.class);
-
-        intending(hasComponent(enrollingComponent))
-                .respondWith(new ActivityResult(Activity.RESULT_OK, null));
-
-        PartnerCustomizationLayout layout =
-                mActivityRule.getActivity().findViewById(R.id.setup_wizard_layout);
-        layout.getMixin(FooterBarMixin.class).getPrimaryButtonView().performClick();
-
-        intended(hasComponent(enrollingComponent));
-        assertTrue(mActivityRule.getActivity().isFinishing());
-    }
-
-    @Test
-    public void clickNext_shouldFinish() {
-        onView(withId(R.id.next_button)).perform(click());
-        assertTrue(mActivityRule.getActivity().isFinishing());
-    }
-}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
deleted file mode 100644
index 454de3d..0000000
--- a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics.fingerprint;
-
-
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Mockito.doReturn;
-
-import android.content.Context;
-import android.content.ContextWrapper;
-import android.content.Intent;
-import android.hardware.fingerprint.Fingerprint;
-import android.hardware.fingerprint.FingerprintManager;
-import android.test.ActivityUnitTestCase;
-import android.view.View;
-import android.widget.Button;
-import android.widget.TextView;
-
-import com.android.settings.R;
-
-import com.google.android.setupcompat.PartnerCustomizationLayout;
-import com.google.android.setupcompat.template.FooterBarMixin;
-
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class FingerprintEnrollIntroductionTest
-        extends ActivityUnitTestCase<FingerprintEnrollIntroduction> {
-
-    private TestContext mContext;
-
-    @Mock
-    private FingerprintManager mFingerprintManager;
-
-    private FingerprintEnrollIntroduction mActivity;
-
-    public FingerprintEnrollIntroductionTest() {
-        super(FingerprintEnrollIntroduction.class);
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        MockitoAnnotations.initMocks(this);
-        mContext = new TestContext(getInstrumentation().getTargetContext());
-        setActivityContext(mContext);
-
-        getInstrumentation().runOnMainSync(() -> {
-            final Intent intent = new Intent();
-            mActivity = startActivity(intent,
-                    null /* savedInstanceState */, null /* lastNonConfigurationInstance */);
-        });
-    }
-
-    public void testMaxFingerprint_shouldShowErrorMessage() {
-        final int max = mContext.getResources().getInteger(
-                com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser);
-        doReturn(generateFingerprintList(max)).when(mFingerprintManager)
-                .getEnrolledFingerprints(anyInt());
-
-        getInstrumentation().runOnMainSync(() -> {
-            getInstrumentation().callActivityOnCreate(mActivity, null);
-            getInstrumentation().callActivityOnResume(mActivity);
-        });
-
-        final TextView errorTextView = (TextView) mActivity.findViewById(R.id.error_text);
-        assertNotNull(errorTextView.getText().toString());
-
-        PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
-        final Button nextButton = layout.getMixin(FooterBarMixin.class).getPrimaryButtonView();
-        assertEquals(View.GONE, nextButton.getVisibility());
-    }
-
-    private List<Fingerprint> generateFingerprintList(int num) {
-        ArrayList<Fingerprint> list = new ArrayList<>();
-        for (int i = 0; i < num; i++) {
-            list.add(new Fingerprint("Fingerprint " + i, 0, i, 0));
-        }
-        return list;
-    }
-
-    public class TestContext extends ContextWrapper {
-
-        public TestContext(Context base) {
-            super(base);
-        }
-
-        @Override
-        public Object getSystemService(String name) {
-            if (Context.FINGERPRINT_SERVICE.equals(name)) {
-                return mFingerprintManager;
-            }
-            return super.getSystemService(name);
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java b/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
deleted file mode 100644
index 2d083f0..0000000
--- a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core;
-
-import static junit.framework.Assert.fail;
-
-import android.content.Context;
-import android.os.Looper;
-import android.platform.test.annotations.Presubmit;
-import android.util.ArraySet;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.search.SearchIndexableData;
-import com.android.settingslib.search.SearchIndexableResources;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.List;
-import java.util.Set;
-
-@RunWith(AndroidJUnit4.class)
-@MediumTest
-public class PreferenceControllerContractTest {
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-    }
-
-    @Test
-    @Presubmit
-    public void controllersInSearchShouldImplementPreferenceControllerMixin() {
-        Looper.prepare(); // Required by AutofillLoggingLevelPreferenceController
-        final Set<String> errorClasses = new ArraySet<>();
-
-        final SearchIndexableResources resources =
-                FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
-                        .getSearchIndexableResources();
-        for (SearchIndexableData bundle : resources.getProviderValues()) {
-
-            final BaseSearchIndexProvider provider =
-                    (BaseSearchIndexProvider) bundle.getSearchIndexProvider();
-            if (provider == null) {
-                continue;
-            }
-
-            final List<AbstractPreferenceController> controllers =
-                    provider.getPreferenceControllers(mContext);
-            if (controllers == null) {
-                continue;
-            }
-            for (AbstractPreferenceController controller : controllers) {
-                if (!(controller instanceof PreferenceControllerMixin)
-                        && !(controller instanceof BasePreferenceController)) {
-                    errorClasses.add(controller.getClass().getName());
-                }
-            }
-        }
-
-        if (!errorClasses.isEmpty()) {
-            final StringBuilder errorMessage = new StringBuilder()
-                    .append("Each preference must implement PreferenceControllerMixin ")
-                    .append("or extend BasePreferenceController, ")
-                    .append("the following classes don't:\n");
-            for (String c : errorClasses) {
-                errorMessage.append(c).append("\n");
-            }
-            fail(errorMessage.toString());
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/core/SettingsGatewayTest.java b/tests/unit/src/com/android/settings/core/SettingsGatewayTest.java
deleted file mode 100644
index f879876..0000000
--- a/tests/unit/src/com/android/settings/core/SettingsGatewayTest.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core;
-
-import static android.content.pm.PackageManager.GET_ACTIVITIES;
-import static android.content.pm.PackageManager.GET_META_DATA;
-import static android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS;
-
-import static com.android.settings.SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static junit.framework.Assert.fail;
-
-import static org.junit.Assert.assertFalse;
-
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.os.Bundle;
-import android.platform.test.annotations.Presubmit;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.core.gateway.SettingsGateway;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-@SmallTest
-@RunWith(AndroidJUnit4.class)
-public class SettingsGatewayTest {
-
-    private static final String TAG = "SettingsGatewayTest";
-
-    private Context mContext;
-    private PackageManager mPackageManager;
-    private String mPackageName;
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-        mPackageManager = mContext.getPackageManager();
-        mPackageName = mContext.getPackageName();
-    }
-
-    @Test
-    @Presubmit
-    public void allRestrictedActivityMustBeDefinedInManifest() {
-        for (String className : SettingsGateway.SETTINGS_FOR_RESTRICTED) {
-            final Intent intent = new Intent();
-            intent.setComponent(new ComponentName(mPackageName, className));
-            List<ResolveInfo> resolveInfos = mPackageManager.queryIntentActivities(intent,
-                    MATCH_DISABLED_COMPONENTS);
-            Log.d(TAG, mPackageName + "/" + className + "; resolveInfo size: "
-                    + resolveInfos.size());
-            assertFalse(className + " is not-defined in manifest", resolveInfos.isEmpty());
-        }
-    }
-
-    @Test
-    @Presubmit
-    public void publicFragmentMustAppearInSettingsGateway()
-            throws PackageManager.NameNotFoundException {
-        final List<String> allowlistedFragment = new ArrayList<>();
-        final StringBuilder error = new StringBuilder();
-
-        for (String fragment : SettingsGateway.ENTRY_FRAGMENTS) {
-            allowlistedFragment.add(fragment);
-        }
-        final PackageInfo pi = mPackageManager.getPackageInfo(mPackageName,
-                GET_META_DATA | MATCH_DISABLED_COMPONENTS | GET_ACTIVITIES);
-        final List<ActivityInfo> activities = Arrays.asList(pi.activities);
-
-        for (ActivityInfo activity : activities) {
-            final Bundle metaData = activity.metaData;
-            if (metaData == null || !metaData.containsKey(META_DATA_KEY_FRAGMENT_CLASS)) {
-                continue;
-            }
-            final String fragmentName = metaData.getString(META_DATA_KEY_FRAGMENT_CLASS);
-
-            assertThat(fragmentName).isNotNull();
-            if (!allowlistedFragment.contains(fragmentName)) {
-                error.append("SettingsGateway.ENTRY_FRAGMENTS must contain " + fragmentName
-                        + " because this fragment is used in manifest for " + activity.name)
-                        .append("\n");
-            }
-        }
-        final String message = error.toString();
-        if (!TextUtils.isEmpty(message)) {
-            fail(message);
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java b/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
deleted file mode 100644
index ddd00a2..0000000
--- a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core;
-
-import static junit.framework.Assert.fail;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.os.Bundle;
-import android.platform.test.annotations.Presubmit;
-import android.provider.SearchIndexableResource;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.search.Indexable;
-import com.android.settingslib.search.SearchIndexableData;
-import com.android.settingslib.search.SearchIndexableRaw;
-import com.android.settingslib.search.SearchIndexableResources;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-@RunWith(AndroidJUnit4.class)
-@MediumTest
-public class UniquePreferenceTest {
-
-    private static final String TAG = "UniquePreferenceTest";
-    private static final List<String> IGNORE_PREF_TYPES = Arrays.asList(
-            "com.android.settingslib.widget.FooterPreference");
-
-    private static final List<String> ALLOWLISTED_DUPLICATE_KEYS = Arrays.asList(
-            "owner_info_settings",          // Lock screen message in security - multiple xml files
-                                            // contain this because security page is constructed by
-                                            // combining small xml chunks. Eventually the page
-                                            // should be formed as one single xml and this entry
-                                            // should be removed.
-
-            "dashboard_tile_placeholder",   // This is the placeholder pref for injecting dynamic
-                                            // tiles.
-            // Dup keys from About Phone v2 experiment.
-            "ims_reg_state",
-            "bt_address",
-            "device_model",
-            "firmware_version",
-            "regulatory_info",
-            "manual",
-            "legal_container",
-            "device_feedback",
-            "fcc_equipment_id",
-            "sim_status",
-            "build_number",
-            "phone_number",
-            "imei_info",
-            "wifi_ip_address",
-            "wifi_mac_address",
-            "safety_info",
-            // Dupe keys from data usage v2.
-            "data_usage_screen",
-            "cellular_data_usage",
-            "data_usage_wifi_screen",
-            "status_header",
-            "billing_preference",
-            "data_usage_cellular_screen",
-            "wifi_data_usage",
-            "data_usage_enable"
-    );
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-    }
-
-    /**
-     * All preferences should have their unique key. It's especially important for many parts of
-     * Settings to work properly: we assume pref keys are unique in displaying, search ranking,\
-     * search result suppression, and many other areas.
-     * <p/>
-     * So in this test we are checking preferences participating in search.
-     * <p/>
-     * Note: Preference is not limited to just <Preference/> object. Everything in preference xml
-     * should have a key.
-     */
-    @Test
-    @Presubmit
-    public void allPreferencesShouldHaveUniqueKey()
-            throws IOException, XmlPullParserException, Resources.NotFoundException {
-        final Set<String> uniqueKeys = new HashSet<>();
-        final Set<String> nullKeyClasses = new HashSet<>();
-        final Set<String> duplicatedKeys = new HashSet<>();
-        final SearchIndexableResources resources =
-                FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
-                        .getSearchIndexableResources();
-        for (SearchIndexableData SearchIndexableData : resources.getProviderValues()) {
-            verifyPreferenceKeys(uniqueKeys, duplicatedKeys, nullKeyClasses, SearchIndexableData);
-        }
-
-        if (!nullKeyClasses.isEmpty()) {
-            final StringBuilder nullKeyErrors = new StringBuilder()
-                    .append("Each preference/SearchIndexableData must have a key, ")
-                    .append("the following classes have null keys:\n");
-            for (String c : nullKeyClasses) {
-                nullKeyErrors.append(c).append("\n");
-            }
-            fail(nullKeyErrors.toString());
-        }
-
-        if (!duplicatedKeys.isEmpty()) {
-            final StringBuilder dupeKeysError = new StringBuilder(
-                    "The following keys are not unique\n");
-            for (String c : duplicatedKeys) {
-                dupeKeysError.append(c).append("\n");
-            }
-            fail(dupeKeysError.toString());
-        }
-    }
-
-    private void verifyPreferenceKeys(Set<String> uniqueKeys, Set<String> duplicatedKeys,
-            Set<String> nullKeyClasses, SearchIndexableData searchIndexableData)
-            throws IOException, XmlPullParserException, Resources.NotFoundException {
-
-        final String className = searchIndexableData.getTargetClass().getName();
-        final Indexable.SearchIndexProvider provider =
-                searchIndexableData.getSearchIndexProvider();
-        final List<SearchIndexableRaw> rawsToIndex = provider.getRawDataToIndex(mContext, true);
-        final List<SearchIndexableResource> resourcesToIndex =
-                provider.getXmlResourcesToIndex(mContext, true);
-        verifyResources(className, resourcesToIndex, uniqueKeys, duplicatedKeys, nullKeyClasses);
-        verifyRaws(className, rawsToIndex, uniqueKeys, duplicatedKeys, nullKeyClasses);
-    }
-
-    private void verifyResources(String className, List<SearchIndexableResource> resourcesToIndex,
-            Set<String> uniqueKeys, Set<String> duplicatedKeys, Set<String> nullKeyClasses)
-            throws IOException, XmlPullParserException, Resources.NotFoundException {
-        if (resourcesToIndex == null) {
-            Log.d(TAG, className + "is not providing SearchIndexableResource, skipping");
-            return;
-        }
-
-        for (SearchIndexableResource sir : resourcesToIndex) {
-            final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
-                    sir.xmlResId,
-                    MetadataFlag.FLAG_INCLUDE_PREF_SCREEN
-                            | MetadataFlag.FLAG_NEED_KEY
-                            | MetadataFlag.FLAG_NEED_PREF_TYPE);
-
-            for (Bundle bundle : metadata) {
-                final String type = bundle.getString(PreferenceXmlParserUtils.METADATA_PREF_TYPE);
-                if (IGNORE_PREF_TYPES.contains(type)) {
-                    continue;
-                }
-                final String key = bundle.getString(PreferenceXmlParserUtils.METADATA_KEY);
-                if (TextUtils.isEmpty(key)) {
-                    Log.e(TAG, "Every preference must have an key; found null key"
-                            + " in " + className);
-                    nullKeyClasses.add(className);
-                    continue;
-                }
-                if (uniqueKeys.contains(key) && !ALLOWLISTED_DUPLICATE_KEYS.contains(key)) {
-                    Log.e(TAG, "Every preference key must unique; found "
-                            + " in " + className
-                            + " / " + key);
-                    duplicatedKeys.add(key);
-                }
-                uniqueKeys.add(key);
-            }
-        }
-    }
-
-    private void verifyRaws(String className, List<SearchIndexableRaw> rawsToIndex,
-            Set<String> uniqueKeys, Set<String> duplicatedKeys, Set<String> nullKeyClasses) {
-        if (rawsToIndex == null) {
-            Log.d(TAG, className + "is not providing SearchIndexableRaw, skipping");
-            return;
-        }
-        for (SearchIndexableRaw raw : rawsToIndex) {
-            if (TextUtils.isEmpty(raw.key)) {
-                Log.e(TAG, "Every SearchIndexableRaw must have an key; found null key"
-                        + " in " + className);
-                nullKeyClasses.add(className);
-                continue;
-            }
-            if (uniqueKeys.contains(raw.key) && !ALLOWLISTED_DUPLICATE_KEYS.contains(raw.key)) {
-                Log.e(TAG, "Every SearchIndexableRaw key must unique; found " + raw.key
-                        + " in " + className);
-                duplicatedKeys.add(raw.key);
-            }
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java b/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
deleted file mode 100644
index e8e4927..0000000
--- a/tests/unit/src/com/android/settings/core/UserRestrictionTest.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core;
-
-import static junit.framework.Assert.fail;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.content.res.TypedArray;
-import android.content.res.XmlResourceParser;
-import android.os.UserManager;
-import android.provider.SearchIndexableResource;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.util.Xml;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.search.Indexable;
-import com.android.settingslib.search.SearchIndexableData;
-import com.android.settingslib.search.SearchIndexableResources;
-
-import com.google.android.collect.Sets;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Set;
-
-@RunWith(AndroidJUnit4.class)
-@MediumTest
-public class UserRestrictionTest {
-
-    private static final String TAG = "UserRestrictionTest";
-
-    private Context mContext;
-
-    private static final Set<String> USER_RESTRICTIONS = Sets.newHashSet(
-            UserManager.DISALLOW_CONFIG_DATE_TIME,
-            UserManager.DISALLOW_CONFIG_CREDENTIALS,
-            UserManager.DISALLOW_NETWORK_RESET,
-            UserManager.DISALLOW_FACTORY_RESET,
-            UserManager.DISALLOW_CONFIG_TETHERING,
-            UserManager.DISALLOW_CONFIG_VPN,
-            UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS,
-            UserManager.DISALLOW_AIRPLANE_MODE,
-            UserManager.DISALLOW_CONFIG_BRIGHTNESS,
-            UserManager.DISALLOW_CONFIG_SCREEN_TIMEOUT
-    );
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-    }
-
-    /**
-     * Verity that userRestriction attributes are entered and parsed successfully.
-     */
-    @Test
-    public void userRestrictionAttributeShouldBeValid()
-            throws IOException, XmlPullParserException, Resources.NotFoundException {
-        final SearchIndexableResources resources =
-                FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
-                        .getSearchIndexableResources();
-        for (SearchIndexableData bundle : resources.getProviderValues()) {
-            verifyUserRestriction(bundle);
-        }
-    }
-
-    private void verifyUserRestriction(SearchIndexableData searchIndexableData)
-            throws IOException, XmlPullParserException, Resources.NotFoundException {
-
-        final Indexable.SearchIndexProvider provider =
-                searchIndexableData.getSearchIndexProvider();
-        final List<SearchIndexableResource> resourcesToIndex =
-                provider.getXmlResourcesToIndex(mContext, true);
-
-        final String className = searchIndexableData.getTargetClass().getName();
-
-        if (resourcesToIndex == null) {
-            Log.d(TAG, className + "is not providing SearchIndexableResource, skipping");
-            return;
-        }
-
-        for (SearchIndexableResource sir : resourcesToIndex) {
-            if (sir.xmlResId <= 0) {
-                Log.d(TAG, className + " doesn't have a valid xml to index.");
-                continue;
-            }
-            final XmlResourceParser parser = mContext.getResources().getXml(sir.xmlResId);
-
-            int type;
-            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && type != XmlPullParser.START_TAG) {
-                // Parse next until start tag is found
-            }
-            final int outerDepth = parser.getDepth();
-
-            do {
-                if (type != XmlPullParser.START_TAG) {
-                    continue;
-                }
-                final String nodeName = parser.getName();
-                if (!nodeName.endsWith("Preference")) {
-                    continue;
-                }
-                final AttributeSet attrs = Xml.asAttributeSet(parser);
-                final String userRestriction = getDataUserRestrictions(mContext, attrs);
-                if (userRestriction != null) {
-                    if(!isValidRestriction(userRestriction)) {
-                        fail("userRestriction in " + className + " not valid.");
-                    }
-                }
-            } while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth));
-        }
-    }
-
-    boolean isValidRestriction(String userRestriction) {
-        return USER_RESTRICTIONS.contains(userRestriction);
-    }
-
-    private String getDataUserRestrictions(Context context, AttributeSet attrs) {
-        return getData(context, attrs,
-                com.android.settingslib.R.styleable.RestrictedPreference,
-                com.android.settingslib.R.styleable.RestrictedPreference_userRestriction);
-    }
-
-    private String getData(Context context, AttributeSet set, int[] attrs, int resId) {
-        final TypedArray ta = context.obtainStyledAttributes(set, attrs);
-        String data = ta.getString(resId);
-        ta.recycle();
-        return data;
-    }
-}
diff --git a/tests/unit/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceControllerInstrumentationTest.java b/tests/unit/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceControllerInstrumentationTest.java
deleted file mode 100644
index dbb73c0..0000000
--- a/tests/unit/src/com/android/settings/development/BluetoothMaxConnectedAudioDevicesPreferenceControllerInstrumentationTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import android.content.Context;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.R;
-
-import org.hamcrest.CoreMatchers;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.Arrays;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class BluetoothMaxConnectedAudioDevicesPreferenceControllerInstrumentationTest {
-
-    private Context mTargetContext;
-    private String[] mListValues;
-    private String[] mListEntries;
-    private String mDefaultMaxConnectedAudioDevices;
-
-    @Before
-    public void setUp() throws Exception {
-        mTargetContext = InstrumentationRegistry.getTargetContext();
-        // Get XML values without mock
-        mListValues = mTargetContext.getResources()
-                .getStringArray(R.array.bluetooth_max_connected_audio_devices_values);
-        mListEntries = mTargetContext.getResources()
-                .getStringArray(R.array.bluetooth_max_connected_audio_devices);
-        mDefaultMaxConnectedAudioDevices = String.valueOf(mTargetContext.getResources()
-                .getInteger(
-                        com.android.internal.R.integer
-                                .config_bluetooth_max_connected_audio_devices));
-    }
-
-    @Test
-    public void verifyResource() {
-        // Verify normal list entries and default preference entries have the same size
-        Assert.assertEquals(mListEntries.length, mListValues.length);
-        Assert.assertThat(Arrays.asList(mListValues),
-                CoreMatchers.hasItem(mDefaultMaxConnectedAudioDevices));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java b/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
deleted file mode 100644
index 355a7e4..0000000
--- a/tests/unit/src/com/android/settings/fuelgauge/batterytip/RestrictAppTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Instrumentation;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.support.test.uiautomator.UiDevice;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class RestrictAppTest {
-    private static final String WM_DISMISS_KEYGUARD_COMMAND = "wm dismiss-keyguard";
-    private static final String BATTERY_INTENT = "android.intent.action.POWER_USAGE_SUMMARY";
-    private static final String PACKAGE_SETTINGS = "com.android.settings";
-    private static final String PACKAGE_SYSTEM_UI = "com.android.systemui";
-    private static final int ANOMALY_TYPE =
-            StatsManagerConfig.AnomalyType.EXCESSIVE_WAKELOCK_ALL_SCREEN_OFF;
-
-    private BatteryDatabaseManager mBatteryDatabaseManager;
-    private PackageManager mPackageManager;
-    private UiDevice mUiDevice;
-
-    @Before
-    public void setUp() throws Exception {
-        final Context context = InstrumentationRegistry.getTargetContext();
-
-        mUiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mUiDevice.wakeUp();
-        mUiDevice.executeShellCommand(WM_DISMISS_KEYGUARD_COMMAND);
-
-        mPackageManager = context.getPackageManager();
-        mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(context);
-        mBatteryDatabaseManager.deleteAllAnomaliesBeforeTimeStamp(System.currentTimeMillis() +
-                TimeUnit.DAYS.toMillis(1));
-    }
-
-    @Test
-    public void batterySettings_hasOneAnomaly_showAnomaly() throws
-            PackageManager.NameNotFoundException {
-        mBatteryDatabaseManager.insertAnomaly(mPackageManager.getPackageUid(PACKAGE_SETTINGS, 0),
-                PACKAGE_SETTINGS, ANOMALY_TYPE,
-                AnomalyDatabaseHelper.State.NEW, System.currentTimeMillis());
-
-        Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-        instrumentation.startActivitySync(createBatteryIntent());
-        onView(withText("Restrict 1 app")).check(matches(isDisplayed()));
-    }
-
-    @Test
-    public void batterySettings_hasTwoAnomalies_showAnomalies() throws
-            PackageManager.NameNotFoundException {
-        mBatteryDatabaseManager.insertAnomaly(mPackageManager.getPackageUid(PACKAGE_SETTINGS, 0),
-                PACKAGE_SETTINGS, ANOMALY_TYPE,
-                AnomalyDatabaseHelper.State.NEW, System.currentTimeMillis());
-        mBatteryDatabaseManager.insertAnomaly(mPackageManager.getPackageUid(PACKAGE_SYSTEM_UI, 0),
-                PACKAGE_SYSTEM_UI, ANOMALY_TYPE,
-                AnomalyDatabaseHelper.State.NEW, System.currentTimeMillis());
-
-        Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-        instrumentation.startActivitySync(createBatteryIntent());
-        onView(withText("Restrict 2 apps")).check(matches(isDisplayed()));
-    }
-
-    @Test
-    public void insertDuplicateAnomalies_onlyInsertOnce() throws
-            PackageManager.NameNotFoundException {
-        final int uid = mPackageManager.getPackageUid(PACKAGE_SETTINGS, 0);
-        final long now = System.currentTimeMillis();
-
-        // Insert same anomaly twice, it fails at the second time.
-        assertThat(mBatteryDatabaseManager.insertAnomaly(uid, PACKAGE_SETTINGS, ANOMALY_TYPE,
-                AnomalyDatabaseHelper.State.NEW, now)).isTrue();
-        assertThat(mBatteryDatabaseManager.insertAnomaly(uid, PACKAGE_SETTINGS, ANOMALY_TYPE,
-                AnomalyDatabaseHelper.State.NEW, now)).isFalse();
-
-        // In database, only contains one row
-        List<AppInfo> newAppInfos = mBatteryDatabaseManager.queryAllAnomalies(0,
-                AnomalyDatabaseHelper.State.NEW);
-        assertThat(newAppInfos).containsExactly(new AppInfo.Builder()
-                .setUid(uid)
-                .setPackageName(PACKAGE_SETTINGS)
-                .addAnomalyType(ANOMALY_TYPE)
-                .build());
-    }
-
-    private Intent createBatteryIntent() {
-        final Intent intent = new Intent(BATTERY_INTENT);
-        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
-        return intent;
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/MobileDataEnabledListenerTest.java b/tests/unit/src/com/android/settings/network/MobileDataEnabledListenerTest.java
deleted file mode 100644
index 190dc3d..0000000
--- a/tests/unit/src/com/android/settings/network/MobileDataEnabledListenerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-
-import android.content.Context;
-import android.net.Uri;
-import android.provider.Settings;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class MobileDataEnabledListenerTest {
-    private static final int SUB_ID_ONE = 111;
-    private static final int SUB_ID_TWO = 222;
-
-    @Mock
-    private MobileDataEnabledListener.Client mClient;
-
-    private Context mContext;
-    private MobileDataEnabledListener mListener;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = ApplicationProvider.getApplicationContext();
-        mListener = new MobileDataEnabledListener(mContext, mClient);
-    }
-
-    @Test
-    public void onMobileDataEnabledChange_firesCorrectly() {
-        mListener.start(SUB_ID_ONE);
-        final Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + SUB_ID_ONE);
-
-        mContext.getContentResolver().notifyChange(uri, null);
-
-        verify(mClient).onMobileDataEnabledChange();
-    }
-
-    @Test
-    public void onMobileDataEnabledChange_doesNotFireAfterStop() {
-        mListener.start(SUB_ID_ONE);
-        mListener.stop();
-        final Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + SUB_ID_ONE);
-
-        mContext.getContentResolver().notifyChange(uri, null);
-
-        verify(mClient, never()).onMobileDataEnabledChange();
-    }
-
-    @Test
-    public void onMobileDataEnabledChange_changedToDifferentId_firesCorrectly() {
-        mListener.start(SUB_ID_ONE);
-        mListener.stop();
-        mListener.start(SUB_ID_TWO);
-        final Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + SUB_ID_TWO);
-
-        mContext.getContentResolver().notifyChange(uri, null);
-
-        verify(mClient).onMobileDataEnabledChange();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/TetherProvisioningActivityTest.java b/tests/unit/src/com/android/settings/network/TetherProvisioningActivityTest.java
deleted file mode 100644
index af29dcc..0000000
--- a/tests/unit/src/com/android/settings/network/TetherProvisioningActivityTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import static android.net.TetheringConstants.EXTRA_ADD_TETHER_TYPE;
-import static android.net.TetheringConstants.EXTRA_PROVISION_CALLBACK;
-import static android.net.TetheringManager.TETHERING_WIFI;
-
-import static com.android.settings.network.TetherProvisioningActivity.EXTRA_TETHER_SUBID;
-import static com.android.settings.network.TetherProvisioningActivity.EXTRA_TETHER_UI_PROVISIONING_APP_NAME;
-import static com.android.settings.network.TetherProvisioningActivity.PROVISION_REQUEST;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.net.TetheringManager;
-import android.os.Bundle;
-import android.os.ResultReceiver;
-import android.provider.Settings;
-import android.telephony.SubscriptionManager;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.test.core.app.ActivityScenario;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.TimeUnit;
-
-@RunWith(AndroidJUnit4.class)
-public class TetherProvisioningActivityTest {
-    private static class WrappedReceiver extends ResultReceiver {
-        private final CompletableFuture<Integer> mFuture = new CompletableFuture<>();
-
-        WrappedReceiver() {
-            super(null /* handler */);
-        }
-
-        @Override
-        protected void onReceiveResult(int resultCode, Bundle resultData) {
-            mFuture.complete(resultCode);
-        }
-
-        public int get() throws Exception {
-            return mFuture.get(10_000L, TimeUnit.MILLISECONDS);
-        }
-    }
-
-    @Test
-    public void testOnCreate_FinishWithNonActiveDataSubId() throws Exception {
-        final WrappedReceiver receiver = new WrappedReceiver();
-        try (ActivityScenario<TetherProvisioningActivity> scenario = ActivityScenario.launch(
-                new Intent(Settings.ACTION_TETHER_PROVISIONING_UI)
-                        .putExtra(EXTRA_ADD_TETHER_TYPE, TETHERING_WIFI)
-                        .putExtra(EXTRA_PROVISION_CALLBACK, receiver)
-                        .putExtra(TetherProvisioningActivity.EXTRA_TETHER_SUBID, 10000))) {
-            assertEquals(TetheringManager.TETHER_ERROR_PROVISIONING_FAILED, receiver.get());
-            assertEquals(Lifecycle.State.DESTROYED, scenario.getState());
-        }
-    }
-
-    @Test
-    public void testOnCreate_FinishWithUnavailableProvisioningApp() throws Exception {
-        final WrappedReceiver receiver = new WrappedReceiver();
-        final int subId = SubscriptionManager.getActiveDataSubscriptionId();
-        final String[] emptyProvisioningApp = { "", "" };
-        try (ActivityScenario<TetherProvisioningActivity> scenario = ActivityScenario.launch(
-                new Intent(Settings.ACTION_TETHER_PROVISIONING_UI)
-                        .putExtra(EXTRA_ADD_TETHER_TYPE, TETHERING_WIFI)
-                        .putExtra(EXTRA_PROVISION_CALLBACK, receiver)
-                        .putExtra(EXTRA_TETHER_SUBID, subId)
-                        .putExtra(EXTRA_TETHER_UI_PROVISIONING_APP_NAME, emptyProvisioningApp))) {
-            assertEquals(TetheringManager.TETHER_ERROR_PROVISIONING_FAILED, receiver.get());
-            assertEquals(Lifecycle.State.DESTROYED, scenario.getState());
-        }
-    }
-
-    @Test
-    public void testOnCreate_startActivityForResult() {
-        final WrappedReceiver receiver = new WrappedReceiver();
-        final int subId = SubscriptionManager.getActiveDataSubscriptionId();
-        final String[] provisionApp = new String[] {
-                "android.test.entitlement",
-                "android.test.entitlement.InstrumentedEntitlementActivity"
-        };
-        try (ActivityScenario<TetherProvisioningActivity> scenario = ActivityScenario.launch(
-                new Intent(Settings.ACTION_TETHER_PROVISIONING_UI)
-                        .putExtra(EXTRA_ADD_TETHER_TYPE, TETHERING_WIFI)
-                        .putExtra(EXTRA_PROVISION_CALLBACK, receiver)
-                        .putExtra(EXTRA_TETHER_SUBID, subId)
-                        .putExtra(EXTRA_TETHER_UI_PROVISIONING_APP_NAME, provisionApp))) {
-            scenario.onActivity(activity -> {
-                assertFalse(activity.isFinishing());
-                activity.onActivityResult(PROVISION_REQUEST, Activity.RESULT_OK, null /* intent */);
-                try {
-                    assertEquals(TetheringManager.TETHER_ERROR_NO_ERROR, receiver.get());
-                } catch (Exception e) {
-                    // ActivityAction#perform() doesn't throw the exception. Just catch the
-                    // exception and call fail() here.
-                    fail("Can not get result after 10s.");
-                }
-                assertTrue(activity.isFinishing());
-            });
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
index 6036ec7..67f5f1a 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
@@ -111,9 +111,11 @@
     @Test
     public void setChecked_setDataIntoSubscriptionManager() {
         mController.setChecked(true);
-        verify(mTelephonyManager).setAlwaysAllowMmsData(true);
+        verify(mTelephonyManager).setMobileDataPolicyEnabledStatus(
+                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, true);
 
         mController.setChecked(false);
-        verify(mTelephonyManager).setAlwaysAllowMmsData(false);
+        verify(mTelephonyManager).setMobileDataPolicyEnabledStatus(
+                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, false);
     }
 }
diff --git a/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java b/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
deleted file mode 100644
index 3256aba..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.telephony.CellIdentityLte;
-import android.telephony.CellIdentityWcdma;
-import android.telephony.CellInfoLte;
-import android.telephony.CellInfoWcdma;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceManager;
-import androidx.test.annotation.UiThreadTest;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.Arrays;
-
-@RunWith(AndroidJUnit4.class)
-public class NetworkSelectSettingsTest {
-    private static final int SUB_ID = 2;
-    private static final String CARRIER_NAME1 = "CarrierName1";
-    private static final String CARRIER_NAME2 = "CarrierName2";
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private PreferenceManager mPreferenceManager;
-    @Mock
-    private SharedPreferences mSharedPreferences;
-
-    private CellInfoWcdma mCellInfo1 = new CellInfoWcdma();
-    private CellIdentityWcdma mCellId1 = new CellIdentityWcdma();
-    private CellInfoLte mCellInfo2 = new CellInfoLte();
-    private CellIdentityLte mCellId2 = new CellIdentityLte();
-
-    private Context mContext;
-
-    private PreferenceCategory mPreferenceCategory;
-
-    private NetworkSelectSettings mNetworkSelectSettings;
-
-    @Before
-    @UiThreadTest
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
-
-        mCellInfo1.setRegistered(true);
-        mCellInfo1.setCellIdentity(mCellId1);
-        mCellId1.setOperatorAlphaLong(CARRIER_NAME1);
-        mCellInfo2.setRegistered(false);
-        mCellInfo2.setCellIdentity(mCellId2);
-        mCellId2.setOperatorAlphaLong(CARRIER_NAME2);
-
-        doReturn(mSharedPreferences).when(mPreferenceManager).getSharedPreferences();
-        mPreferenceCategory = spy(new PreferenceCategory(mContext));
-        doReturn(mPreferenceManager).when(mPreferenceCategory).getPreferenceManager();
-
-        mNetworkSelectSettings = spy(new NetworkSelectSettings());
-        doReturn(mContext).when(mNetworkSelectSettings).getContext();
-        doReturn(mPreferenceManager).when(mNetworkSelectSettings).getPreferenceManager();
-        doReturn(mContext).when(mPreferenceManager).getContext();
-
-        mNetworkSelectSettings.mTelephonyManager = mTelephonyManager;
-        mNetworkSelectSettings.mPreferenceCategory = mPreferenceCategory;
-        mNetworkSelectSettings.mCellInfoList = Arrays.asList(mCellInfo1, mCellInfo2);
-    }
-
-    @Test
-    public void updateAllPreferenceCategory_correctOrderingPreference() {
-        mNetworkSelectSettings.updateAllPreferenceCategory();
-
-        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(2);
-        final NetworkOperatorPreference preference =
-                (NetworkOperatorPreference) mPreferenceCategory.getPreference(1);
-        assertThat(preference.getOperatorName()).isEqualTo(mCellId2.getOperatorAlphaLong());
-    }
-
-    @Test
-    public void updateForbiddenPlmns_forbiddenPlmnsNull_shouldNotCrash() {
-        when(mTelephonyManager.getForbiddenPlmns()).thenReturn(null);
-
-        // Should not Crash
-        mNetworkSelectSettings.updateForbiddenPlmns();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/notification/AppNotificationSettingsTest.java b/tests/unit/src/com/android/settings/notification/AppNotificationSettingsTest.java
deleted file mode 100644
index 19b1360..0000000
--- a/tests/unit/src/com/android/settings/notification/AppNotificationSettingsTest.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.notification;
-
-import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.intent.Intents.intended;
-import static androidx.test.espresso.intent.matcher.IntentMatchers.hasExtra;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
-import static androidx.test.espresso.matcher.ViewMatchers.withId;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
-
-import static org.hamcrest.Matchers.allOf;
-import static org.junit.Assert.fail;
-
-import android.app.Instrumentation;
-import android.app.NotificationChannel;
-import android.app.NotificationChannelGroup;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.support.test.uiautomator.UiDevice;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.espresso.intent.Intents;
-import androidx.test.espresso.matcher.ViewMatchers;
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class AppNotificationSettingsTest {
-    private static final String WM_DISMISS_KEYGUARD_COMMAND = "wm dismiss-keyguard";
-
-    private UiDevice mUiDevice;
-    private Context mTargetContext;
-    private Instrumentation mInstrumentation;
-
-    NotificationManager mNm;
-    private NotificationChannelGroup mGroup1;
-    private NotificationChannel mGroup1Channel1;
-    private NotificationChannel mGroup1Channel2;
-    private NotificationChannelGroup mGroup2;
-    private NotificationChannel mGroup2Channel1;
-    private NotificationChannel mUngroupedChannel;
-
-    @Before
-    public void setUp() throws Exception {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mTargetContext = mInstrumentation.getTargetContext();
-
-        mUiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mUiDevice.wakeUp();
-        mUiDevice.executeShellCommand(WM_DISMISS_KEYGUARD_COMMAND);
-
-        mNm  = (NotificationManager) mTargetContext.getSystemService(Context.NOTIFICATION_SERVICE);
-
-        mGroup1 = new NotificationChannelGroup(this.getClass().getName() + "1", "group1");
-        mGroup2 = new NotificationChannelGroup(this.getClass().getName() + "2", "group2");
-        mNm.createNotificationChannelGroup(mGroup1);
-        mNm.createNotificationChannelGroup(mGroup2);
-
-        mGroup1Channel1 = createChannel(mGroup1, this.getClass().getName()+ "c1-1");
-        mGroup1Channel2 = createChannel(mGroup1, this.getClass().getName()+ "c1-2");
-        mGroup2Channel1 = createChannel(mGroup2, this.getClass().getName()+ "c2-1");
-        mUngroupedChannel = createChannel(null, this.getClass().getName()+ "c");
-    }
-
-    @Test
-    public void launchNotificationSetting_shouldNotHaveAppInfoLink() {
-        final Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
-                .putExtra(Settings.EXTRA_APP_PACKAGE, mTargetContext.getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
-        mInstrumentation.startActivitySync(intent);
-
-        onView(allOf(withId(android.R.id.button1),
-                withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))
-                .check(doesNotExist());
-    }
-
-    @Test
-    public void launchNotificationSetting_showGroupsWithMultipleChannels() {
-        final Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
-                .putExtra(Settings.EXTRA_APP_PACKAGE, mTargetContext.getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mInstrumentation.startActivitySync(intent);
-        onView(allOf(withText(mGroup1.getName().toString()))).check(
-                matches(isDisplayed()));
-        onView(allOf(withText(mGroup1Channel1.getName().toString()))).check(
-                matches(isDisplayed()));
-        onView(allOf(withText(mGroup1Channel2.getName().toString()))).check(
-                matches(isDisplayed()));
-    }
-
-    @Test
-    public void launchNotificationSetting_showUngroupedChannels() {
-        final Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
-                .putExtra(Settings.EXTRA_APP_PACKAGE, mTargetContext.getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mInstrumentation.startActivitySync(intent);
-        onView(allOf(withText(mUngroupedChannel.getName().toString())))
-                .check(matches(isDisplayed()));
-    }
-
-    @Test
-    public void launchNotificationSetting_showGroupsWithOneChannel() {
-        final Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS)
-                .putExtra(Settings.EXTRA_APP_PACKAGE, mTargetContext.getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mInstrumentation.startActivitySync(intent);
-
-        onView(allOf(withText(mGroup2.getName().toString())))
-                .check(matches(isDisplayed()));
-        onView(allOf(withText(mGroup2Channel1.getName().toString())))
-                .check(matches(isDisplayed()));
-    }
-
-    private NotificationChannel createChannel(NotificationChannelGroup group,
-            String id) {
-        NotificationChannel channel = new NotificationChannel(id, id, IMPORTANCE_DEFAULT);
-        if (group != null) {
-            channel.setGroup(group.getId());
-        }
-        mNm.createNotificationChannel(channel);
-        return channel;
-    }
-}
diff --git a/tests/unit/src/com/android/settings/notification/ZenModeSettingsIntegrationTest.java b/tests/unit/src/com/android/settings/notification/ZenModeSettingsIntegrationTest.java
deleted file mode 100644
index 4120a07..0000000
--- a/tests/unit/src/com/android/settings/notification/ZenModeSettingsIntegrationTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package com.android.settings;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.support.test.uiautomator.UiDevice;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.LargeTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@LargeTest
-public class ZenModeSettingsIntegrationTest {
-    private static final String WM_DISMISS_KEYGUARD_COMMAND = "wm dismiss-keyguard";
-
-    private Context mContext;
-    private UiDevice mUiDevice;
-
-    @Before
-    public void setUp() throws Exception {
-        mContext = InstrumentationRegistry.getTargetContext();
-        mUiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mUiDevice.wakeUp();
-        mUiDevice.executeShellCommand(WM_DISMISS_KEYGUARD_COMMAND);
-    }
-
-    @Test
-    public void testZenModeSettingsPreferences() {
-        launchZenSettings();
-        onView(withText("Calls")).check(matches(isDisplayed()));
-        onView(withText("SMS, MMS, and messaging apps")).check(matches(isDisplayed()));
-        onView(withText("Restrict notifications")).check(matches(isDisplayed()));
-        onView(withText("Duration")).check(matches(isDisplayed()));
-        onView(withText("Schedules")).check(matches(isDisplayed()));
-    }
-
-    @Test
-    public void testZenModeBehaviorPreferences() {
-        launchZenBehaviorSettings();
-        onView(withText("Calls")).check(matches(isDisplayed()));
-        onView(withText("SMS, MMS, and messaging apps")).check(matches(isDisplayed()));
-        onView(withText("Restrict notifications")).check(matches(isDisplayed()));
-        onView(withText("Duration")).check(matches(isDisplayed()));
-        onView(withText("Schedules")).check(matches(isDisplayed()));
-    }
-
-    @Test
-    public void testZenModeAutomationPreferences() {
-        launchZenAutomationSettings();
-        onView(withText("Sleeping")).check(matches(isDisplayed()));
-        onView(withText("Event")).check(matches(isDisplayed()));
-        onView(withText("Add more")).check(matches(isDisplayed()));
-    }
-
-    private void launchZenSettings() {
-        Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_SETTINGS)
-                .setPackage(mContext.getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mContext.startActivity(settingsIntent);
-    }
-
-    private void launchZenAutomationSettings() {
-        Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_AUTOMATION_SETTINGS)
-                .setPackage(mContext.getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mContext.startActivity(settingsIntent);
-    }
-
-    private void launchZenBehaviorSettings() {
-        Intent settingsIntent = new Intent(Settings.ACTION_ZEN_MODE_PRIORITY_SETTINGS)
-                .setPackage(mContext.getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mContext.startActivity(settingsIntent);
-    }
-}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/unit/src/com/android/settings/password/ChooseLockGenericTest.java
deleted file mode 100644
index 4b539cc..0000000
--- a/tests/unit/src/com/android/settings/password/ChooseLockGenericTest.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.password;
-
-import static androidx.test.InstrumentationRegistry.getInstrumentation;
-import static androidx.test.InstrumentationRegistry.getTargetContext;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertTrue;
-
-import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.ActivityManager.AppTask;
-import android.app.KeyguardManager;
-import android.app.admin.DevicePolicyManager;
-import android.content.Context;
-import android.content.Intent;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject;
-import android.support.test.uiautomator.UiSelector;
-import android.text.format.DateUtils;
-import android.view.WindowManager;
-
-import androidx.test.filters.MediumTest;
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-import androidx.test.runner.lifecycle.ActivityLifecycleMonitorRegistry;
-import androidx.test.runner.lifecycle.Stage;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.internal.widget.LockscreenCredential;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.Collection;
-import java.util.List;
-
-/**
- * Tests for {@link ChooseLockGenericTest}
- *
- * m SettingsTests &&
- * adb install \
- * -r -g  ${ANDROID_PRODUCT_OUT}/data/app/SettingsTests/SettingsTests.apk &&
- * adb shell am instrument -e class com.android.settings.password.ChooseLockGenericTest \
- * -w com.android.settings.tests/androidx.test.runner.AndroidJUnitRunner
- */
-@RunWith(AndroidJUnit4.class)
-@MediumTest
-public class ChooseLockGenericTest {
-    private static final long TIMEOUT = 5 * DateUtils.SECOND_IN_MILLIS;
-    private static final Intent PHISHING_ATTACK_INTENT = new Intent()
-            .putExtra("confirm_credentials", false)
-            .putExtra("password_confirmed", true);
-
-    private UiDevice mDevice;
-    private Context mTargetContext;
-    private String mSettingPackage;
-
-    @Rule
-    public ActivityTestRule<ChooseLockGeneric> mChooseLockGenericActivityRule =
-            new ActivityTestRule<>(
-                    ChooseLockGeneric.class,
-                    true /* enable touch at launch */,
-                    false /* don't launch at every test */);
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(getInstrumentation());
-        mTargetContext = getInstrumentation().getTargetContext();
-        mSettingPackage = mTargetContext.getPackageName();
-    }
-
-    @Test
-    public void testConfirmLockPasswordShown_deviceWithPassword() throws Throwable {
-        setPassword();
-        try {
-            // GIVEN a PIN password is set on this device at set up.
-            // WHEN ChooseLockGeneric is launched with no extras.
-            mChooseLockGenericActivityRule.launchActivity(null /* No extras */);
-            // THEN ConfirmLockPassword.InternalActivity is shown.
-            final Activity activity = getCurrentActivity();
-            assertThat(isSecureWindow(activity)).isTrue();
-            assertThat(activity)
-                    .isInstanceOf(ConfirmLockPassword.InternalActivity.class);
-        } finally {
-            finishAllAppTasks();
-            mDevice.waitForIdle();
-            clearPassword();
-        }
-    }
-
-    @Test
-    public void testConfirmLockPasswordShown_deviceWithPassword_phishingAttack() throws Throwable {
-        setPassword();
-        try {
-            // GIVEN a PIN password is set on this device at set up.
-            // WHEN ChooseLockGeneric is launched with extras to by-pass lock password confirmation.
-            mChooseLockGenericActivityRule.launchActivity(PHISHING_ATTACK_INTENT);
-            // THEN ConfirmLockPassword.InternalActivity is still shown.
-            final Activity activity = getCurrentActivity();
-            assertThat(isSecureWindow(activity)).isTrue();
-            assertThat(activity)
-                    .isInstanceOf(ConfirmLockPassword.InternalActivity.class);
-        } finally {
-            finishAllAppTasks();
-            mDevice.waitForIdle();
-            clearPassword();
-        }
-    }
-
-    @Test
-    public void testForFingerprint_inflateLayout() {
-        mChooseLockGenericActivityRule.launchActivity(new Intent()
-                .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, true));
-
-        assertThat(mChooseLockGenericActivityRule.getActivity().isResumed()).isTrue();
-    }
-
-    private Activity getCurrentActivity() throws Throwable {
-        getInstrumentation().waitForIdleSync();
-        final Activity[] activity = new Activity[1];
-        getInstrumentation().runOnMainSync(() -> {
-            Collection<Activity> activities = ActivityLifecycleMonitorRegistry.getInstance()
-                    .getActivitiesInStage(Stage.RESUMED);
-            activity[0] = activities.iterator().next();
-        });
-        return activity[0];
-    }
-
-    /** Sets a PIN password, 12345, for testing. */
-    private void setPassword() throws Exception {
-        Intent newPasswordIntent = new Intent(getTargetContext(), ChooseLockGeneric.class)
-                .putExtra(LockPatternUtils.PASSWORD_TYPE_KEY,
-                        DevicePolicyManager.PASSWORD_QUALITY_NUMERIC)
-                .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD,
-                        LockscreenCredential.createPin("12345"))
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        getInstrumentation().getContext().startActivity(newPasswordIntent);
-        mDevice.waitForIdle();
-
-
-        // Ignore any interstitial options
-        UiObject view = new UiObject(new UiSelector()
-                .resourceId(mSettingPackage + ":id/encrypt_dont_require_password"));
-        if (view.waitForExists(TIMEOUT)) {
-            view.click();
-            mDevice.waitForIdle();
-        }
-
-        // Set our PIN
-        view = new UiObject(new UiSelector()
-                .resourceId(mSettingPackage + ":id/password_entry"));
-        assertTrue("password_entry", view.waitForExists(TIMEOUT));
-
-        // Enter it twice to confirm
-        enterTestPin(view);
-        enterTestPin(view);
-
-        // Dismiss notifications setting
-        view = new UiObject(new UiSelector()
-                .resourceId(mSettingPackage + ":id/redaction_done_button"));
-        if (view.waitForExists(TIMEOUT)) {
-            view.click();
-            mDevice.waitForIdle();
-        }
-
-        mDevice.pressBack();
-
-        assertThat(getTargetContext().getSystemService(KeyguardManager.class).isDeviceSecure())
-                .isTrue();
-    }
-
-    /** Clears the previous set PIN password. */
-    private void clearPassword() throws Exception {
-        Intent newPasswordIntent = new Intent(getTargetContext(), ChooseLockGeneric.class)
-                .putExtra(LockPatternUtils.PASSWORD_TYPE_KEY,
-                        DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED)
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
-                        | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-        getInstrumentation().getContext().startActivity(newPasswordIntent);
-        mDevice.waitForIdle();
-
-        // Enter current PIN
-        UiObject view = new UiObject(
-                new UiSelector().resourceId(mSettingPackage + ":id/password_entry"));
-        if (!view.waitForExists(TIMEOUT)) {
-            // Odd, maybe there is a crash dialog showing; try dismissing it
-            mDevice.pressBack();
-            mDevice.waitForIdle();
-
-            assertTrue("password_entry", view.waitForExists(TIMEOUT));
-        }
-
-        enterTestPin(view);
-
-        mDevice.pressBack();
-
-        assertThat(getTargetContext().getSystemService(KeyguardManager.class).isDeviceSecure())
-                .isFalse();
-    }
-
-    private void finishAllAppTasks() {
-        final ActivityManager activityManager =
-                getTargetContext().getSystemService(ActivityManager.class);
-        final List<AppTask> appTasks = activityManager.getAppTasks();
-        for (ActivityManager.AppTask task : appTasks) {
-            task.finishAndRemoveTask();
-        }
-    }
-
-    private void enterTestPin(UiObject view) throws Exception {
-        mDevice.waitForIdle();
-        view.setText("12345");
-        mDevice.pressEnter();
-        mDevice.waitForIdle();
-    }
-
-    private boolean isSecureWindow(Activity activity) {
-        return (activity.getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_SECURE)
-                != 0;
-    }
-}
diff --git a/tests/unit/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/unit/src/com/android/settings/password/ChooseLockPasswordTest.java
deleted file mode 100644
index e12390c..0000000
--- a/tests/unit/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2017 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT 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.password;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.pressKey;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.isEnabled;
-import static androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
-import static androidx.test.espresso.matcher.ViewMatchers.withId;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.hamcrest.CoreMatchers.not;
-
-import android.app.Activity;
-import android.app.Instrumentation;
-import android.content.Context;
-import android.content.Intent;
-import android.view.KeyEvent;
-import android.view.View;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.espresso.action.ViewActions;
-import androidx.test.espresso.matcher.ViewMatchers;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.R;
-
-import com.google.android.setupcompat.PartnerCustomizationLayout;
-import com.google.android.setupcompat.template.FooterBarMixin;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class ChooseLockPasswordTest {
-    private Instrumentation mInstrumentation;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mContext = mInstrumentation.getTargetContext();
-    }
-
-    @Test
-    public void clearIsNotShown_when_activityLaunchedInitially() {
-        final Activity activity =
-                mInstrumentation.startActivitySync(new Intent(mContext, ChooseLockPassword.class)
-                        .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
-        final PartnerCustomizationLayout layout = activity.findViewById(R.id.setup_wizard_layout);
-        assertThat(
-                layout.getMixin(FooterBarMixin.class).getSecondaryButtonView().getVisibility())
-                        .isEqualTo(View.GONE);
-    }
-
-    @Test
-    public void clearIsNotShown_when_nothingEntered() {
-        final Activity activity =
-                mInstrumentation.startActivitySync(new Intent(mContext, ChooseLockPassword.class));
-        final PartnerCustomizationLayout layout = activity.findViewById(R.id.setup_wizard_layout);
-        onView(withId(R.id.password_entry)).perform(ViewActions.typeText("1234"))
-                .perform(pressKey(KeyEvent.KEYCODE_ENTER));
-        assertThat(
-                layout.getMixin(FooterBarMixin.class).getSecondaryButtonView().getVisibility())
-                        .isEqualTo(View.GONE);
-    }
-
-    @Test
-    public void clearIsShown_when_somethingEnteredToConfirm() {
-        final Activity activity =
-                mInstrumentation.startActivitySync(new Intent(mContext, ChooseLockPassword.class));
-        final PartnerCustomizationLayout layout = activity.findViewById(R.id.setup_wizard_layout);
-        onView(withId(R.id.password_entry)).perform(ViewActions.typeText("1234"))
-                .perform(pressKey(KeyEvent.KEYCODE_ENTER))
-                .perform(ViewActions.typeText("1"));
-        // clear should be present if text field contains content
-        assertThat(layout.getMixin(FooterBarMixin.class).getSecondaryButtonView().getText())
-                .isEqualTo(mContext.getString(R.string.lockpassword_clear_label));
-        assertThat(
-                layout.getMixin(FooterBarMixin.class).getSecondaryButtonView().getVisibility())
-                        .isEqualTo(View.VISIBLE);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/password/ConfirmLockPasswordTest.java b/tests/unit/src/com/android/settings/password/ConfirmLockPasswordTest.java
deleted file mode 100644
index 321284f..0000000
--- a/tests/unit/src/com/android/settings/password/ConfirmLockPasswordTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.password;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.pressKey;
-import static androidx.test.espresso.action.ViewActions.typeText;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.withId;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import android.app.Instrumentation;
-import android.content.Context;
-import android.content.Intent;
-import android.view.KeyEvent;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class ConfirmLockPasswordTest {
-
-    private Instrumentation mInstrumentation;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mContext = mInstrumentation.getTargetContext();
-    }
-
-    @Test
-    public void enterWrongPin_shouldShowErrorMessage() {
-        mInstrumentation.startActivitySync(
-                new Intent(mContext, ConfirmLockPassword.class));
-        onView(withId(R.id.password_entry)).perform(typeText("1234"))
-                .perform(pressKey(KeyEvent.KEYCODE_ENTER));
-        onView(withId(R.id.errorText)).check(matches(withText(R.string.lockpassword_invalid_pin)));
-    }
-
-    @Test
-    public void enterWrongPin_darkTheme_shouldShowErrorMessage() {
-        mInstrumentation.startActivitySync(
-                new Intent(mContext, ConfirmLockPassword.class)
-                        .putExtra(ConfirmDeviceCredentialBaseFragment.DARK_THEME, true));
-        onView(withId(R.id.password_entry)).perform(typeText("1234"))
-                .perform(pressKey(KeyEvent.KEYCODE_ENTER));
-        onView(withId(R.id.errorText)).check(matches(withText(R.string.lockpassword_invalid_pin)));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/password/SetupChooseLockGenericTest.java b/tests/unit/src/com/android/settings/password/SetupChooseLockGenericTest.java
deleted file mode 100644
index b0ca636..0000000
--- a/tests/unit/src/com/android/settings/password/SetupChooseLockGenericTest.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.password;
-
-import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
-
-import static androidx.test.InstrumentationRegistry.getInstrumentation;
-import static androidx.test.InstrumentationRegistry.getTargetContext;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiSelector;
-
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-import androidx.test.runner.lifecycle.ActivityLifecycleMonitorRegistry;
-import androidx.test.runner.lifecycle.Stage;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.Collection;
-
-/**
- * Tests for {@link SetupChooseLockGenericTest}
- *
- */
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class SetupChooseLockGenericTest {
-
-    private UiDevice mDevice;
-    private Context mContext;
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(getInstrumentation());
-        mContext = getInstrumentation().getTargetContext();
-        Settings.Global.putInt(
-            mContext.getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 0);
-    }
-
-    @After
-    public void tearDown() {
-        Settings.Global.putInt(
-            mContext.getContentResolver(), Settings.Global.DEVICE_PROVISIONED, 1);
-    }
-
-    @Test
-    public void clickSkipFigerprintPreference_deviceNotProvisioned_shouldBeAbleToProceed()
-            throws Throwable {
-        final Intent newPasswordIntent =
-            new Intent(getTargetContext(), SetupChooseLockGeneric.class)
-            .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, true)
-            .setAction(ACTION_SET_NEW_PASSWORD)
-            .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-
-        getInstrumentation().getContext().startActivity(newPasswordIntent);
-        mDevice.waitForIdle();
-        mDevice.findObject(new UiSelector().textContains("Continue without ")).click();
-
-        final Activity activity = getCurrentActivity();
-        assertThat(activity).isInstanceOf(SetupChooseLockGeneric.InternalActivity.class);
-    }
-
-    private Activity getCurrentActivity() throws Throwable {
-        getInstrumentation().waitForIdleSync();
-        final Activity[] activity = new Activity[1];
-        getInstrumentation().runOnMainSync(() -> {
-            Collection<Activity> activities = ActivityLifecycleMonitorRegistry.getInstance()
-                    .getActivitiesInStage(Stage.RESUMED);
-            activity[0] = activities.iterator().next();
-        });
-        return activity[0];
-    }
-
-}
diff --git a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
index cc0253f..037c805 100644
--- a/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
+++ b/tests/unit/src/com/android/settings/password/SetupChooseLockPasswordAppTest.java
@@ -27,6 +27,7 @@
 import static androidx.test.espresso.matcher.ViewMatchers.withText;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
 import static org.hamcrest.CoreMatchers.not;
 
@@ -80,7 +81,7 @@
         assertThat(skipOrClearButton.getText()).isEqualTo(mContext.getString(R.string.skip_label));
         assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
         skipOrClearButton.performClick();
-        assertThat(activity.isFinishing()).named("Is finishing").isTrue();
+        assertWithMessage("Is finishing").that(activity.isFinishing()).isTrue();
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java b/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
deleted file mode 100644
index 61629e9..0000000
--- a/tests/unit/src/com/android/settings/slices/SliceDataContractTest.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.slices;
-
-import static junit.framework.Assert.fail;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.platform.test.annotations.Presubmit;
-import android.provider.SearchIndexableResource;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.core.PreferenceXmlParserUtils;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.search.Indexable;
-import com.android.settingslib.search.SearchIndexableData;
-import com.android.settingslib.search.SearchIndexableResources;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-@RunWith(AndroidJUnit4.class)
-@MediumTest
-public class SliceDataContractTest {
-
-    private static final String TAG = "SliceDataContractTest";
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-    }
-
-    @Test
-    @Presubmit
-    public void preferenceWithControllerMustHaveNonEmptyTitle()
-            throws IOException, XmlPullParserException {
-        final Set<String> nullTitleFragments = new HashSet<>();
-
-        final SearchIndexableResources resources =
-                FeatureFactory.getFactory(mContext).getSearchFeatureProvider()
-                        .getSearchIndexableResources();
-
-        for (SearchIndexableData SearchIndexableData : resources.getProviderValues()) {
-            verifyPreferenceTitle(nullTitleFragments, SearchIndexableData);
-        }
-
-        if (!nullTitleFragments.isEmpty()) {
-            final StringBuilder error = new StringBuilder(
-                    "All preferences with a controller must have a non-empty title by default, "
-                            + "found empty title in the following fragments\n");
-            for (String c : nullTitleFragments) {
-                error.append(c).append("\n");
-            }
-            fail(error.toString());
-        }
-    }
-
-    private void verifyPreferenceTitle(Set<String> nullTitleFragments,
-            SearchIndexableData searchIndexableData)
-            throws IOException, XmlPullParserException {
-
-        final String className = searchIndexableData.getTargetClass().getName();
-        final Indexable.SearchIndexProvider provider =
-                searchIndexableData.getSearchIndexProvider();
-
-        final List<SearchIndexableResource> resourcesToIndex =
-                provider.getXmlResourcesToIndex(mContext, true);
-
-        if (resourcesToIndex == null) {
-            Log.d(TAG, className + "is not providing SearchIndexableResource, skipping");
-            return;
-        }
-
-        for (SearchIndexableResource sir : resourcesToIndex) {
-            final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
-                    sir.xmlResId,
-                    PreferenceXmlParserUtils.MetadataFlag.FLAG_INCLUDE_PREF_SCREEN
-                            | PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_PREF_TITLE
-                            | PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_PREF_CONTROLLER);
-
-            for (Bundle bundle : metadata) {
-                final String controller = bundle.getString(
-                        PreferenceXmlParserUtils.METADATA_CONTROLLER);
-                if (TextUtils.isEmpty(controller)) {
-                    continue;
-                }
-                final String title = bundle.getString(PreferenceXmlParserUtils.METADATA_TITLE);
-                if (TextUtils.isEmpty(title)) {
-                    nullTitleFragments.add(className);
-                }
-            }
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/wifi/SavedNetworkSettingsTest.java b/tests/unit/src/com/android/settings/wifi/SavedNetworkSettingsTest.java
deleted file mode 100644
index 1a5f923..0000000
--- a/tests/unit/src/com/android/settings/wifi/SavedNetworkSettingsTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.wifi;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import android.content.Context;
-import android.content.Intent;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.Settings;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class SavedNetworkSettingsTest {
-
-    // Keys used to lookup resources by name (see the resourceId helper method).
-    private static final String STRING = "string";
-    private static final String WIFI_ADD_NETWORK = "wifi_add_network";
-    private static final String WIFI_NETWORK_LABEL = "wifi_ssid";
-
-    private Context mContext;
-
-    @Rule
-    public ActivityTestRule<Settings.SavedAccessPointsSettingsActivity> mActivityRule =
-            new ActivityTestRule<>(Settings.SavedAccessPointsSettingsActivity.class, true);
-
-    private int resourceId(String type, String name) {
-        return mContext.getResources().getIdentifier(name, type, mContext.getPackageName());
-    }
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-    }
-
-    private void launchSavedNetworksSettings() {
-        Intent intent = new Intent()
-                .setClassName(mContext.getPackageName(),
-                        Settings.SavedAccessPointsSettingsActivity.class.getName())
-                .setPackage(mContext.getPackageName());
-        mActivityRule.launchActivity(intent);
-    }
-
-    @Test
-    public void launchSavedNetworkSettings_shouldHaveAddNetworkField() {
-        launchSavedNetworksSettings();
-        onView(withText(resourceId(STRING, WIFI_ADD_NETWORK))).check(matches(isDisplayed()))
-                .perform(click());
-        onView(withText(resourceId(STRING, WIFI_NETWORK_LABEL))).check(matches(isDisplayed()));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
deleted file mode 100644
index e913e2c..0000000
--- a/tests/unit/src/com/android/settings/wifi/WifiCallingSettingUiTest.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/**
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.wifi;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.isCompletelyDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.isSelected;
-import static androidx.test.espresso.matcher.ViewMatchers.withResourceName;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import static org.hamcrest.CoreMatchers.allOf;
-import static org.hamcrest.CoreMatchers.anything;
-import static org.junit.Assert.assertEquals;
-import static org.junit.matchers.JUnitMatchers.containsString;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Mockito.doReturn;
-
-import android.app.Activity;
-import android.app.Instrumentation;
-import android.content.Context;
-import android.content.Intent;
-import android.support.test.uiautomator.UiDevice;
-import android.telephony.SubscriptionInfo;
-import android.telephony.ims.ImsMmTelManager;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.espresso.NoMatchingViewException;
-import androidx.test.espresso.ViewInteraction;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.ims.ImsManager;
-import com.android.internal.telephony.SubscriptionController;
-import com.android.settings.testutils.MockedServiceManager;
-
-import junit.framework.Assert;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class WifiCallingSettingUiTest {
-    private static final String SUBSCRIPTION0_NAME = "SUB0";
-    private static final String SUBSCRIPTION1_NAME = "SUB1";
-    private static final String WFC_MODE_TITLE = "Calling preference";
-    private static final String WFC_MODE_WIFI_ONLY = "Wi-Fi only";
-    private static final String WFC_MODE_WIFI_PREFERRED = "Wi-Fi preferred";
-    private static final String WFC_MODE_CELLULAR_PREFERRED = "Mobile preferred";
-
-    private Instrumentation mInstrumentation;
-    private Context mContext;
-    private UiDevice mDevice;
-    @Mock
-    SubscriptionController mSubscriptionController;
-    MockedServiceManager mMockedServiceManager;
-    protected HashMap<Integer, ImsManager> mImsManagerInstances = new HashMap<>();
-    List<SubscriptionInfo> mSils = new ArrayList();
-    @Mock
-    SubscriptionInfo mSubscriptionInfo0;
-    @Mock
-    SubscriptionInfo mSubscriptionInfo1;
-    @Mock
-    ImsManager mImsManager0;
-    @Mock
-    ImsManager mImsManager1;
-    @Mock
-    ImsMmTelManager mImsMmTelManager0;
-    @Mock
-    ImsMmTelManager mImsMmTelManager1;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mContext = mInstrumentation.getTargetContext();
-        mDevice = UiDevice.getInstance(mInstrumentation);
-
-        mMockedServiceManager = new MockedServiceManager();
-        mMockedServiceManager.replaceService("isub", mSubscriptionController);
-
-        mMockedServiceManager.replaceInstance(
-                ImsManager.class, "sImsManagerInstances", null, mImsManagerInstances);
-        mMockedServiceManager.replaceInstance(
-                SubscriptionController.class, "sInstance", null, mSubscriptionController);
-        doReturn(mSubscriptionController)
-                .when(mSubscriptionController).queryLocalInterface(anyString());
-        mImsManagerInstances.put(0, mImsManager0);
-        mImsManagerInstances.put(1, mImsManager1);
-        doReturn(mSils).when(mSubscriptionController).getActiveSubscriptionInfoList(anyString(),
-                nullable(String.class));
-        doReturn(0).when(mSubscriptionController).getPhoneId(0);
-        doReturn(1).when(mSubscriptionController).getPhoneId(1);
-        doReturn(0).when(mSubscriptionInfo0).getSubscriptionId();
-        doReturn(1).when(mSubscriptionInfo1).getSubscriptionId();
-        doReturn(0).when(mSubscriptionInfo0).getSimSlotIndex();
-        doReturn(1).when(mSubscriptionInfo1).getSimSlotIndex();
-        doReturn(SUBSCRIPTION0_NAME).when(mSubscriptionInfo0).getDisplayName();
-        doReturn(SUBSCRIPTION1_NAME).when(mSubscriptionInfo1).getDisplayName();
-
-        doReturn(true).when(mImsManager0).isWfcEnabledByPlatform();
-        doReturn(true).when(mImsManager0).isNonTtyOrTtyOnVolteEnabled();
-        doReturn(true).when(mImsManager1).isWfcEnabledByPlatform();
-        doReturn(true).when(mImsManager1).isNonTtyOrTtyOnVolteEnabled();
-
-        mDevice.wakeUp();
-        mDevice.pressMenu();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        mMockedServiceManager.restoreAllServices();
-    }
-
-    @Test
-    public void testSingleSimUi() throws InterruptedException {
-        configureSingleSim();
-        doReturn(true).when(mImsManager0).isWfcEnabledByUser();
-        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiModeSetting();
-        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
-
-        mInstrumentation.startActivitySync(createActivityIntent());
-
-        checkSingleSimUi();
-
-        try {
-            mDevice.setOrientationLeft();
-        } catch (Exception e) {
-            Assert.fail("Exception " + e);
-        }
-
-        // Re-check after rotation. Fragment should be recreated properly.
-        checkSingleSimUi();
-
-        try {
-            mDevice.setOrientationNatural();
-        } catch (Exception e) {
-            Assert.fail("Exception " + e);
-        }
-
-        // Re-check after rotation. Fragment should be resumed properly.
-        checkSingleSimUi();
-    }
-
-    private void checkSingleSimUi() {
-        assertEquals(false, checkExists(onView(withText(SUBSCRIPTION0_NAME))));
-        assertEquals(false, checkExists(onView(withText(SUBSCRIPTION1_NAME))));
-        assertEquals(true, checkExists(onView(withText(WFC_MODE_TITLE))));
-        assertEquals(true, checkExists(onView(withText(WFC_MODE_WIFI_PREFERRED))));
-        checkSwitchBarStatus(true, true);
-        checkEmptyViewStatus(false);
-    }
-
-    @Test
-    public void testNoValidSub() throws InterruptedException {
-        configureDualSim();
-        doReturn(false).when(mImsManager0).isWfcEnabledByPlatform();
-        doReturn(false).when(mImsManager0).isNonTtyOrTtyOnVolteEnabled();
-        doReturn(false).when(mImsManager1).isWfcEnabledByPlatform();
-        doReturn(false).when(mImsManager1).isNonTtyOrTtyOnVolteEnabled();
-        doReturn(false).when(mImsManager0).isWfcEnabledByUser();
-        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiModeSetting();
-        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
-
-        Activity activity = mInstrumentation.startActivitySync(createActivityIntent());
-
-        assertEquals(false, checkExists(onView(withText(SUBSCRIPTION0_NAME))));
-        assertEquals(false, checkExists(onView(withText(SUBSCRIPTION1_NAME))));
-        assertEquals(false, checkExists(onView(withText(WFC_MODE_TITLE))));
-
-        checkSwitchBarStatus(false, false);
-        checkEmptyViewStatus(false);
-    }
-
-    @Test
-    public void testWfcDisabled() throws InterruptedException {
-        configureSingleSim();
-        doReturn(false).when(mImsManager0).isWfcEnabledByUser();
-        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiModeSetting();
-        doReturn(ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
-
-        Activity activity = mInstrumentation.startActivitySync(createActivityIntent());
-
-        assertEquals(false, checkExists(onView(withText(SUBSCRIPTION0_NAME))));
-        assertEquals(false, checkExists(onView(withText(SUBSCRIPTION1_NAME))));
-        assertEquals(false, checkExists(onView(withText(WFC_MODE_TITLE))));
-
-        checkSwitchBarStatus(true, false);
-        checkEmptyViewStatus(true);
-    }
-
-    @Test
-    public void testDualSimUi() throws InterruptedException {
-        configureDualSim();
-        doReturn(true).when(mImsManager0).isWfcEnabledByUser();
-        doReturn(false).when(mImsManager1).isWfcEnabledByUser();
-        doReturn(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiModeSetting();
-        doReturn(ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED)
-                .when(mImsMmTelManager0).getVoWiFiRoamingModeSetting();
-
-        mInstrumentation.startActivitySync(createActivityIntent());
-
-        assertEquals(true, checkExists(onView(withText(SUBSCRIPTION0_NAME))));
-        assertEquals(true, checkExists(onView(withText(SUBSCRIPTION1_NAME))));
-        assertEquals(true, checkExists(onView(withText(WFC_MODE_TITLE))));
-        assertEquals(true, checkExists(onView(withText(WFC_MODE_CELLULAR_PREFERRED))));
-
-        onView(withText(SUBSCRIPTION0_NAME)).check(matches(isSelected()));
-        checkSwitchBarStatus(true, true);
-        checkEmptyViewStatus(false);
-
-        // Switch to SUB1.
-        onView(withText(SUBSCRIPTION1_NAME)).perform(click());
-
-        checkSwitchBarStatus(true, false);
-        checkEmptyViewStatus(true);
-        onView(withText(SUBSCRIPTION1_NAME)).check(matches(isSelected()));
-    }
-
-    private boolean checkExists(ViewInteraction v) {
-        try {
-            v.check(matches(isCompletelyDisplayed()));
-            return true;
-        } catch (NoMatchingViewException e) {
-            return false;
-        }
-    }
-
-    private Intent createActivityIntent() {
-        Intent intent = new Intent(mContext,
-                com.android.settings.Settings.WifiCallingSettingsActivity.class);
-        intent.setPackage("com.android.settings");
-        intent.setAction("android.intent.action.MAIN");
-        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        return intent;
-    }
-
-    private void configureSingleSim() {
-        mSils.clear();
-        mSils.add(mSubscriptionInfo0);
-    }
-
-    private void configureDualSim() {
-        mSils.clear();
-        mSils.add(mSubscriptionInfo0);
-        mSils.add(mSubscriptionInfo1);
-    }
-
-    private void checkSwitchBarStatus(boolean shouldDisplay, boolean statusOn) {
-        if (shouldDisplay) {
-            try {
-                onView(allOf(withResourceName("switch_text"), isCompletelyDisplayed()))
-                        .check(matches(withText(containsString(statusOn ? "On" : "Off"))));
-            } catch (Exception e) {
-                Assert.fail("Exception " + e);
-            }
-        } else {
-            onView(allOf(withResourceName("switch_text"), isCompletelyDisplayed()))
-                    .check(doesNotExist());
-        }
-    }
-
-    private void checkEmptyViewStatus(boolean shouldDisplay) {
-        try {
-            if (!shouldDisplay) {
-                onView(allOf(withResourceName("empty"), isCompletelyDisplayed()))
-                        .check(doesNotExist());
-            } else {
-                onView(allOf(withResourceName("empty"), isCompletelyDisplayed()))
-                        .check(matches(anything()));
-            }
-        } catch (Exception e) {
-            Assert.fail("Exception " + e);
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java b/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
deleted file mode 100644
index 4c9b3c5..0000000
--- a/tests/unit/src/com/android/settings/wifi/WifiSettingsUiTest.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.wifi;
-
-import static androidx.test.InstrumentationRegistry.getInstrumentation;
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.Visibility.VISIBLE;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.hamcrest.Matchers.allOf;
-import static org.hamcrest.Matchers.startsWith;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.wifi.WifiManager;
-import android.provider.Settings;
-import android.support.test.uiautomator.UiDevice;
-
-import androidx.fragment.app.Fragment;
-import androidx.test.InstrumentationRegistry;
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.Settings.WifiSettingsActivity;
-import com.android.settingslib.utils.ThreadUtils;
-import com.android.wifitrackerlib.WifiEntry;
-import com.android.wifitrackerlib.WifiPickerTracker;
-
-import com.google.common.collect.Lists;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class WifiSettingsUiTest {
-    private static final String TEST_SSID = "Test Ssid";
-    private static final String TEST_KEY = "Test Key";
-
-    // Keys used to lookup resources by name (see the resourceId/resourceString helper methods).
-    private static final String STRING = "string";
-    private static final String WIFI_CONFIGURE_SETTINGS_PREFERENCE_TITLE =
-            "wifi_configure_settings_preference_title";
-    private static final String WIFI_SAVED_ACCESS_POINTS_LABEL = "wifi_saved_access_points_label";
-    private static final String WIFI_EMPTY_LIST_WIFI_OFF = "wifi_empty_list_wifi_off";
-    private static final String WIFI_DISPLAY_STATUS_CONNECTED = "wifi_display_status_connected";
-
-    @Mock
-    private WifiPickerTracker mWifiTracker;
-    @Mock
-    private WifiPickerTracker.WifiPickerTrackerCallback mWifiListener;
-
-    private Context mContext;
-    private UiDevice mDevice;
-
-    @Rule
-    public ActivityTestRule<WifiSettingsActivity> mActivityRule =
-            new ActivityTestRule<>(WifiSettingsActivity.class, true);
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = InstrumentationRegistry.getTargetContext();
-        mDevice = UiDevice.getInstance(getInstrumentation());
-    }
-
-    /**
-     * Helper to get around the problem that directly accessing settings resource id's from
-     * com.android.settings.R via R.(type).(name) (eg R.id.password or
-     * R.string.wifi_configure_settings_preference_title) may not work due to mismatched resource
-     * ids. See b/37714546 and b/63546650.
-     */
-    private int resourceId(String type, String name) {
-        return mContext.getResources().getIdentifier(name, type, mContext.getPackageName());
-    }
-
-    /** Similar to {@link #resourceId}, but for accessing R.string.<name> values. */
-    private String resourceString(String name) {
-        return mContext.getResources().getString(resourceId(STRING, name));
-    }
-
-    /** Launch the activity via an Intent with a String extra. */
-    private void launchActivity(String extraName, String extraValue) {
-        Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
-        if (extraName != null && extraValue != null) {
-            intent.putExtra(extraName, extraValue);
-        }
-        mActivityRule.launchActivity(intent);
-
-        List<Fragment> fragments =
-                mActivityRule.getActivity().getSupportFragmentManager().getFragments();
-        assertThat(fragments.size()).isEqualTo(1);
-        ((WifiSettings) fragments.get(0)).mWifiPickerTracker = mWifiTracker;
-        mWifiListener = (WifiSettings) fragments.get(0);
-        assertThat(mWifiListener).isNotNull();
-    }
-
-    /** Helper to launch the activity with no extra. */
-    private void launchActivity() {
-        launchActivity(null, null);
-    }
-
-    private void setWifiState(int wifiState) {
-        when(mWifiTracker.getWifiState()).thenReturn(wifiState);
-    }
-
-    @Test
-    public void launchActivityShouldSucceed() {
-        launchActivity();
-    }
-
-    @Test
-    public void shouldShowWifiPreferences() {
-        launchActivity();
-
-        onView(withText(resourceId(STRING, WIFI_CONFIGURE_SETTINGS_PREFERENCE_TITLE))).check(
-                matches(isDisplayed()));
-    }
-
-    @Test
-    public void noSavedNetworks_wifiDisabled_shouldNotShowSavedNetworksButton() {
-        setWifiState(WifiManager.WIFI_STATE_DISABLED);
-        when(mWifiTracker.getNumSavedNetworks()).thenReturn(0);
-
-        launchActivity();
-
-        onView(withText(resourceId(STRING, WIFI_SAVED_ACCESS_POINTS_LABEL))).check(
-                doesNotExist());
-    }
-
-    @Test
-    public void savedNetworksExist_shouldShowSavedNetworksButton() {
-        setWifiState(WifiManager.WIFI_STATE_ENABLED);
-        when(mWifiTracker.getNumSavedNetworks()).thenReturn(1);
-
-        launchActivity();
-        mActivityRule.getActivity().getMainThreadHandler()
-                .post(() -> mWifiListener.onNumSavedNetworksChanged());
-
-        onView(allOf(withText(resourceId(STRING, WIFI_SAVED_ACCESS_POINTS_LABEL)),
-                withEffectiveVisibility(VISIBLE))).check(matches(isDisplayed()));
-    }
-
-    @Test
-    public void onWifiStateChanged_wifiDisabled_seeOffMessage() {
-        setWifiState(WifiManager.WIFI_STATE_DISABLED);
-
-        launchActivity();
-        mActivityRule.getActivity().getMainThreadHandler()
-                .post(() -> mWifiListener.onWifiStateChanged());
-
-        onView(withText(startsWith(resourceString(WIFI_EMPTY_LIST_WIFI_OFF)))).check(
-                matches(isDisplayed()));
-    }
-
-    @Test
-    public void onWifiStateChanged_wifiEnabled_shouldNotSeeOffMessage() {
-        setWifiState(WifiManager.WIFI_STATE_ENABLED);
-
-        launchActivity();
-        mActivityRule.getActivity().getMainThreadHandler()
-                .post(() -> mWifiListener.onWifiStateChanged());
-
-        onView(withText(startsWith(resourceString(WIFI_EMPTY_LIST_WIFI_OFF)))).check(
-                doesNotExist());
-    }
-
-    @Test
-    public void onConnected_shouldSeeConnectedMessage() {
-        setWifiState(WifiManager.WIFI_STATE_ENABLED);
-        final WifiEntry wifiEntry = mock(WifiEntry.class);
-        when(wifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
-        when(wifiEntry.getSummary(false /* concise */))
-                .thenReturn(resourceString(WIFI_DISPLAY_STATUS_CONNECTED));
-        when(wifiEntry.getKey()).thenReturn(TEST_KEY);
-        when(mWifiTracker.getConnectedWifiEntry()).thenReturn(wifiEntry);
-
-        launchActivity();
-        ThreadUtils.postOnMainThread(() -> mWifiListener.onWifiEntriesChanged());
-        mDevice.waitForIdle();
-
-        onView(withText(resourceString(WIFI_DISPLAY_STATUS_CONNECTED))).check(
-                matches(isDisplayed()));
-    }
-
-    @Test
-    public void changingSecurityStateOnAp_ShouldNotCauseMultipleListItems() {
-        setWifiState(WifiManager.WIFI_STATE_ENABLED);
-
-        final WifiEntry openWifiEntry = mock(WifiEntry.class);
-        when(openWifiEntry.getTitle()).thenReturn(TEST_SSID);
-        when(openWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_NONE);
-
-        final WifiEntry eapWifiEntry = mock(WifiEntry.class);
-        when(eapWifiEntry.getTitle()).thenReturn(TEST_SSID);
-        when(eapWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
-
-        final WifiEntry wepWifiEntry = mock(WifiEntry.class);
-        when(wepWifiEntry.getTitle()).thenReturn(TEST_SSID);
-        when(wepWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_WEP);
-
-        // Return a different security state each time getWifiEntries is invoked
-        when(mWifiTracker.getWifiEntries())
-                .thenReturn(Lists.newArrayList(openWifiEntry))
-                .thenReturn(Lists.newArrayList(eapWifiEntry))
-                .thenReturn(Lists.newArrayList(wepWifiEntry));
-
-        launchActivity();
-
-        ThreadUtils.postOnMainThread(() -> mWifiListener.onWifiEntriesChanged());
-        mDevice.waitForIdle();
-        onView(withText(TEST_SSID)).check(matches(isDisplayed()));
-
-        ThreadUtils.postOnMainThread(() -> mWifiListener.onWifiEntriesChanged());
-        mDevice.waitForIdle();
-        onView(withText(TEST_SSID)).check(matches(isDisplayed()));
-
-        ThreadUtils.postOnMainThread(() -> mWifiListener.onWifiEntriesChanged());
-        mDevice.waitForIdle();
-        onView(withText(TEST_SSID)).check(matches(isDisplayed()));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragmentTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragmentTest.java
deleted file mode 100644
index 33491b6..0000000
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppChooseSavedWifiNetworkFragmentTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.dpp;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.action.ViewActions.click;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import static com.android.settings.wifi.dpp.WifiDppUtils.TAG_FRAGMENT_ADD_DEVICE;
-import static com.android.settings.wifi.dpp.WifiDppUtils.TAG_FRAGMENT_CHOOSE_SAVED_WIFI_NETWORK;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-
-import android.provider.Settings;
-import androidx.fragment.app.FragmentManager;
-import androidx.test.InstrumentationRegistry;
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class WifiDppChooseSavedWifiNetworkFragmentTest {
-    // Valid Wi-Fi DPP QR code
-    private static final String VALID_WIFI_DPP_QR_CODE = "DPP:I:SN=4774LH2b4044;M:010203040506;K:"
-            + "MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADURzxmttZoIRIPWGoQMV00XHWCAQIhXruVWOz0NjlkIA=;;";
-
-    // Keys used to lookup resources by name (see the resourceId/resourceString helper methods).
-    private static final String STRING = "string";
-    private static final String WIFI_DPP_CHOOSE_DIFFERENT_NETWORK =
-            "wifi_dpp_choose_different_network";
-    private static final String CANCEL = "cancel";
-
-    @Rule
-    public final ActivityTestRule<WifiDppConfiguratorActivity> mActivityRule =
-            new ActivityTestRule<>(WifiDppConfiguratorActivity.class, /* initialTouchMode */true,
-            /* launchActivity */ false);
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-    }
-
-    @Test
-    public void clickCancelButton_configuratorQrCodeScannerIntent_shouldPopBackStack() {
-        final Intent intent =
-                new Intent(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_SCANNER);
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WEP");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "password");
-        final WifiDppConfiguratorActivity hostActivity = mActivityRule.launchActivity(intent);
-
-        // Go to WifiDppChooseSavedWifiNetworkFragment and click the cancel button
-        final FragmentManager fragmentManager = hostActivity.getSupportFragmentManager();
-        final WifiQrCode wifiQrCode = new WifiQrCode(VALID_WIFI_DPP_QR_CODE);
-        hostActivity.runOnUiThread(() ->
-            ((WifiDppConfiguratorActivity)hostActivity).onScanWifiDppSuccess(wifiQrCode)
-        );
-        onView(withText(resourceString(WIFI_DPP_CHOOSE_DIFFERENT_NETWORK))).perform(click());
-        onView(withText(resourceString(CANCEL))).perform(click());
-
-        assertThat(fragmentManager.findFragmentByTag(TAG_FRAGMENT_ADD_DEVICE)).isNotNull();
-        assertThat(fragmentManager.findFragmentByTag(TAG_FRAGMENT_CHOOSE_SAVED_WIFI_NETWORK))
-                .isNull();
-    }
-
-    @Test
-    public void clickCancelButton_processWifiDppQrCodeIntent_shouldFinish() {
-        final Intent intent = new Intent(Settings.ACTION_PROCESS_WIFI_EASY_CONNECT_URI);
-        intent.setData(Uri.parse(VALID_WIFI_DPP_QR_CODE));
-        final WifiDppConfiguratorActivity hostActivity = mActivityRule.launchActivity(intent);
-
-        onView(withText(resourceString(CANCEL))).perform(click());
-
-        assertThat(hostActivity.isFinishing()).isEqualTo(true);
-    }
-
-    private int resourceId(String type, String name) {
-        return mContext.getResources().getIdentifier(name, type, mContext.getPackageName());
-    }
-
-    /** Similar to {@link #resourceId}, but for accessing R.string.<name> values. */
-    private String resourceString(String name) {
-        return mContext.getResources().getString(resourceId(STRING, name));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
deleted file mode 100644
index 7c87e7d..0000000
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.dpp;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.net.Uri;
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.UiDevice;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.test.InstrumentationRegistry;
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.google.android.setupdesign.GlifLayout;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class WifiDppConfiguratorActivityTest {
-    // Valid Wi-Fi DPP QR code & it's parameters
-    private static final String VALID_WIFI_DPP_QR_CODE = "DPP:I:SN=4774LH2b4044;M:010203040506;K:"
-            + "MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADURzxmttZoIRIPWGoQMV00XHWCAQIhXruVWOz0NjlkIA=;;";
-
-    @Rule
-    public final ActivityTestRule<WifiDppConfiguratorActivity> mActivityRule =
-            new ActivityTestRule<>(WifiDppConfiguratorActivity.class);
-
-    private UiDevice mDevice;
-
-    @Before
-    public void setUp() {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-    }
-
-    @Test
-    public void launchActivity_qrCodeScanner_shouldNotAutoFinish() {
-        Intent intent = new Intent(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_SCANNER);
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WEP");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "password");
-
-        mActivityRule.launchActivity(intent);
-        FragmentManager fragmentManager = mActivityRule.getActivity().getSupportFragmentManager();
-        WifiDppQrCodeScannerFragment fragment =
-                (WifiDppQrCodeScannerFragment) fragmentManager.findFragmentByTag(
-                        WifiDppUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
-
-        assertThat(fragment.getView() instanceof GlifLayout).isTrue();
-        assertThat(mActivityRule.getActivity().isFinishing()).isFalse();
-    }
-
-    @Test
-    public void launchActivity_qrCodeGenerator_shouldNotAutoFinish() {
-        Intent intent = new Intent(
-                WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WEP");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "password");
-
-        mActivityRule.launchActivity(intent);
-        FragmentManager fragmentManager = mActivityRule.getActivity().getSupportFragmentManager();
-        WifiDppQrCodeGeneratorFragment fragment =
-                (WifiDppQrCodeGeneratorFragment) fragmentManager.findFragmentByTag(
-                        WifiDppUtils.TAG_FRAGMENT_QR_CODE_GENERATOR);
-
-        assertThat(fragment.getView() instanceof GlifLayout).isTrue();
-        assertThat(mActivityRule.getActivity().isFinishing()).isFalse();
-    }
-
-    @Test
-    public void launchActivity_chooseSavedWifiNetwork_shouldNotAutoFinish() {
-        final Intent intent = new Intent(Settings.ACTION_PROCESS_WIFI_EASY_CONNECT_URI);
-        intent.setData(Uri.parse(VALID_WIFI_DPP_QR_CODE));
-
-        mActivityRule.launchActivity(intent);
-
-        assertThat(mActivityRule.getActivity().isFinishing()).isFalse();
-    }
-
-    @Test
-    public void testActivity_shouldImplementsWifiNetworkConfigRetriever() {
-        WifiDppConfiguratorActivity activity = mActivityRule.getActivity();
-
-        assertThat(activity instanceof WifiNetworkConfig.Retriever).isTrue();
-    }
-
-    @Test
-    public void testActivity_shouldImplementsOnScanWifiDppSuccessCallback() {
-        WifiDppConfiguratorActivity activity = mActivityRule.getActivity();
-
-        assertThat(activity instanceof WifiDppQrCodeScannerFragment
-                .OnScanWifiDppSuccessListener).isTrue();
-    }
-
-    @Test
-    public void testActivity_shouldImplementsOnClickChooseDifferentNetworkCallback() {
-        WifiDppConfiguratorActivity activity = mActivityRule.getActivity();
-
-        assertThat(activity instanceof WifiDppAddDeviceFragment
-                .OnClickChooseDifferentNetworkListener).isTrue();
-    }
-
-    @Test
-    public void rotateScreen_shouldGetCorrectWifiDppQrCode() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_WIFI_DPP_QR_CODE);
-        Intent intent = new Intent(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_SCANNER);
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WEP");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "password");
-
-        // setWifiDppQrCode and check if getWifiDppQrCode correctly after rotation
-        mActivityRule.launchActivity(intent);
-        mActivityRule.getActivity().setWifiDppQrCode(wifiQrCode);
-
-        try {
-            mDevice.setOrientationLeft();
-            mDevice.setOrientationNatural();
-            mDevice.setOrientationRight();
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-
-        WifiQrCode restoredWifiDppQrCode = mActivityRule.getActivity().getWifiDppQrCode();
-        assertThat(restoredWifiDppQrCode).isNotNull();
-        assertThat(restoredWifiDppQrCode.getQrCode()).isEqualTo(VALID_WIFI_DPP_QR_CODE);
-    }
-
-    @Test
-    public void rotateScreen_shouldGetCorrectWifiNetworkConfig() {
-        final WifiNetworkConfig wifiNetworkConfig = new WifiNetworkConfig("WPA", "WifiSsid",
-                "password", /* hiddenSsid */ false, /* networkId */ 0, /* isHotspot */ true);
-        final Intent intent = new Intent(Settings.ACTION_PROCESS_WIFI_EASY_CONNECT_URI);
-        intent.setData(Uri.parse(VALID_WIFI_DPP_QR_CODE));
-
-        // setWifiNetworkConfig and check if getWifiNetworkConfig correctly after rotation
-        mActivityRule.launchActivity(intent);
-        mActivityRule.getActivity().setWifiNetworkConfig(wifiNetworkConfig);
-
-        try {
-            mDevice.setOrientationLeft();
-            mDevice.setOrientationNatural();
-            mDevice.setOrientationRight();
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-
-        WifiNetworkConfig restoredWifiNetworkConfig =
-                mActivityRule.getActivity().getWifiNetworkConfig();
-
-        assertThat(restoredWifiNetworkConfig).isNotNull();
-        assertThat(restoredWifiNetworkConfig.getSecurity()).isEqualTo("WPA");
-        assertThat(restoredWifiNetworkConfig.getSsid()).isEqualTo("WifiSsid");
-        assertThat(restoredWifiNetworkConfig.getPreSharedKey()).isEqualTo("password");
-        assertThat(restoredWifiNetworkConfig.getHiddenSsid()).isFalse();
-        assertThat(restoredWifiNetworkConfig.getNetworkId()).isEqualTo(0);
-        assertThat(restoredWifiNetworkConfig.isHotspot()).isTrue();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java
deleted file mode 100644
index aef4767..0000000
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.dpp;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class WifiDppEnrolleeActivityTest {
-    @Rule
-    public final ActivityTestRule<WifiDppEnrolleeActivity> mActivityRule =
-            new ActivityTestRule<>(WifiDppEnrolleeActivity.class);
-
-    @Test
-    public void testActivity_shouldImplementsOnScanWifiDppSuccessCallback() {
-        WifiDppEnrolleeActivity activity = mActivityRule.getActivity();
-
-        assertThat(activity instanceof WifiDppQrCodeScannerFragment
-                .OnScanWifiDppSuccessListener).isEqualTo(true);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragmentTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragmentTest.java
deleted file mode 100644
index 239f525..0000000
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragmentTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.dpp;
-
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class WifiDppQrCodeGeneratorFragmentTest {
-    @Rule
-    public final ActivityTestRule<WifiDppConfiguratorActivity> mActivityRule =
-            new ActivityTestRule<>(WifiDppConfiguratorActivity.class, true);
-
-    @Before
-    public void setUp() {
-        Intent intent =
-                new Intent(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WEP");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
-        mActivityRule.launchActivity(intent);
-    }
-
-    @Test
-    public void rotateScreen_shouldNotCrash() {
-        mActivityRule.getActivity().setRequestedOrientation(
-                ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
-        mActivityRule.getActivity().setRequestedOrientation(
-                ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragmentTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragmentTest.java
deleted file mode 100644
index d633689..0000000
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragmentTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.dpp;
-
-import static com.android.settings.wifi.dpp.WifiDppUtils.TAG_FRAGMENT_QR_CODE_SCANNER;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-
-import androidx.fragment.app.FragmentManager;
-import androidx.test.InstrumentationRegistry;
-import androidx.test.rule.ActivityTestRule;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class WifiDppQrCodeScannerFragmentTest {
-    @Rule
-    public final ActivityTestRule<WifiDppConfiguratorActivity> mActivityRule =
-            new ActivityTestRule<>(WifiDppConfiguratorActivity.class, true);
-
-    @Before
-    public void setUp() {
-        Intent intent = new Intent(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_SCANNER);
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WEP");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_SSID, "GoogleGuest");
-        intent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "password");
-        mActivityRule.launchActivity(intent);
-    }
-
-    @Test
-    public void rotateScreen_shouldNotCrash() {
-        mActivityRule.getActivity().setRequestedOrientation(
-                ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
-        mActivityRule.getActivity().setRequestedOrientation(
-                ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
-    }
-
-    @Test
-    public void onPause_shouldNotDecodeQrCode() {
-        final WifiDppConfiguratorActivity hostActivity =
-                (WifiDppConfiguratorActivity) mActivityRule.getActivity();
-        final FragmentManager fragmentManager = hostActivity.getSupportFragmentManager();
-        final WifiDppQrCodeScannerFragment scannerFragment =
-                (WifiDppQrCodeScannerFragment) fragmentManager
-                .findFragmentByTag(TAG_FRAGMENT_QR_CODE_SCANNER);
-        final Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
-
-        instrumentation.runOnMainSync(() -> {
-            instrumentation.callActivityOnPause(hostActivity);
-
-            assertThat(scannerFragment.isDecodeTaskAlive()).isEqualTo(false);
-        });
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiQrCodeTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiQrCodeTest.java
deleted file mode 100644
index e4d3a7b..0000000
--- a/tests/unit/src/com/android/settings/wifi/dpp/WifiQrCodeTest.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.dpp;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@SmallTest
-@RunWith(AndroidJUnit4.class)
-public class WifiQrCodeTest {
-    // Valid Wi-Fi DPP QR code & it's parameters
-    private static final String VALID_WIFI_DPP_QR_CODE = "DPP:I:SN=4774LH2b4044;M:010203040506;K:"
-            + "MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADURzxmttZoIRIPWGoQMV00XHWCAQIhXruVWOz0NjlkIA=;;";
-
-    private static final String PUBLIC_KEY_OF_VALID_WIFI_DPP_QR_CODE =
-            "MDkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDIgADURzxmttZoIRIPWGoQMV00XHWCAQIhXruVWOz0NjlkIA=";
-
-    private static final String INFORMATION_OF_VALID_WIFI_DPP_QR_CODE =
-            "SN=4774LH2b4044";
-
-    // Valid ZXing reader library's Wi-Fi Network config format & it's parameters
-    private static final String VALID_ZXING_WIFI_QR_CODE_WPA =
-            "WIFI:T:WPA;S:mynetwork;P:mypass;H:true;;";
-
-     // Valid ZXing reader library's Wi-Fi Network config format - security type SAE
-    private static final String VALID_ZXING_WIFI_QR_CODE_SAE =
-            "WIFI:T:SAE;S:mynetwork;P:mypass;H:true;;";
-
-    // Valid ZXing reader library's Wi-Fi Network config format - security type nopass and no password
-    private static final String VALID_ZXING_WIFI_QR_CODE_NOPASS_AND_NO_PASSWORD =
-            "WIFI:T:nopass;S:mynetwork;;";
-
-    // Valid ZXing reader library's Wi-Fi Network config format - no security and no password
-    private static final String VALID_ZXING_WIFI_QR_CODE_NO_SECURITY_AND_NO_PASSWORD =
-            "WIFI:T:;S:mynetwork;P:;H:false;;";
-
-    private static final String SECURITY_OF_VALID_ZXING_WIFI_QR_CODE_WPA = "WPA";
-    private static final String SECURITY_OF_VALID_ZXING_WIFI_QR_CODE_SAE = "SAE";
-    private static final String SECURITY_OF_VALID_ZXING_WIFI_QR_CODE_NOPASS = "nopass";
-    private static final String SSID_OF_VALID_ZXING_WIFI_QR_CODE = "mynetwork";
-    private static final String PASSWORD_OF_VALID_ZXING_WIFI_QR_CODE = "mypass";
-
-    // Valid ZXing reader library's Wi-Fi Network config format - escaped characters
-    private static final String VALID_ZXING_WIFI_QR_CODE_SPECIAL_CHARACTERS =
-            "WIFI:T:WPA;S:mynetwork;P:m\\;y\\:p\\\\a\\,ss;H:true;;";
-
-    private static final String PASSWORD_OF_VALID_ZXING_WIFI_QR_CODE_SPECIAL_CHARACTERS =
-            "m;y:p\\a,ss";
-
-    // Invalid scheme QR code
-    private static final String INVALID_SCHEME_QR_CODE = "BT:T:WPA;S:mynetwork;P:mypass;H:true;;";
-
-    // Invalid Wi-Fi DPP QR code - no public key - case 1
-    private static final String INVALID_WIFI_DPP_QR_CODE_NO_PUBLIC_KEY_1 =
-            "DPP:I:SN=4774LH2b4044;M:010203040506;K:;;";
-
-    // Invalid Wi-Fi DPP QR code - no public key - case 2
-    private static final String INVALID_WIFI_DPP_QR_CODE_NO_PUBLIC_KEY_2 =
-            "DPP:I:SN=4774LH2b4044;M:010203040506;;";
-
-    // Invalid ZXing reader library's Wi-Fi Network config format - no password
-    private static final String INVALID_ZXING_WIFI_QR_CODE_NO_PASSWORD =
-            "WIFI:T:WPA;S:mynetwork;P:;;";
-
-    // Invalid ZXing reader library's Wi-Fi Network config format - no SSID
-    private static final String INVALID_ZXING_WIFI_QR_CODE_NO_SSID =
-            "WIFI:T:WPA;P:mypass;;";
-
-    @Test
-    public void parseValidWifiDppQrCode() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_WIFI_DPP_QR_CODE);
-
-        assertEquals(WifiQrCode.SCHEME_DPP, wifiQrCode.getScheme());
-        assertEquals(PUBLIC_KEY_OF_VALID_WIFI_DPP_QR_CODE, wifiQrCode.getPublicKey());
-        assertEquals(INFORMATION_OF_VALID_WIFI_DPP_QR_CODE, wifiQrCode.getInformation());
-    }
-
-    @Test
-    public void parseValidZxingWifiQrCode() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_ZXING_WIFI_QR_CODE_WPA);
-        WifiNetworkConfig config = wifiQrCode.getWifiNetworkConfig();
-
-        assertEquals(WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG, wifiQrCode.getScheme());
-        assertNotNull(config);
-        assertEquals(SECURITY_OF_VALID_ZXING_WIFI_QR_CODE_WPA, config.getSecurity());
-        assertEquals(SSID_OF_VALID_ZXING_WIFI_QR_CODE, config.getSsid());
-        assertEquals(PASSWORD_OF_VALID_ZXING_WIFI_QR_CODE, config.getPreSharedKey());
-        assertEquals(true, config.getHiddenSsid());
-    }
-
-    @Test
-    public void parseValidZxingWifiQrCodeSae() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_ZXING_WIFI_QR_CODE_SAE);
-        WifiNetworkConfig config = wifiQrCode.getWifiNetworkConfig();
-
-        assertEquals(WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG, wifiQrCode.getScheme());
-        assertNotNull(config);
-        assertEquals(SECURITY_OF_VALID_ZXING_WIFI_QR_CODE_SAE, config.getSecurity());
-        assertEquals(SSID_OF_VALID_ZXING_WIFI_QR_CODE, config.getSsid());
-        assertEquals(PASSWORD_OF_VALID_ZXING_WIFI_QR_CODE, config.getPreSharedKey());
-        assertEquals(true, config.getHiddenSsid());
-    }
-
-    @Test
-    public void parseValidZxingWifiQrCode_noPass_and_no_password() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_ZXING_WIFI_QR_CODE_NOPASS_AND_NO_PASSWORD);
-        WifiNetworkConfig config = wifiQrCode.getWifiNetworkConfig();
-
-        assertEquals(WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG, wifiQrCode.getScheme());
-        assertNotNull(config);
-        assertEquals(SECURITY_OF_VALID_ZXING_WIFI_QR_CODE_NOPASS, config.getSecurity());
-        assertEquals(SSID_OF_VALID_ZXING_WIFI_QR_CODE, config.getSsid());
-        assertNull(config.getPreSharedKey());
-        assertEquals(false, config.getHiddenSsid());
-    }
-
-    @Test
-    public void parseValidZxingWifiQrCode_no_security_and_no_password() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_ZXING_WIFI_QR_CODE_NO_SECURITY_AND_NO_PASSWORD);
-        WifiNetworkConfig config = wifiQrCode.getWifiNetworkConfig();
-
-        assertEquals(WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG, wifiQrCode.getScheme());
-        assertNotNull(config);
-        assertEquals("", config.getSecurity());
-        assertEquals(SSID_OF_VALID_ZXING_WIFI_QR_CODE, config.getSsid());
-        assertEquals("", config.getPreSharedKey());
-        assertEquals(false, config.getHiddenSsid());
-    }
-
-    @Test
-    public void parseValidZxingWifiQrCode_specialCharacters() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_ZXING_WIFI_QR_CODE_SPECIAL_CHARACTERS);
-        WifiNetworkConfig config = wifiQrCode.getWifiNetworkConfig();
-
-        assertEquals(WifiQrCode.SCHEME_ZXING_WIFI_NETWORK_CONFIG, wifiQrCode.getScheme());
-        assertNotNull(config);
-        assertEquals(SECURITY_OF_VALID_ZXING_WIFI_QR_CODE_WPA, config.getSecurity());
-        assertEquals(SSID_OF_VALID_ZXING_WIFI_QR_CODE, config.getSsid());
-        assertEquals(PASSWORD_OF_VALID_ZXING_WIFI_QR_CODE_SPECIAL_CHARACTERS,
-                config.getPreSharedKey());
-        assertEquals(true, config.getHiddenSsid());
-    }
-
-    @Test
-    public void testRemoveBackSlash() {
-        WifiQrCode wifiQrCode = new WifiQrCode(VALID_WIFI_DPP_QR_CODE);
-
-        assertEquals("\\", wifiQrCode.removeBackSlash("\\\\"));
-        assertEquals("ab", wifiQrCode.removeBackSlash("a\\b"));
-        assertEquals("a", wifiQrCode.removeBackSlash("\\a"));
-        assertEquals("\\b", wifiQrCode.removeBackSlash("\\\\b"));
-        assertEquals("c\\", wifiQrCode.removeBackSlash("c\\\\"));
-    }
-
-    @Test
-    public void parseEmptyQrCode_shouldThrowIllegalArgumentException() {
-        try {
-            new WifiQrCode(null);
-            fail("Null QR code");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-
-        try {
-            new WifiQrCode("");
-            fail("Empty string QR code");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-
-        try {
-            new WifiQrCode("DPP:;");
-            fail("Empty content WIFI DPP QR code");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-
-        try {
-            new WifiQrCode("WIFI:;");
-            fail("Empty content ZXing WIFI QR code");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-    }
-
-    @Test
-    public void parseInvalidSchemeQrCode_shouldThrowIllegalArgumentException() {
-        try {
-            new WifiQrCode(INVALID_SCHEME_QR_CODE);
-            fail("Invalid scheme");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-    }
-
-    @Test
-    public void parseInvalidWifiDppQrCode_noPublicKey_shouldThrowIllegalArgumentException() {
-        try {
-            new WifiQrCode(INVALID_WIFI_DPP_QR_CODE_NO_PUBLIC_KEY_1);
-            fail("No public key case 1");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-
-        try {
-            new WifiQrCode(INVALID_WIFI_DPP_QR_CODE_NO_PUBLIC_KEY_2);
-            fail("No public key case 2");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-    }
-
-    @Test
-    public void parseInvalidZxingWifiQrCode_noPassword_shouldThrowIllegalArgumentException() {
-        try {
-            new WifiQrCode(INVALID_ZXING_WIFI_QR_CODE_NO_PASSWORD);
-            fail("No password");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-    }
-
-    @Test
-    public void parseInvalidZxingWifiQrCode_noSsid_shouldThrowIllegalArgumentException() {
-        try {
-            new WifiQrCode(INVALID_ZXING_WIFI_QR_CODE_NO_SSID);
-            fail("No SSID");
-        } catch (IllegalArgumentException e) {
-            // Do nothing
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java b/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
deleted file mode 100644
index 9d9cc34..0000000
--- a/tests/unit/src/com/android/settings/wifi/tether/TetherServiceTest.java
+++ /dev/null
@@ -1,396 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.tether;
-
-import static android.net.TetheringConstants.EXTRA_ADD_TETHER_TYPE;
-import static android.net.TetheringConstants.EXTRA_PROVISION_CALLBACK;
-import static android.net.TetheringConstants.EXTRA_RUN_PROVISION;
-import static android.net.TetheringManager.TETHERING_BLUETOOTH;
-import static android.net.TetheringManager.TETHERING_INVALID;
-import static android.net.TetheringManager.TETHERING_USB;
-import static android.net.TetheringManager.TETHERING_WIFI;
-import static android.net.TetheringManager.TETHER_ERROR_NO_ERROR;
-import static android.net.TetheringManager.TETHER_ERROR_PROVISIONING_FAILED;
-import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-
-import static com.android.settings.wifi.tether.TetherService.EXTRA_TETHER_PROVISIONING_RESPONSE;
-import static com.android.settings.wifi.tether.TetherService.EXTRA_TETHER_SILENT_PROVISIONING_ACTION;
-import static com.android.settings.wifi.tether.TetherService.EXTRA_TETHER_SUBID;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Activity;
-import android.app.PendingIntent;
-import android.app.usage.UsageStatsManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.ContextWrapper;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
-import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.net.TetheringManager;
-import android.net.wifi.WifiManager;
-import android.os.Bundle;
-import android.os.ResultReceiver;
-import android.os.SystemClock;
-import android.test.ServiceTestCase;
-import android.util.Log;
-
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.lang.ref.WeakReference;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-public class TetherServiceTest extends ServiceTestCase<TetherService> {
-
-    private static final String TAG = "TetherServiceTest";
-    private static final String FAKE_PACKAGE_NAME = "com.some.package.name";
-    private static final String ENTITLEMENT_PACKAGE_NAME = "com.some.entitlement.name";
-    private static final String TEST_RESPONSE_ACTION = "testProvisioningResponseAction";
-    private static final String TEST_NO_UI_ACTION = "testNoUiProvisioningRequestAction";
-    private static final int BOGUS_RECEIVER_RESULT = -5;
-    private static final int MS_PER_HOUR = 60 * 60 * 1000;
-    private static final int SHORT_TIMEOUT = 100;
-    private static final int PROVISION_TIMEOUT = 1000;
-
-    private TetherService mService;
-    private MockTetherServiceWrapper mWrapper;
-    int mLastReceiverResultCode = BOGUS_RECEIVER_RESULT;
-    private int mLastTetherRequestType = TETHERING_INVALID;
-    private int mProvisionResponse = BOGUS_RECEIVER_RESULT;
-    private ProvisionReceiver mProvisionReceiver;
-    private Receiver mResultReceiver;
-
-    @Mock private TetheringManager mTetheringManager;
-    @Mock private PackageManager mPackageManager;
-    @Mock private WifiManager mWifiManager;
-    @Mock private SharedPreferences mPrefs;
-    @Mock private Editor mPrefEditor;
-    @Captor private ArgumentCaptor<PendingIntent> mPiCaptor;
-    @Captor private ArgumentCaptor<String> mStoredTypes;
-
-    public TetherServiceTest() {
-        super(TetherService.class);
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        MockitoAnnotations.initMocks(this);
-
-        mContext = new TestContextWrapper(getContext());
-        setContext(mContext);
-
-        mResultReceiver = new Receiver(this);
-        mLastReceiverResultCode = BOGUS_RECEIVER_RESULT;
-        mProvisionResponse = Activity.RESULT_OK;
-        mProvisionReceiver = new ProvisionReceiver();
-        IntentFilter filter = new IntentFilter(TEST_NO_UI_ACTION);
-        filter.addCategory(Intent.CATEGORY_DEFAULT);
-        mContext.registerReceiver(mProvisionReceiver, filter);
-
-        final String CURRENT_TYPES = "currentTethers";
-        when(mPrefs.getString(CURRENT_TYPES, "")).thenReturn("");
-        when(mPrefs.edit()).thenReturn(mPrefEditor);
-        when(mPrefEditor.putString(eq(CURRENT_TYPES), mStoredTypes.capture())).thenReturn(
-                mPrefEditor);
-        mWrapper = new MockTetherServiceWrapper(mContext);
-
-        ResolveInfo systemAppResolveInfo = new ResolveInfo();
-        ActivityInfo systemActivityInfo = new ActivityInfo();
-        systemActivityInfo.packageName = ENTITLEMENT_PACKAGE_NAME;
-        ApplicationInfo systemAppInfo = new ApplicationInfo();
-        systemAppInfo.flags |= ApplicationInfo.FLAG_SYSTEM;
-        systemActivityInfo.applicationInfo = systemAppInfo;
-        systemAppResolveInfo.activityInfo = systemActivityInfo;
-
-        ResolveInfo nonSystemResolveInfo = new ResolveInfo();
-        ActivityInfo nonSystemActivityInfo = new ActivityInfo();
-        nonSystemActivityInfo.packageName = FAKE_PACKAGE_NAME;
-        nonSystemActivityInfo.applicationInfo = new ApplicationInfo();
-        nonSystemResolveInfo.activityInfo = nonSystemActivityInfo;
-
-        List<ResolveInfo> resolvers = new ArrayList();
-        resolvers.add(nonSystemResolveInfo);
-        resolvers.add(systemAppResolveInfo);
-        when(mPackageManager.queryBroadcastReceivers(
-                any(Intent.class), eq(PackageManager.MATCH_ALL))).thenReturn(resolvers);
-        setupService();
-        getService().setTetherServiceWrapper(mWrapper);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        mContext.unregisterReceiver(mProvisionReceiver);
-        super.tearDown();
-    }
-
-    public void testStartForProvision() {
-        runProvisioningForType(TETHERING_WIFI);
-
-        assertTrue(waitForProvisionRequest(TETHERING_WIFI));
-        assertTrue(waitForProvisionResponse(TETHER_ERROR_NO_ERROR));
-    }
-
-    public void testStartKeepsProvisionAppActive() {
-        runProvisioningForType(TETHERING_WIFI);
-
-        assertTrue(waitForProvisionRequest(TETHERING_WIFI));
-        assertTrue(waitForProvisionResponse(TETHER_ERROR_NO_ERROR));
-        assertFalse(mWrapper.isAppInactive(ENTITLEMENT_PACKAGE_NAME));
-        // Non-system handler of the intent action should stay idle.
-        assertTrue(mWrapper.isAppInactive(FAKE_PACKAGE_NAME));
-    }
-
-    public void testStartMultiple() {
-        runProvisioningForType(TETHERING_WIFI);
-
-        assertTrue(waitForProvisionRequest(TETHERING_WIFI));
-        assertTrue(waitForProvisionResponse(TETHER_ERROR_NO_ERROR));
-
-        runProvisioningForType(TETHERING_USB);
-
-        assertTrue(waitForProvisionRequest(TETHERING_USB));
-        assertTrue(waitForProvisionResponse(TETHER_ERROR_NO_ERROR));
-
-        runProvisioningForType(TETHERING_BLUETOOTH);
-
-        assertTrue(waitForProvisionRequest(TETHERING_BLUETOOTH));
-        assertTrue(waitForProvisionResponse(TETHER_ERROR_NO_ERROR));
-    }
-
-    public void testPersistTypes() {
-        runProvisioningForType(TETHERING_WIFI);
-
-        waitForProvisionRequest(TETHERING_WIFI);
-        waitForProvisionResponse(TETHER_ERROR_NO_ERROR);
-
-        runProvisioningForType(TETHERING_BLUETOOTH);
-
-        waitForProvisionRequest(TETHERING_BLUETOOTH);
-        waitForProvisionResponse(TETHER_ERROR_NO_ERROR);
-
-        shutdownService();
-        assertEquals(TETHERING_WIFI + "," + TETHERING_BLUETOOTH, mStoredTypes.getValue());
-    }
-
-    public void testFailureStopsTethering_Wifi() {
-        mProvisionResponse = Activity.RESULT_CANCELED;
-
-        runProvisioningForType(TETHERING_WIFI);
-
-        assertTrue(waitForProvisionRequest(TETHERING_WIFI));
-        assertTrue(waitForProvisionResponse(TETHER_ERROR_PROVISIONING_FAILED));
-
-        verify(mTetheringManager).stopTethering(TETHERING_WIFI);
-    }
-
-    public void testFailureStopsTethering_Usb() {
-        mProvisionResponse = Activity.RESULT_CANCELED;
-
-        runProvisioningForType(TETHERING_USB);
-
-        assertTrue(waitForProvisionRequest(TETHERING_USB));
-        assertTrue(waitForProvisionResponse(TETHER_ERROR_PROVISIONING_FAILED));
-
-        verify(mTetheringManager).stopTethering(TETHERING_USB);
-    }
-
-    public void testIgnoreOutdatedRequest() {
-        Intent intent = new Intent();
-        intent.putExtra(EXTRA_ADD_TETHER_TYPE, TETHERING_WIFI);
-        intent.putExtra(EXTRA_RUN_PROVISION, true);
-        intent.putExtra(EXTRA_TETHER_SILENT_PROVISIONING_ACTION, TEST_NO_UI_ACTION);
-        intent.putExtra(EXTRA_PROVISION_CALLBACK, mResultReceiver);
-        intent.putExtra(EXTRA_TETHER_SUBID, 1 /* Tested subId number */);
-        intent.putExtra(EXTRA_TETHER_PROVISIONING_RESPONSE, TEST_RESPONSE_ACTION);
-        startService(intent);
-
-        SystemClock.sleep(PROVISION_TIMEOUT);
-        assertEquals(TETHERING_INVALID, mLastTetherRequestType);
-        assertTrue(mWrapper.isAppInactive(ENTITLEMENT_PACKAGE_NAME));
-        assertTrue(mWrapper.isAppInactive(FAKE_PACKAGE_NAME));
-    }
-
-    private void runProvisioningForType(int type) {
-        Intent intent = new Intent();
-        intent.putExtra(EXTRA_ADD_TETHER_TYPE, type);
-        intent.putExtra(EXTRA_RUN_PROVISION, true);
-        intent.putExtra(EXTRA_TETHER_SILENT_PROVISIONING_ACTION, TEST_NO_UI_ACTION);
-        intent.putExtra(EXTRA_PROVISION_CALLBACK, mResultReceiver);
-        intent.putExtra(EXTRA_TETHER_SUBID, INVALID_SUBSCRIPTION_ID);
-        intent.putExtra(EXTRA_TETHER_PROVISIONING_RESPONSE, TEST_RESPONSE_ACTION);
-        startService(intent);
-    }
-
-    private boolean waitForAppInactive(UsageStatsManager usageStatsManager, String packageName) {
-        long startTime = SystemClock.uptimeMillis();
-        while (true) {
-            if (usageStatsManager.isAppInactive(packageName)) {
-                return true;
-            }
-            if ((SystemClock.uptimeMillis() - startTime) > PROVISION_TIMEOUT) {
-                return false;
-            }
-            SystemClock.sleep(SHORT_TIMEOUT);
-        }
-    }
-
-    private boolean waitForProvisionRequest(int expectedType) {
-        long startTime = SystemClock.uptimeMillis();
-        while (true) {
-            if (mLastTetherRequestType == expectedType) {
-                mLastTetherRequestType = TETHERING_INVALID;
-                return true;
-            }
-            if ((SystemClock.uptimeMillis() - startTime) > PROVISION_TIMEOUT) {
-                Log.v(TAG, String.format(
-                        "waitForProvisionRequest timeout: expected=%d, actual=%d",
-                        expectedType, mLastTetherRequestType));
-                return false;
-            }
-            SystemClock.sleep(SHORT_TIMEOUT);
-        }
-    }
-
-    private boolean waitForProvisionResponse(int expectedValue) {
-        long startTime = SystemClock.uptimeMillis();
-        while (true) {
-            if (mLastReceiverResultCode == expectedValue) {
-                mLastReceiverResultCode = BOGUS_RECEIVER_RESULT;
-                return true;
-            }
-            if ((SystemClock.uptimeMillis() - startTime) > PROVISION_TIMEOUT) {
-                Log.v(TAG, String.format(
-                        "waitForProvisionResponse timeout: expected=%d, actual=%d",
-                        expectedValue, mLastReceiverResultCode));
-                return false;
-            }
-            SystemClock.sleep(SHORT_TIMEOUT);
-        }
-    }
-
-    private class TestContextWrapper extends ContextWrapper {
-
-        public TestContextWrapper(Context base) {
-            super(base);
-        }
-
-        @Override
-        public SharedPreferences getSharedPreferences(String name, int mode) {
-            // Stub out prefs to control the persisted tether type list.
-            if (name == "tetherPrefs") {
-                return mPrefs;
-            }
-            return super.getSharedPreferences(name, mode);
-        }
-
-        @Override
-        public PackageManager getPackageManager() {
-            return mPackageManager;
-        }
-
-        @Override
-        public Object getSystemService(String name) {
-            if (TETHERING_SERVICE.equals(name)) {
-                return mTetheringManager;
-            } else if (WIFI_SERVICE.equals(name)) {
-                return mWifiManager;
-            }
-
-            return super.getSystemService(name);
-        }
-    }
-
-    private static final class Receiver extends ResultReceiver {
-        final WeakReference<TetherServiceTest> mTest;
-
-        Receiver(TetherServiceTest test) {
-            super(null);
-            mTest = new WeakReference<TetherServiceTest>(test);
-        }
-
-        @Override
-        protected void onReceiveResult(int resultCode, Bundle resultData) {
-            TetherServiceTest test = mTest.get();
-            if (test != null) {
-                test.mLastReceiverResultCode = resultCode;
-            }
-        }
-    };
-
-    /**
-     * Stubs out the provisioning app receiver.
-     */
-    private class ProvisionReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            mLastTetherRequestType = intent.getIntExtra("TETHER_TYPE", TETHERING_INVALID);
-            sendResponse(mProvisionResponse, context);
-        }
-
-        private void sendResponse(int response, Context context) {
-            Intent responseIntent = new Intent(TEST_RESPONSE_ACTION);
-            responseIntent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
-            responseIntent.putExtra(TetherService.EXTRA_RESULT, response);
-            context.sendBroadcast(
-                    responseIntent, android.Manifest.permission.TETHER_PRIVILEGED);
-        }
-    }
-
-    private static class MockTetherServiceWrapper
-            extends TetherService.TetherServiceWrapper {
-        private final Set<String> mActivePackages;
-
-        MockTetherServiceWrapper(Context context) {
-            super(context);
-            mActivePackages = new HashSet<>();
-        }
-
-        @Override
-        void setAppInactive(String packageName, boolean isInactive) {
-            if (!isInactive) {
-                mActivePackages.add(packageName);
-            } else {
-                mActivePackages.remove(packageName);
-            }
-        }
-
-        boolean isAppInactive(String packageName) {
-            return !mActivePackages.contains(packageName);
-        }
-
-        @Override
-        int getActiveDataSubscriptionId() {
-            return INVALID_SUBSCRIPTION_ID;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/unit/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
deleted file mode 100644
index 2de6611..0000000
--- a/tests/unit/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.tether;
-
-import static androidx.test.espresso.Espresso.onView;
-import static androidx.test.espresso.assertion.ViewAssertions.matches;
-import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
-import static androidx.test.espresso.matcher.ViewMatchers.withText;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.Settings;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class WifiTetherSettingsTest {
-
-    private static final long TIMEOUT = 2000L;
-
-    private Instrumentation mInstrumentation;
-    private Intent mTetherActivityIntent;
-    private UiDevice mDevice;
-
-    @Before
-    public void setUp() {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mDevice = UiDevice.getInstance(mInstrumentation);
-        mTetherActivityIntent = new Intent()
-                .setClassName(mInstrumentation.getTargetContext().getPackageName(),
-                        Settings.TetherSettingsActivity.class.getName())
-                .setPackage(mInstrumentation.getTargetContext().getPackageName())
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-    }
-
-    @After
-    public void tearDown() {
-        mDevice.pressHome();
-    }
-
-    @Test
-    public void launchTetherSettings_shouldHaveAllFields() {
-        launchWifiTetherActivity();
-        onView(withText("Hotspot name")).check(matches(isDisplayed()));
-        onView(withText("Hotspot password")).check(matches(isDisplayed()));
-    }
-
-    private void launchWifiTetherActivity() {
-        mInstrumentation.startActivitySync(mTetherActivityIntent);
-        onView(withText("Wi‑Fi hotspot")).perform();
-        UiObject2 item = mDevice.wait(Until.findObject(By.text("Wi‑Fi hotspot")), TIMEOUT);
-        item.click();
-    }
-}
